extern "C" KDE_EXPORT int kdemain(int argc, char **argv) { static KCmdLineOptions options[] = { { "+[directory]", I18N_NOOP("The sandbox to be loaded"), 0 }, { "resolve <file>", I18N_NOOP("Show resolve dialog for the given file"), 0 }, { "log <file>", I18N_NOOP("Show log dialog for the given file"), 0 }, { "annotate <file>", I18N_NOOP("Show annotation dialog for the given file"), 0 }, KCmdLineLastOption }; KAboutData about("cervisia", I18N_NOOP("Cervisia"), CERVISIA_VERSION, I18N_NOOP("A CVS frontend"), KAboutData::License_GPL, I18N_NOOP("Copyright (c) 1999-2002 Bernd Gehrmann\n" "Copyright (c) 2002-2007 the Cervisia authors"), 0, "http://www.kde.org/apps/cervisia"); about.addAuthor("Bernd Gehrmann", I18N_NOOP("Original author and former " "maintainer"), "*****@*****.**", 0); about.addAuthor("Christian Loose", I18N_NOOP("Maintainer"), "*****@*****.**", 0); about.addAuthor("Andr\303\251 W\303\266bbeking", I18N_NOOP("Developer"), "*****@*****.**", 0); about.addAuthor("Carlos Woelz", I18N_NOOP("Documentation"), "*****@*****.**", 0); about.addCredit("Richard Moore", I18N_NOOP("Conversion to KPart"), "*****@*****.**", 0); KCmdLineArgs::init(argc, argv, &about); KCmdLineArgs::addCmdLineOptions(options); KApplication app; QString resolvefile = KCmdLineArgs::parsedArgs()->getOption("resolve"); if (!resolvefile.isEmpty()) return ShowResolveDialog(resolvefile); // is command line option 'show log dialog' specified? QString logFile = KCmdLineArgs::parsedArgs()->getOption("log"); if( !logFile.isEmpty() ) return ShowLogDialog(logFile); // is command line option 'show annotation dialog' specified? QString annotateFile = KCmdLineArgs::parsedArgs()->getOption("annotate"); if( !annotateFile.isEmpty() ) return ShowAnnotateDialog(annotateFile); if ( app.isRestored() ) { RESTORE(CervisiaShell); } else { CervisiaShell* shell = new CervisiaShell(); const KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); if( args->count() ) { KURL directory = args->url(0); shell->openURL(directory); } else shell->openURL(); shell->setIcon(app.icon()); app.setMainWidget(shell); shell->show(); } int res = app.exec(); cleanupTempFiles(); return res; }