File indexing completed on 2024-04-28 04:02:29

0001 /*
0002     SPDX-FileCopyrightText: 1996-2004 Nicolas HADACEK <hadacek@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 // own
0008 #include "kmines_version.h"
0009 #include "mainwindow.h"
0010 // KF
0011 #include <KAboutData>
0012 #include <KCrash>
0013 #include <KLocalizedString>
0014 #include <KDBusService>
0015 #include <KSharedConfig>
0016 // Qt
0017 #include <QApplication>
0018 #include <QCommandLineParser>
0019 
0020 
0021 int main(int argc, char **argv)
0022 {
0023     QApplication app(argc, argv);
0024 
0025     KLocalizedString::setApplicationDomain(QByteArrayLiteral("kmines"));
0026 
0027     KAboutData aboutData(QStringLiteral("kmines"), i18n("KMines"),
0028                          QStringLiteral(KMINES_VERSION_STRING),
0029                          i18n("KMines is a classic minesweeper game"),
0030                          KAboutLicense::GPL,
0031                          i18n("(c) 1996-2005, Nicolas Hadacek\n(c) 2001, Mikhail Kourinny\n(c) 2006-2007, Mauricio Piacentini\n(c) 2007, Dmitry Suzdalev"),
0032                          QString(),
0033                          QStringLiteral("https://apps.kde.org/kmines"));
0034     aboutData.addAuthor(i18n("Nicolas Hadacek"),
0035                         i18n("Original author"), QStringLiteral("hadacek@kde.org"));
0036     aboutData.addAuthor(i18n("Mauricio Piacentini"),
0037                         i18n("Code refactoring and SVG support. Current maintainer"),
0038                         QStringLiteral("mauricio@tabuleiro.com"));
0039     aboutData.addAuthor(i18n("Dmitry Suzdalev"),
0040                         i18n("Rewrite to use QGraphicsView framework. Current maintainer"),
0041                         QStringLiteral("dimsuz@gmail.com"));
0042     aboutData.addCredit(i18n("Andreas Zehender"), i18n("Smiley pixmaps"));
0043     aboutData.addCredit(i18n("Mikhail Kourinny"), i18n("Solver/Adviser"));
0044     aboutData.addCredit(i18n("Thomas Capricelli"), i18n("Magic reveal mode"));
0045     aboutData.addCredit(i18n("Brian Croom"), i18n("Port to use KGameRenderer"));
0046     
0047     app.setWindowIcon(QIcon::fromTheme(QStringLiteral("kmines")));
0048     KAboutData::setApplicationData(aboutData);
0049     KCrash::initialize();
0050     QCommandLineParser parser;
0051     aboutData.setupCommandLine(&parser);
0052     parser.process(app);
0053     aboutData.processCommandLine(&parser);
0054     KDBusService service; 
0055     
0056     if ( app.isSessionRestored() )
0057         kRestoreMainWindows<KMinesMainWindow>();
0058     else {
0059         auto *mw = new KMinesMainWindow;
0060         mw->show();
0061     }
0062     
0063     return app.exec();
0064 }