File indexing completed on 2023-09-24 11:50:56

0001 /*
0002     SPDX-FileCopyrightText: 1999-2006 Éric Bischoff <ebischoff@nerim.net>
0003     SPDX-FileCopyrightText: 2007 Albert Astals Cid <aacid@kde.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include <KLocalizedString>
0009 
0010 #include "toplevel.h"
0011 #include <KAboutData>
0012 #include <KCrash>
0013 #include <KDBusService>
0014 #include <QApplication>
0015 #include <QCommandLineParser>
0016 #include <QDir>
0017 
0018 #include "ktuberling_version.h"
0019 
0020 // Main function
0021 int main(int argc, char *argv[])
0022 {
0023   // Fixes blurry icons with fractional scaling
0024 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
0025   QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
0026 #endif
0027   QApplication app(argc, argv);
0028 
0029   KLocalizedString::setApplicationDomain("ktuberling");
0030 
0031   KAboutData aboutData( QStringLiteral("ktuberling"), i18n("KTuberling"), 
0032           KTUBERLING_VERSION_STRING, i18n("Potato game for kids"), KAboutLicense::GPL,
0033           i18n("(c) 1999-2009, The KTuberling Developers"));
0034   aboutData.addAuthor(i18n("Albert Astals Cid"), i18n("Maintainer"), QStringLiteral("aacid@kde.org"));
0035   aboutData.addAuthor(i18n("Éric Bischoff"), i18n("Former Developer"), QStringLiteral("ebischoff@nerim.net"));
0036   aboutData.addCredit(i18n("John Calhoun"), i18n("Original concept and artwork"));
0037   aboutData.addCredit(i18n("Agnieszka Czajkowska"), i18n("New artwork"), QStringLiteral("agnieszka@imagegalaxy.de"));
0038   aboutData.addCredit(i18n("Bas Willems"), i18n("New artwork"), QStringLiteral("cybersurfer@euronet.nl"));
0039   aboutData.addCredit(i18n("Roger Larsson"), i18n("Sounds tuning"), QStringLiteral("roger.larsson@norran.net"));
0040   aboutData.addCredit(i18n("Dolores Almansa"), i18n("New artwork"), QStringLiteral("dolores.almansa@corazondemaria.org"));
0041   aboutData.setHomepage(QStringLiteral("https://apps.kde.org/ktuberling"));
0042   QCommandLineParser parser;
0043   KAboutData::setApplicationData(aboutData);
0044   KCrash::initialize();
0045   parser.addPositionalArgument(QStringLiteral("tuberling-file"), i18n("Potato to open"));
0046 
0047   aboutData.setupCommandLine(&parser);
0048   parser.process(app);
0049   aboutData.processCommandLine(&parser);
0050 
0051   KDBusService service;
0052   TopLevel *toplevel=nullptr;
0053 
0054   if (app.isSessionRestored())
0055       kRestoreMainWindows<TopLevel>();
0056   else {
0057       toplevel = new TopLevel();
0058       toplevel->show();
0059       if (!parser.positionalArguments().isEmpty())
0060           toplevel->open(QUrl::fromUserInput(parser.positionalArguments().at(0), QDir::currentPath()));
0061 
0062   }
0063 
0064   app.setWindowIcon(QIcon::fromTheme(QStringLiteral("ktuberling")));
0065 
0066   return app.exec();
0067 }