/* * Copyright (C) 2000 Matthias Elter * Copyright (C) 2001-2002 Raffaele Sandrini #include #include #include #include #include #include "kmenuedit.h" #ifndef Q_WS_WIN #include "khotkeys.h" #endif static const char description[] = I18N_NOOP("KDE menu editor"); static const char version[] = "1.0"; static KMenuEdit *menuEdit = 0; class KMenuApplication : public QApplication { public: KMenuApplication(int &argc, char **argv) : QApplication(argc, argv) { QCoreApplication::setApplicationName(QStringLiteral("kmenuedit")); QCoreApplication::setApplicationVersion(QString(version)); QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); QApplication::setApplicationDisplayName(i18n("KDE Menu Editor")); } #ifdef WITH_HOTKEYS virtual ~KMenuApplication() { KHotKeys::cleanup(); } #endif }; extern "C" int Q_DECL_EXPORT kdemain( int argc, char **argv ) { KAboutData aboutData(QStringLiteral("kmenuedit"), i18n("KDE Menu Editor"), QString(version), i18n(description), KAboutLicense::GPL, i18n("(C) 2000-2003, Waldo Bastian, Raffaele Sandrini, Matthias Elter")); aboutData.addAuthor(i18n("Waldo Bastian"), i18n("Maintainer"), "bastian@kde.org"); aboutData.addAuthor(i18n("Raffaele Sandrini"), i18n("Previous Maintainer"), QStringLiteral("sandrini@kde.org")); aboutData.addAuthor(i18n("Matthias Elter"), i18n("Original Author"), QStringLiteral("elter@kde.org")); aboutData.addAuthor(i18n("Montel Laurent"), QString(), QStringLiteral("montel@kde.org")); KAboutData::setApplicationData(aboutData); KMenuApplication app(argc, argv); KDBusService service(KDBusService::Unique); QCommandLineParser parser; parser.setApplicationDescription(i18n("KDE Menu Editor")); parser.addVersionOption(); parser.addHelpOption(); parser.addPositionalArgument(QStringLiteral("menu"), i18n("Sub menu to pre-select"), QStringLiteral("[menu]")); parser.addPositionalArgument(QStringLiteral("menu-id"), i18n("Menu entry to pre-select"), QStringLiteral("[menu-id]")); parser.process(app); const auto args = parser.positionalArguments(); menuEdit = new KMenuEdit(); if (!args.isEmpty()) { menuEdit->selectMenu(args.at(0)); if (args.count() > 1) { menuEdit->selectMenuEntry(args.at(1)); } } menuEdit->show(); return app.exec(); }