File indexing completed on 2024-04-21 05:50:49

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