Add more command line options (license, author, etc.).

This commit is contained in:
Andrius Štikonas 2016-07-12 23:59:01 +01:00
parent eaa9f6eaf1
commit a0ba49a26d
1 changed files with 13 additions and 11 deletions

View File

@ -44,35 +44,37 @@ int Q_DECL_IMPORT main(int argc, char* argv[])
migrate.migrate(); migrate.migrate();
KLocalizedString::setApplicationDomain("partitionmanager"); KLocalizedString::setApplicationDomain("partitionmanager");
KAboutData* aboutData = new KAboutData( KAboutData aboutData (
QStringLiteral("partitionmanager"), QStringLiteral("partitionmanager"),
xi18nc("@title", "<application>KDE Partition Manager</application>"), xi18nc("@title", "<application>KDE Partition Manager</application>"),
QStringLiteral(VERSION), QStringLiteral(VERSION),
i18nc("@title", "Manage your disks, partitions and file systems"), i18nc("@description", "Manage your disks, partitions and file systems"),
KAboutLicense::GPL_V3, KAboutLicense::GPL_V3,
i18nc("@info:credit", "© 2008-2013 Volker Lanz\n© 2012-2016 Andrius Štikonas")); i18nc("@info:credit", "© 2008-2013 Volker Lanz\n© 2012-2016 Andrius Štikonas"));
aboutData->setOrganizationDomain(QByteArray("kde.org")); aboutData.setOrganizationDomain(QByteArray("kde.org"));
aboutData->setProductName(QByteArray("partitionmanager")); aboutData.setProductName(QByteArray("partitionmanager"));
aboutData->addAuthor(i18nc("@info:credit", "Volker Lanz"), i18nc("@info:credit", "Former maintainer")); aboutData.addAuthor(i18nc("@info:credit", "Volker Lanz"), i18nc("@info:credit", "Former maintainer"));
aboutData->addAuthor(i18nc("@info:credit", "Andrius Štikonas"), i18nc("@info:credit", "Maintainer"), QStringLiteral("andrius@stikonas.eu")); aboutData.addAuthor(i18nc("@info:credit", "Andrius Štikonas"), i18nc("@info:credit", "Maintainer"), QStringLiteral("andrius@stikonas.eu"));
aboutData->addAuthor(i18n("Teo Mrnjavac"), i18nc("@info:credit", "Calamares maintainer"), QStringLiteral("teo@kde.org")); aboutData.addAuthor(i18n("Teo Mrnjavac"), i18nc("@info:credit", "Calamares maintainer"), QStringLiteral("teo@kde.org"));
aboutData->setHomepage(QStringLiteral("https://www.kde.org/applications/system/kdepartitionmanager")); aboutData.setHomepage(QStringLiteral("https://www.kde.org/applications/system/kdepartitionmanager"));
aboutData->addCredit(i18n("Hugo Pereira Da Costa"), i18nc("@info:credit", "Partition Widget Design"), QStringLiteral("hugo@oxygen-icons.org")); aboutData.addCredit(i18n("Hugo Pereira Da Costa"), i18nc("@info:credit", "Partition Widget Design"), QStringLiteral("hugo@oxygen-icons.org"));
KAboutData::setApplicationData(*aboutData); KAboutData::setApplicationData(aboutData);
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
KCrash::initialize(); KCrash::initialize();
QCommandLineParser parser; QCommandLineParser parser;
parser.setApplicationDescription(aboutData->shortDescription()); parser.setApplicationDescription(aboutData.shortDescription());
parser.addHelpOption(); parser.addHelpOption();
parser.addVersionOption(); parser.addVersionOption();
aboutData.setupCommandLine(&parser);
parser.addOption(QCommandLineOption(QLatin1Literal("dontsu"), i18nc("@info:shell", "Do not try to gain super user privileges"))); parser.addOption(QCommandLineOption(QLatin1Literal("dontsu"), i18nc("@info:shell", "Do not try to gain super user privileges")));
parser.addOption(QCommandLineOption(QLatin1Literal("advconfig"), i18nc("@info:shell", "Show advanced tab in configuration dialog"))); parser.addOption(QCommandLineOption(QLatin1Literal("advconfig"), i18nc("@info:shell", "Show advanced tab in configuration dialog")));
parser.addPositionalArgument(QStringLiteral("device"), i18nc("@info:shell", "Device(s) to manage"), QStringLiteral("[device...]")); parser.addPositionalArgument(QStringLiteral("device"), i18nc("@info:shell", "Device(s) to manage"), QStringLiteral("[device...]"));
parser.process(app); parser.process(app);
aboutData.processCommandLine(&parser);
registerMetaTypes(); registerMetaTypes();
if (!checkPermissions()) if (!checkPermissions())