summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/assistant/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/assistant/main.cpp')
-rw-r--r--tqtinterface/qt4/tools/assistant/main.cpp344
1 files changed, 0 insertions, 344 deletions
diff --git a/tqtinterface/qt4/tools/assistant/main.cpp b/tqtinterface/qt4/tools/assistant/main.cpp
deleted file mode 100644
index 2c861c8..0000000
--- a/tqtinterface/qt4/tools/assistant/main.cpp
+++ /dev/null
@@ -1,344 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the TQt Assistant.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "mainwindow.h"
-#include "helpdialogimpl.h"
-#include "config.h"
-
-#include <tqapplication.h>
-#include <tqserversocket.h>
-#include <tqsocket.h>
-#include <tqpixmap.h>
-#include <tqptrlist.h>
-#include <tqstringlist.h>
-#include <tqdir.h>
-#include <tqmessagebox.h>
-#include <tqguardedptr.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <tqtextcodec.h>
-
-#ifdef TQ_WS_WIN
-#define INDEX_CHECK( text ) if( i+1 >= argc ) { TQMessageBox::information( 0, "TQt Assistant", text ); return 1; }
-#else
-#define INDEX_CHECK( text ) if( i+1 >= argc ) { fprintf( stderr, text "\n" ); return 1; }
-#endif
-
-static bool allowFirstRun = TRUE;
-
-class AssistantSocket : public TQSocket
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- AssistantSocket( int sock, TQObject *parent = 0 );
- ~AssistantSocket() {}
-
-Q_SIGNALS:
- void showLinkRequest( const TQString& );
-
-private Q_SLOTS:
- void readClient();
- void connectionClosed();
-};
-
-
-class AssistantServer : public TQServerSocket
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- AssistantServer( TQObject* parent = 0 );
- void newConnection( int socket );
- TQ_UINT16 getPort() const;
-
-Q_SIGNALS:
- void showLinkRequest( const TQString& );
- void newConnect();
-
-private:
- TQ_UINT16 p;
-};
-
-
-AssistantSocket::AssistantSocket( int sock, TQObject *parent )
- : TQSocket( parent, 0 )
-{
- connect( this, TQT_SIGNAL( readyRead() ),
- TQT_SLOT( readClient() ) );
- connect( this, TQT_SIGNAL( connectionClosed() ),
- TQT_SLOT( connectionClosed() ) );
- setSocket( sock );
-}
-
-void AssistantSocket::readClient()
-{
- TQString link = TQString();
- while ( canReadLine() )
- link = readLine();
- if ( !link.isNull() ) {
- link = link.replace( "\n", "" );
- link = link.replace( "\r", "" );
- emit showLinkRequest( link );
- }
-}
-
-void AssistantSocket::connectionClosed()
-{
- delete this;
-}
-
-AssistantServer::AssistantServer( TQObject *parent )
- : TQServerSocket( 0x7f000001, 0, 1, parent )
-{
- if ( !ok() ) {
- TQMessageBox::critical( 0, tr( "TQt Assistant" ),
- tr( "Failed to bind to port %1" ).arg( port() ) );
- exit( 1 );
- }
- p = port();
-}
-
-TQ_UINT16 AssistantServer::getPort() const
-{
- return p;
-}
-
-void AssistantServer::newConnection( int socket )
-{
- AssistantSocket *as = new AssistantSocket( socket, this );
- connect( as, TQT_SIGNAL( showLinkRequest( const TQString& ) ),
- this, TQT_SIGNAL( showLinkRequest( const TQString& ) ) );
- emit newConnect();
-}
-
-int main( int argc, char ** argv )
-{
- bool withGUI = TRUE;
- if ( argc > 1 ) {
- TQString arg( argv[1] );
- arg = arg.lower();
- if ( arg == "-addcontentfile"
- || arg == "-removecontentfile"
-#ifndef TQ_WS_WIN
- || arg == "-help"
-#endif
- )
- withGUI = FALSE;
- }
- TQApplication a(argc, argv, withGUI);
-
- TQString resourceDir;
- AssistantServer *as = 0;
- TQStringList catlist;
- TQString file, profileName, aDocPath;
- bool server = FALSE;
- bool hideSidebar = FALSE;
- bool startClean = FALSE;
- bool configLoaded = FALSE;
- if ( argc == 2 ) {
- if ( (argv[1])[0] != '-' )
- file = argv[1];
- }
- if ( file.isEmpty() ) {
- for ( int i = 1; i < argc; i++ ) {
- if ( TQString( argv[i] ).lower() == "-file" ) {
- INDEX_CHECK( "Missing file argument!" );
- i++;
- file = argv[i];
- } else if ( TQString( argv[i] ).lower() == "-server" ) {
- server = TRUE;
- } else if ( TQString( argv[i] ).lower() == "-profile" ) {
- INDEX_CHECK( "Missing profile argument!" );
- profileName = argv[++i];
- } else if ( TQString( argv[i] ).lower() == "-addcontentfile" ) {
- INDEX_CHECK( "Missing content file!" );
- Config *c = Config::loadConfig( TQString() );
- TQFileInfo file( argv[i+1] );
- if( !file.exists() ) {
- fprintf( stderr, "Could not locate content file: '%s'\n",
- file.absFilePath().latin1() );
- fflush( stderr );
- return 1;
- }
- DocuParser *parser = DocuParser::createParser( file.absFilePath() );
- if( parser ) {
- TQFile f( argv[i+1] );
- if( !parser->parse( &f ) ) {
- fprintf( stderr, "Failed to parse file: '%s'\n, ",
- file.absFilePath().latin1() );
- fflush( stderr );
- return 1;
- }
- parser->addTo( c->profile() );
- c->setDocRebuild( TRUE );
- c->save();
- }
- return 0;
- } else if ( TQString( argv[i] ).lower() == "-removecontentfile" ) {
- INDEX_CHECK( "Missing content file!" );
- Config *c = Config::loadConfig( TQString() );
- Profile *profile = c->profile();
- TQStringList entries = profile->docs.grep(argv[i+1]);
- if (entries.count() == 0) {
- fprintf(stderr, "Could not locate content file: '%s'\n",
- argv[i+1]);
- fflush(stderr);
- return 1;
- } else if (entries.count() > 1) {
- fprintf(stderr, "More than one entry matching file name found, "
- "please specify full path to file");
- fflush(stderr);
- return 1;
- } else {
- TQFileInfo file(entries[0]);
- if( !file.exists() ) {
- fprintf( stderr, "Could not locate content file: '%s'\n",
- file.absFilePath().latin1() );
- fflush( stderr );
- return 1;
- }
- profile->removeDocFileEntry( file.absFilePath() );
- c->setDocRebuild( TRUE );
- c->save();
- }
- return 0;
- } else if ( TQString( argv[i] ).lower() == "-docpath" ) {
- INDEX_CHECK( "Missing path!" );
- TQDir dir( argv[i+1] );
- if ( dir.exists() ) {
- Config *c = Config::loadConfig( TQString() );
- c->saveProfile(Profile::createDefaultProfile(dir.absPath()));
- c->loadDefaultProfile();
- c->setDocRebuild( TRUE );
- c->save();
- configLoaded = TRUE;
- ++i;
- } else {
- fprintf( stderr, "The specified path does not exist!\n");
- fflush( stderr );
- return 1;
- }
- } else if ( TQString( argv[i] ).lower() == "-hidesidebar" ) {
- hideSidebar = TRUE;
- } else if ( TQString( argv[i] ).lower() == "-help" ) {
- TQString helpText( "Usage: assistant [option]\n"
- "Options:\n"
- " -file Filename assistant opens the specified file\n"
- " -server reads commands from a socket after\n"
- " assistant has started\n"
- " -profile fileName starts assistant and displays the\n"
- " profile specified in the file fileName.\n"
- " -addContentFile file adds the content file 'file' to the set of\n"
- " documentation available by default\n"
- " -removeContentFile file removes the content file 'file' from the\n"
- " documentation available by default\n"
- " -docPath path sets the TQt documentation root path to\n"
- " 'path' and starts assistant\n"
- " -hideSidebar assistant will hide the sidebar.\n"
- " -resourceDir assistant will load translations from\n"
- " this directory.\n"
- " -help shows this help.");
-#ifdef TQ_WS_WIN
- TQMessageBox::information( 0, "TQt Assistant", "<pre>" + helpText + "</pre>" );
-#else
- printf( "%s\n", helpText.latin1() );
-#endif
- exit( 0 );
- } else if ( TQString( argv[i] ).lower() == "-resourcedir" ) {
- INDEX_CHECK( "Missing resource directory argument!" );
- resourceDir = TQString( argv[++i] );
- } else {
- fprintf( stderr, "Unrecognized option '%s'. Try -help to get help.\n",
- argv[i] );
- fflush( stderr );
- return 1;
- }
- }
- }
-
- if( resourceDir.isNull() )
- resourceDir = qInstallPathTranslations();
-
- TQTranslator translator( 0 );
- translator.load( TQString("assistant_") + TQTextCodec::locale(), resourceDir );
- a.installTranslator( &translator );
-
- TQTranslator qtTranslator( 0 );
- qtTranslator.load( TQString("qt_") + TQTextCodec::locale(), resourceDir );
- a.installTranslator( &qtTranslator );
-
-
- Config *conf = 0;
- if (configLoaded)
- conf = Config::configuration();
- else
- conf = Config::loadConfig( profileName );
- if (!conf) {
- fprintf( stderr, "Profile '%s' does not exist!\n", profileName.latin1() );
- fflush( stderr );
- return -1;
- }
-
- bool max = conf->isMaximized();
- TQStringList links = conf->source();
- conf->hideSideBar( hideSidebar );
-
- TQGuardedPtr<MainWindow> mw = new MainWindow( 0, "Assistant" );
-
- if ( server ) {
- as = new AssistantServer();
- printf("%d\n", as->port() );
- fflush( stdout );
- as->connect( as, TQT_SIGNAL( showLinkRequest( const TQString& ) ),
- mw, TQT_SLOT( showLinkFromClient( const TQString& ) ) );
- }
-
- if ( max )
- mw->showMaximized();
- else
- mw->show();
-
- if ( !file.isEmpty() )
- mw->showLink( file );
- else if ( file.isEmpty() )
- mw->showLinks( links );
-
- a.connect( &a, TQT_SIGNAL( lastWindowClosed() ), &a, TQT_SLOT( quit() ) );
-
- int appExec = a.exec();
- delete (MainWindow*)mw;
- return appExec;
-}
-
-#include "main.tqmoc"