File indexing completed on 2024-04-14 05:46:46
0001 /* 0002 SPDX-FileCopyrightText: 2005-2007, 2009-2010 Tom Albers <toma@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <KConfigGroup> 0008 #include <KCrash> 0009 #include <KDBusService> 0010 #include <KLocalizedString> 0011 #include <KSharedConfig> 0012 #include <Kdelibs4ConfigMigrator> 0013 #include <QApplication> 0014 #include <QCommandLineParser> 0015 #include <QDebug> 0016 #include <QSessionManager> 0017 #include <kaboutdata.h> 0018 #include <kmessagebox.h> 0019 #include <kstartupinfo.h> 0020 #include <stdio.h> 0021 #include <stdlib.h> 0022 0023 #include "rsiwidget.h" 0024 0025 int main(int argc, char *argv[]) 0026 { 0027 QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true); 0028 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true); 0029 QApplication app(argc, argv); 0030 app.setQuitOnLastWindowClosed(false); 0031 0032 Kdelibs4ConfigMigrator migrate(QLatin1String("rsibreak")); 0033 migrate.setConfigFiles(QStringList() << QLatin1String("rsibreakrc") << QLatin1String("rsibreak.notifyrc")); 0034 migrate.migrate(); 0035 0036 KLocalizedString::setApplicationDomain("rsibreak"); 0037 0038 KAboutData aboutData("rsibreak", 0039 i18n("RSIBreak"), 0040 "0.12.15", 0041 i18n("Try to prevent Repetitive Strain Injury by " 0042 "reminding a user to rest."), 0043 KAboutLicense::GPL, 0044 i18n("(c) 2005-2015, The RSIBreak developers")); 0045 0046 aboutData.addAuthor(i18n("Albert Astals Cid"), i18n("Maintainer"), "aacid@kde.org"); 0047 0048 aboutData.addAuthor(i18n("Tom Albers"), i18n("Former author"), "toma@kde.org", "http://www.omat.nl"); 0049 0050 aboutData.addAuthor(i18n("Bram Schoenmakers"), i18n("Former author"), "bramschoenmakers@kde.nl"); 0051 0052 aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails")); 0053 0054 QCommandLineParser parser; 0055 KAboutData::setApplicationData(aboutData); 0056 parser.addOption(QCommandLineOption("autostart")); 0057 aboutData.setupCommandLine(&parser); 0058 parser.process(app); 0059 aboutData.processCommandLine(&parser); 0060 0061 KDBusService service(KDBusService::Unique); 0062 0063 auto disableSessionManagement = [](QSessionManager &sm) { 0064 sm.setRestartHint(QSessionManager::RestartNever); 0065 }; 0066 QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement); 0067 QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement); 0068 0069 if (parser.isSet("autostart")) { 0070 KConfigGroup config = KSharedConfig::openConfig()->group("General"); 0071 const bool autostart = config.readEntry("AutoStart", false); 0072 if (!autostart) 0073 return 0; 0074 } 0075 0076 KCrash::initialize(); 0077 0078 new RSIObject(); 0079 return app.exec(); 0080 }