/*************************************************************************** * Copyright (C) 2004-2009 by Thomas Fischer * * fischer@unix-ag.uni-kl.de * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ // #define UNIQUEAPP 1 #include #include #ifdef UNIQUEAPP #include #else // UNIQUEAPP #include #endif // UNIQUEAPP #include #include #include #include #include #include #include #include "kbibtexshell.h" static const char description[] = I18N_NOOP( "A BibTeX editor for KDE" ); static const char version[] = "0.2.3.91"; static TDECmdLineOptions options[] = { { "+[URL]", I18N_NOOP( "Document to open." ), 0 }, TDECmdLineLastOption }; #ifdef UNIQUEAPP class KBibTeXApplication: public KUniqueApplication #else // UNIQUEAPP class KBibTeXApplication: public TDEApplication #endif // UNIQUEAPP { public: #ifdef UNIQUEAPP KBibTeXApplication() : KUniqueApplication() { // nothing } int newInstance() { #else // UNIQUEAPP KBibTeXApplication() : TDEApplication() { #endif // UNIQUEAPP // see if we are starting with session management if ( isRestored() ) { RESTORE( KBibTeXShell ); } else { // no session.. just start up normally TDECmdLineArgs * args = TDECmdLineArgs::parsedArgs(); if ( args->count() == 0 ) { KBibTeXShell * shell = new KBibTeXShell(); shell->show(); } else { for ( int i = 0 ; i < args->count(); i++ ) { KBibTeXShell *shell = new KBibTeXShell(); if ( shell->openURL( args->url( i ) ) ) shell->show(); else { kdDebug() << "Couldn't open file " << args->url( i ).path() << endl; KMessageBox::error( NULL, i18n( "Could not open file '%1'." ).arg( args->url( i ).path() ) ); } } } args->clear(); } #ifdef UNIQUEAPP return 0; #endif // UNIQUEAPP } }; int main( int argc, char **argv ) { TDEAboutData about( "kbibtex", I18N_NOOP( "KBibTeX" ), version, description, TDEAboutData::License_GPL, "(C) 2004-2009 Thomas Fischer", 0, "http://www.unix-ag.uni-kl.de/~fischer/kbibtex/", "fischer@unix-ag.uni-kl.de" ); about.addAuthor( "Thomas Fischer", 0, "fischer@unix-ag.uni-kl.de" ); about.setTranslator( I18N_NOOP( "NAME OF TRANSLATORS" ), I18N_NOOP( "EMAIL OF TRANSLATORS" ) ); TDECmdLineArgs::init( argc, argv, &about ); TDECmdLineArgs::addCmdLineOptions( options ); #ifdef UNIQUEAPP if ( !KUniqueApplication::start() ) { kdDebug() << "Reusing existing KBibTeX instance" << endl; return 0; } #endif // UNIQUEAPP KBibTeXApplication app; return app.exec(); }