File indexing completed on 2024-04-21 03:51:10
0001 /* 0002 SPDX-FileCopyrightText: 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de> 0003 SPDX-FileCopyrightText: 2006 Peter Hedlund <peter.hedlund@kdemail.net> 0004 SPDX-FileCopyrightText: 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net> 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 /// @file src/main.cpp 0009 0010 #include "parleymainwindow.h" 0011 #include <config-parley.h> 0012 0013 #include <KAboutData> 0014 #include <KCrash> 0015 #include <KLocalizedString> 0016 #include <QApplication> 0017 #include <QCommandLineParser> 0018 0019 int main(int argc, char *argv[]) 0020 { 0021 QApplication app(argc, argv); 0022 0023 KLocalizedString::setApplicationDomain("parley"); 0024 0025 KAboutData aboutData(QStringLiteral("parley"), ki18n("Parley").toString(), PARLEY_VERSION_STRING); 0026 aboutData.setShortDescription(ki18n("Vocabulary Trainer").toString()); 0027 aboutData.setLicense(KAboutLicense::GPL); 0028 aboutData.setCopyrightStatement(ki18n("© 1999-2002\tEwald Arnold\n" 0029 "© 2001-2002\tThe KDE team\n" 0030 "© 2004-2007\tPeter Hedlund\n" 0031 "© 2007-2010\tFrederik Gladhorn\n") 0032 .toString()); 0033 aboutData.setOtherText(ki18n("Helps you train your vocabulary").toString()); 0034 aboutData.setHomepage(QStringLiteral("https://edu.kde.org/parley")); 0035 aboutData.setBugAddress("submit@bugs.kde.org"); 0036 0037 aboutData.addAuthor(ki18n("Inge Wallin").toString(), ki18n("Developer and Co-maintainer").toString(), QStringLiteral("inge@lysator.liu.se")); 0038 0039 aboutData.addAuthor(ki18n("Amarvir Singh").toString(), ki18n("Developer and Co-maintainer").toString(), QStringLiteral("amarvir.ammu.93@gmail.com")); 0040 0041 aboutData.addAuthor(ki18n("Frederik Gladhorn").toString(), ki18n("Developer, former maintainer").toString(), QStringLiteral("gladhorn@kde.org")); 0042 0043 aboutData.addAuthor(ki18n("Daniel Laidig").toString(), ki18n("Developer").toString(), QStringLiteral("d.laidig@gmx.de")); 0044 0045 aboutData.addAuthor(ki18n("David Capel").toString(), ki18n("Practice Dialogs").toString(), QStringLiteral("wot.narg@gmail.com")); 0046 0047 aboutData.addAuthor(ki18n("Avgoustinos Kadis").toString(), ki18n("Scripting").toString(), QStringLiteral("avgoustinos.kadis@kdemail.net")); 0048 0049 aboutData.addAuthor(ki18n("Peter Hedlund").toString(), 0050 ki18n("Countless fixes, former maintainer, port to KDE4").toString(), 0051 QStringLiteral("peter.hedlund@kdemail.net")); 0052 0053 aboutData.addAuthor(ki18n("Ewald Arnold").toString(), 0054 ki18n("Original Author").toString(), 0055 QStringLiteral("kvoctrain@ewald-arnold.de"), 0056 QStringLiteral("http://www.ewald-arnold.de")); 0057 0058 aboutData.addCredit(ki18n("Lee Olson").toString(), ki18n("Artwork and Oxygen Icons").toString()); 0059 0060 aboutData.addCredit(ki18n("Anne-Marie Mahfouf").toString(), ki18n("Port to KConfig XT").toString()); 0061 0062 aboutData.addCredit(ki18n("Jeremy Whiting").toString(), ki18n("Rewriting the kvtml library for KDE4").toString()); 0063 0064 aboutData.addCredit(ki18n("Markus Büchele").toString(), ki18n("Bug reports and testing on the way to KDE4").toString()); 0065 0066 aboutData.addCredit(ki18n("Ramona Knapp").toString(), ki18n("Conceived the name Parley").toString()); 0067 0068 KAboutData::setApplicationData(aboutData); 0069 QApplication::setApplicationName(QStringLiteral("parley")); 0070 QApplication::setApplicationVersion(PARLEY_VERSION_STRING); 0071 QApplication::setOrganizationDomain(QStringLiteral("kde.org")); 0072 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("parley"))); 0073 0074 KCrash::initialize(); 0075 0076 QCommandLineParser parser; 0077 parser.addPositionalArgument(ki18n("[file]").toString(), ki18n("Document file to open").toString()); 0078 0079 aboutData.setupCommandLine(&parser); 0080 parser.process(app); 0081 aboutData.processCommandLine(&parser); 0082 0083 if (app.isSessionRestored()) { 0084 int n = 1; 0085 while (KMainWindow::canBeRestored(n)) { 0086 (new ParleyMainWindow())->restore(n); 0087 n++; 0088 } 0089 return app.exec(); 0090 } else { 0091 KMainWindow *parleyApp; 0092 0093 const QStringList args = parser.positionalArguments(); 0094 0095 if (!args.isEmpty()) { 0096 parleyApp = new ParleyMainWindow(QUrl::fromLocalFile(args.first())); 0097 } else { 0098 parleyApp = new ParleyMainWindow(); 0099 } 0100 0101 parleyApp->show(); 0102 return app.exec(); 0103 } 0104 }