File indexing completed on 2023-09-24 03:52:53

0001 /*
0002     This file is part of Kiten, a KDE Japanese Reference Tool...
0003     SPDX-FileCopyrightText: 2001 Jason Katz-Brown <jason@katzbrown.com>
0004     SPDX-FileCopyrightText: 2005 Paul Temple <paul.temple@gmx.net>
0005     SPDX-FileCopyrightText: 2006 Joseph Kerian <jkerian@gmail.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #include <KAboutData>
0011 #include <KCrash>
0012 #include <KLocalizedString>
0013 #include <Kdelibs4ConfigMigrator>
0014 #include <QApplication>
0015 #include <QCommandLineParser>
0016 #include <QDBusConnection>
0017 
0018 #include "kiten.h"
0019 #include "kiten_version.h"
0020 
0021 void noMessageOutput(QtMsgType, const char *)
0022 {
0023 }
0024 
0025 int main(int argc, char *argv[])
0026 {
0027     //   qInstallMsgHandler(noMessageOutput);   //Disable Qt Errors from showing
0028 
0029     // Copyright and author information
0030     Kdelibs4ConfigMigrator migrate(QStringLiteral("kiten"));
0031     migrate.setConfigFiles(QStringList() << QStringLiteral("kitenrc"));
0032     migrate.setUiFiles(QStringList() << QStringLiteral("kitenui.rc"));
0033     migrate.migrate();
0034 
0035     KLocalizedString::setApplicationDomain("kiten");
0036     QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
0037     QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
0038 
0039     QApplication app(argc, argv);
0040 
0041     KAboutData aboutData(QStringLiteral("kiten"),
0042                          i18n("Kiten"),
0043                          QStringLiteral(KITEN_VERSION_STRING),
0044                          i18n("Japanese Reference Tool"),
0045                          KAboutLicense::GPL_V2,
0046                          i18n("(c) 2001-2004, Jason Katz-Brown\n"
0047                               "(c) 2006-2007, Eric Kjeldergaard\n"
0048                               "(c) 2006-2008, Joseph Kerian\n"
0049                               "(c) 2011, Daniel E. Moctezuma"),
0050                          QString(),
0051                          QStringLiteral("https://edu.kde.org/kiten"));
0052 
0053     aboutData.addAuthor(i18n("Jason Katz-Brown"), i18n("Original author"), QStringLiteral("jason@katzbrown.com"));
0054     aboutData.addCredit(i18n("Jim Breen"),
0055                         i18n("Wrote xjdic, of which Kiten borrows code, and the xjdic index file generator.\nAlso is main author of edict and kanjidic, which "
0056                              "Kiten essentially require."),
0057                         QStringLiteral("jwb@csse.monash.edu.au"));
0058     aboutData.addAuthor(i18n("Neil Stevens"), i18n("Code simplification, UI suggestions."), QStringLiteral("neil@qualityassistant.com"));
0059     aboutData.addCredit(i18n("David Vignoni"), i18n("svg icon"), QStringLiteral("david80v@tin.it"));
0060     aboutData.addCredit(i18n("Paul Temple"), i18n("Porting to KConfig XT, bug fixing"), QStringLiteral("paul.temple@gmx.net"));
0061     aboutData.addAuthor(i18n("Joseph Kerian"), i18n("KDE4 rewrite"), QStringLiteral("jkerian@gmail.com"));
0062     aboutData.addAuthor(i18n("Eric Kjeldergaard"), i18n("KDE4 rewrite"), QStringLiteral("kjelderg@gmail.com"));
0063     aboutData.addAuthor(i18n("Daniel E. Moctezuma"),
0064                         i18n("Deinflection system improvements, Dictionary updates for EDICT and KANJIDIC, GUI Improvements, Kanji Browser, Bug fixes, Code "
0065                              "polishing and simplification"),
0066                         QStringLiteral("democtezuma@gmail.com"));
0067 
0068     aboutData.setOrganizationDomain("kde.org"); // Set this for the DBUS ID
0069 
0070 #ifdef Q_OS_WIN
0071     QApplication::setStyle(QStringLiteral("breeze"));
0072 #endif
0073 
0074     KCrash::initialize();
0075 
0076     QCommandLineParser parser;
0077     KAboutData::setApplicationData(aboutData);
0078 
0079     aboutData.setupCommandLine(&parser);
0080     parser.process(app);
0081     aboutData.processCommandLine(&parser);
0082 
0083     auto kiten = new Kiten();
0084 
0085     // Register the DBUS name or die
0086     if (!QDBusConnection::sessionBus().registerService(QStringLiteral("org.kde.kiten"))) {
0087         exit(1);
0088     }
0089 
0090     kiten->show();
0091     QDBusConnection::sessionBus().registerObject(QStringLiteral("/"), kiten, QDBusConnection::ExportAllSlots);
0092     return app.exec();
0093 }