File indexing completed on 2024-05-12 07:59:02
0001 /* 0002 SPDX-FileCopyrightText: 2010 Ni Hui <shuizhuyuanluo@126.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "mainwindow.h" 0008 #include "settings.h" 0009 #include "klickety_version.h" 0010 0011 #include <KAboutData> 0012 #include <KCrash> 0013 #include <KDBusService> 0014 #include <KLocalizedString> 0015 0016 #include <QApplication> 0017 #include <QCommandLineParser> 0018 #include <QCommandLineOption> 0019 0020 int main( int argc, char* argv[] ) 0021 { 0022 QApplication app( argc, argv ); 0023 app.setWindowIcon(QIcon::fromTheme(QStringLiteral( "klickety" ))); 0024 0025 KLocalizedString::setApplicationDomain("klickety"); 0026 0027 KAboutData aboutData( QStringLiteral( "klickety" ), i18n( "Klickety" ), QStringLiteral( KLICKETY_VERSION_STRING ), 0028 i18n( "Klickety is an adaptation of the \"clickomania\" game" ), 0029 KAboutLicense::GPL, 0030 i18n( "(c) 2002-2005, Nicolas Hadacek\n(c) 2010, Ni Hui" ), 0031 QString(), 0032 QStringLiteral("https://apps.kde.org/klickety")); 0033 0034 QCommandLineParser parser; 0035 KAboutData::setApplicationData( aboutData ); 0036 KCrash::initialize(); 0037 parser.addOption( QCommandLineOption( QStringList() << QStringLiteral( "KSameMode" ), i18n( "Start with KSame compatibility mode" ) ) ); 0038 0039 aboutData.setupCommandLine( &parser ); 0040 parser.process( app ); 0041 aboutData.processCommandLine( &parser ); 0042 0043 bool kSameMode = parser.isSet( QStringLiteral("KSameMode") ); 0044 0045 // we use different file for storing ksame mode configuration 0046 if ( kSameMode ) { 0047 Settings::instance( QStringLiteral( "ksamerc" ) ); 0048 aboutData.setShortDescription( i18n( "A little game about balls and how to get rid of them" ) ); 0049 aboutData.addAuthor( i18n( "Marcus Kreutzberger"), i18n( "Original author" ), QStringLiteral("kreutzbe@informatik.mu-luebeck.de") ); 0050 aboutData.addAuthor( i18n( "Henrique Pinto"), i18n( "Past maintainer" ), QStringLiteral("henrique.pinto@kdemail.net") ); 0051 aboutData.addAuthor( i18n( "Ni Hui" ), i18n( "Integration with Klickety. Current maintainer" ), QStringLiteral("shuizhuyuanluo@126.com") ); 0052 aboutData.addCredit( i18n( "Johann Ollivier Lapeyre"), i18n("Artwork"), QStringLiteral("johann.ollivierlapeyre@gmail.com") ); 0053 } 0054 else { 0055 Settings::instance( QStringLiteral( "klicketyrc" ) ); 0056 aboutData.addAuthor( i18n( "Nicolas Hadacek" ), i18n( "Original author" ), QStringLiteral("hadacek@kde.org") ); 0057 aboutData.addAuthor( i18n( "Ni Hui" ), i18n( "Rewrite for KDE4. Current maintainer" ), QStringLiteral("shuizhuyuanluo@126.com") ); 0058 aboutData.addCredit( i18n( "Dan Hill" ), i18n( "Icons" ) ); 0059 } 0060 0061 // see if we are starting with session management 0062 if ( app.isSessionRestored() ) { 0063 kRestoreMainWindows<MainWindow>(); 0064 } 0065 else { 0066 MainWindow* window = new MainWindow( kSameMode ); 0067 window->show(); 0068 } 0069 0070 KDBusService service; 0071 0072 return app.exec(); 0073 }