File indexing completed on 2024-04-28 09:46:12

0001 /*
0002     SPDX-FileCopyrightText: 2002 Jean-Baptiste Mardelle <bj@altern.org>
0003     SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Rolf Eike Beer <kde@opensource.sf-tec.de>
0004     SPDX-FileCopyrightText: 2016 Andrius Štikonas <andrius@stikonas.eu>
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "kgpg.h"
0009 
0010 #include <QCommandLineParser>
0011 #include <QDir>
0012 
0013 #include <KAboutData>
0014 #include <KCrash>
0015 #include <KDBusService>
0016 #include <KLocalizedString>
0017 
0018 int main(int argc, char *argv[])
0019 {
0020     KGpgApp app(argc, argv);
0021     KCrash::initialize();
0022     KLocalizedString::setApplicationDomain("kgpg");
0023 
0024     KAboutData about (
0025         QLatin1String("kgpg"),
0026         xi18nc("@title", "<application>KGpg</application>"),
0027         QLatin1String(KGPG_VERSION),
0028         xi18nc("@title", "KGpg - simple gui for GnuPG"),
0029         KAboutLicense::GPL,
0030         xi18nc("@info:credit", "&copy; 2003-2016, The KGpg Developers"));
0031 
0032     about.addAuthor(xi18nc("@info:credit", "Rolf Eike Beer"), i18nc("@info:credit", "Maintainer"), QStringLiteral("kde@opensource.sf-tec.de"));
0033     about.addAuthor(xi18nc("@info:credit", "Jean-Baptiste Mardelle"), i18nc("@info:credit", "Author and former maintainer"), QStringLiteral("bj@altern.org"));
0034     about.addAuthor(xi18nc("@info:credit", "Jimmy Gilles"), QString(), QStringLiteral("jimmygilles@gmail.com"));
0035     about.addAuthor(xi18nc("@info:credit", "Andrius Štikonas"), i18nc("@info:credit", "KF5 port"), QStringLiteral("andrius@stikonas.eu"));
0036 
0037     about.setHomepage(QLatin1String("https://utils.kde.org/projects/kgpg"));
0038 
0039     about.setOrganizationDomain(QByteArray("kde.org"));
0040     about.setProductName(QByteArray("kgpg"));
0041 
0042     KAboutData::setApplicationData(about);
0043 
0044     QCommandLineParser parser;
0045     parser.setApplicationDescription(about.shortDescription());
0046     about.setupCommandLine(&parser);
0047     app.setupCmdlineParser(parser);
0048 
0049     parser.process(app);
0050     about.processCommandLine(&parser);
0051 
0052     app.setQuitOnLastWindowClosed(false);
0053     KDBusService service(KDBusService::Unique);
0054 
0055     service.connect(&service, &KDBusService::activateRequested, &app, &KGpgApp::slotDBusActivation);
0056 
0057     if(!app.newInstance())
0058         return 1;
0059     app.handleArguments(parser, QDir::current());
0060 
0061     return app.exec();
0062 }