File indexing completed on 2024-04-28 16:54:25
0001 /* 0002 SPDX-FileCopyrightText: Andrew Stanley-Jones <asj@cban.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <stdio.h> 0008 #include <stdlib.h> 0009 0010 #include <KAboutData> 0011 #include <KDBusService> 0012 #include <KLocalizedString> 0013 0014 #include <QApplication> 0015 #include <QCommandLineParser> 0016 #include <QSessionManager> 0017 0018 #include "klipper.h" 0019 #include "tray.h" 0020 0021 int main(int argc, char *argv[]) 0022 { 0023 QApplication app(argc, argv); 0024 KLocalizedString::setApplicationDomain("klipper"); 0025 0026 KAboutData aboutData(QStringLiteral("klipper"), 0027 i18n("Klipper"), 0028 QStringLiteral(KLIPPER_VERSION_STRING), 0029 i18n("Plasma cut & paste history utility"), 0030 KAboutLicense::GPL, 0031 i18n("(c) 1998, Andrew Stanley-Jones\n" 0032 "1998-2002, Carsten Pfeiffer\n" 0033 "2001, Patrick Dubroy")); 0034 aboutData.addAuthor(i18n("Carsten Pfeiffer"), i18n("Author"), QStringLiteral("pfeiffer@kde.org")); 0035 0036 aboutData.addAuthor(i18n("Andrew Stanley-Jones"), i18n("Original Author"), QStringLiteral("asj@cban.com")); 0037 0038 aboutData.addAuthor(i18n("Patrick Dubroy"), i18n("Contributor"), QStringLiteral("patrickdu@corel.com")); 0039 0040 aboutData.addAuthor(i18n("Luboš Luňák"), i18n("Bugfixes and optimizations"), QStringLiteral("l.lunak@kde.org")); 0041 0042 aboutData.addAuthor(i18n("Esben Mose Hansen"), i18n("Previous Maintainer"), QStringLiteral("kde@mosehansen.dk")); 0043 0044 aboutData.addAuthor(i18n("Martin Gräßlin"), i18n("Maintainer"), QStringLiteral("mgraesslin@kde.org")); 0045 0046 aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails")); 0047 0048 KAboutData::setApplicationData(aboutData); 0049 0050 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0051 QGuiApplication::setFallbackSessionManagementEnabled(false); 0052 #endif 0053 0054 auto disableSessionManagement = [](QSessionManager &sm) { 0055 sm.setRestartHint(QSessionManager::RestartNever); 0056 }; 0057 QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement); 0058 QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement); 0059 app.setQuitOnLastWindowClosed(false); 0060 0061 QCommandLineParser parser; 0062 aboutData.setupCommandLine(&parser); 0063 parser.process(app); 0064 aboutData.processCommandLine(&parser); 0065 0066 KDBusService service(KDBusService::Unique); 0067 0068 KlipperTray klipper; 0069 return app.exec(); 0070 }