File indexing completed on 2024-04-21 03:41:54
0001 // SPDX-FileCopyrightText: 2001-2009 Anne-Marie Mahfouf <annma@kde.org> 0002 // SPDX-FileCopyCopyright: 2014 Rahul Chowdhury <rahul.chowdhury@kdemail.net> 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #include "khangman.h" 0006 #include "khangman_version.h" 0007 0008 #include <KAboutData> 0009 0010 #include <KLocalizedString> 0011 #include <KLocalizedContext> 0012 #include <KCrash> 0013 0014 #include <QApplication> 0015 #include <QFontDatabase> 0016 #include <QFontInfo> 0017 #include <QStandardPaths> 0018 #include <QQmlEngine> 0019 #include <QCommandLineParser> 0020 #include <QQmlContext> 0021 #include <QIcon> 0022 #include <QQmlApplicationEngine> 0023 0024 int main(int argc, char **argv) 0025 { 0026 QApplication app(argc, argv); 0027 0028 KLocalizedString::setApplicationDomain(QByteArrayLiteral("khangman")); 0029 QApplication::setApplicationName(QStringLiteral("khangman")); 0030 QApplication::setApplicationVersion(QStringLiteral(KHANGMAN_VERSION_STRING)); 0031 QApplication::setOrganizationDomain(QStringLiteral("kde.org")); 0032 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("khangman"))); 0033 0034 app.connect(&app, &QGuiApplication::lastWindowClosed, &app, &QCoreApplication::quit); 0035 0036 KAboutData aboutData(QStringLiteral("khangman"), 0037 i18n("KHangMan"), 0038 QStringLiteral(KHANGMAN_VERSION_STRING), 0039 i18n("Classical hangman game by KDE"), 0040 KAboutLicense::GPL, 0041 i18n("(c) 2001-2011, Anne-Marie Mahfouf")); 0042 aboutData.addAuthor(i18n("Primoz Anzur"), i18n("Previous maintainer"), 0043 QStringLiteral("zerokode@gmx.net")); 0044 0045 // Write the names with accents and all and this file save with 0046 // utf8 encoding. 0047 aboutData.addAuthor(i18n("Anne-Marie Mahfouf"), i18n("Original Author"), 0048 QStringLiteral("annma@kde.org"), QStringLiteral("https://annma.blogspot.com"), QStringLiteral("annma")); 0049 aboutData.addAuthor(i18n("Rahul Chowdhury"), i18n("Developer"), 0050 QStringLiteral("rahul.chowdhury@kdemail.net"), QStringLiteral("https://rahulc93.wordpress.com/"), QStringLiteral("rahulch")); 0051 aboutData.addCredit(i18n("Stefan Böhmann"), 0052 i18n("Coding help"), QStringLiteral("kde@hilefoks.org")); 0053 aboutData.addCredit(i18n("Stefan Asserhäll"), 0054 i18n("Swedish data files, coding help, transparent pictures and i18n fixes"), 0055 QStringLiteral("stefan.asserhall@telia.com")); 0056 aboutData.addCredit(i18n("eXParTaKus"), 0057 i18n("Spanish data files"), QStringLiteral("expartakus@expartakus.com")); 0058 aboutData.addCredit(i18n("Erik Kjær Pedersenn"), 0059 i18n("Danish data files"), QStringLiteral("erik@mpim-bonn.mpg.de") ); 0060 aboutData.addCredit(i18n("Niko Lewman"), 0061 i18n("Finnish data files"), QStringLiteral("niko.lewman@edu.hel.fi") ); 0062 aboutData.addCredit(i18n("João Sebastião de Oliveira Bueno"), 0063 i18n("Brazilian Portuguese data files"), QStringLiteral("gwidion@mpc.com.br") ); 0064 aboutData.addCredit(i18n("Antoni Bella"), 0065 i18n("Catalan data files"), QStringLiteral("bella5@teleline.es")); 0066 aboutData.addCredit(i18n("Giovanni Venturi"), 0067 i18n("Italian data files"), QStringLiteral("jumpyj@tiscali.it")); 0068 aboutData.addCredit(i18n("Rinse"), 0069 i18n("Dutch data files"), QStringLiteral("rinse@kde.nl")); 0070 aboutData.addCredit(i18n("Lukáš Tinkl"), 0071 i18n("Czech data files"), QStringLiteral("lukas@kde.org")); 0072 aboutData.addCredit(i18n("Kristóf Kiszel"), 0073 i18n("Hungarian data files"), QStringLiteral("ulysses@kubuntu.org")); 0074 aboutData.addCredit(i18n("Torger Åge Sinnes"), 0075 i18n("Norwegian (Bokmål) data files"), QStringLiteral("org-a-s@online.no")); 0076 aboutData.addCredit(i18n("Roger Kovacs"), 0077 i18n("Tajik data files"), QStringLiteral("rkovacs@khujand.org")); 0078 aboutData.addCredit(i18n("Chusslove Illich"), 0079 i18n("Serbian (Cyrillic and Latin) data files"), QStringLiteral("chaslav@sezampro.yu")); 0080 aboutData.addCredit(i18n("Jure Repinc"), 0081 i18n("Slovenian data files"), QStringLiteral("jlp@holodeck1.com")); 0082 aboutData.addCredit(i18n("Pedro Morais"), 0083 i18n("Portuguese data files"), QStringLiteral("Morais@kde.org")); 0084 aboutData.addCredit(i18n("Gaute Hvoslef Kvalnes"), 0085 i18n("Norwegian (Nynorsk) data files"), QStringLiteral("gaute@verdsveven.com")); 0086 aboutData.addCredit(i18n("Mehmet Özel"), 0087 i18n("Turkish data files"), QStringLiteral("mehmet_ozel2003@hotmail.com")); 0088 aboutData.addCredit(i18n("Черепанов Андрей"), 0089 i18n("Russian data files"), QStringLiteral("sibskull@mail.ru")); 0090 aboutData.addCredit(i18n("Radostin Radnev"), 0091 i18n("Bulgarian data files"), QStringLiteral("radnev@yahoo.com")); 0092 aboutData.addCredit(i18n("Kevin Patrick Scannell"), 0093 i18n("Irish (Gaelic) data files"), QStringLiteral("scannell@slu.edu")); 0094 aboutData.addCredit(i18n("Matt Howe"), 0095 i18n("Softer Hangman Pictures"), QStringLiteral("mdhowe@bigfoot.com")); 0096 aboutData.addCredit(i18n("Benjamin Meyer"), 0097 i18n("Coding help"), QStringLiteral("ben@meyerhome.net")); 0098 aboutData.addCredit(i18n("Robert Gogolok"), 0099 i18n("Coding help"), QStringLiteral("robertgogolok@gmx.de")); 0100 aboutData.addCredit(i18n("Lubos Lunàk"), 0101 i18n("Coding help"), QStringLiteral("l.lunak@kde.org")); 0102 aboutData.addCredit(i18n("Albert Astals Cid"), 0103 i18n("Coding help, fixed a lot of things"), QStringLiteral("aacid@kde.org")); 0104 aboutData.addCredit(i18n("Peter Hedlund"), 0105 i18n("Code for generating icons for the characters toolbar"), QStringLiteral("peter.hedlund@kdemail.net")); 0106 aboutData.addCredit(i18n("Inge Wallin"), 0107 i18n("Code cleaning"), QStringLiteral("inge@lysator.liu.se")); 0108 aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails")); 0109 0110 KAboutData::setApplicationData(aboutData); 0111 0112 QCommandLineParser parser; 0113 aboutData.setupCommandLine(&parser); 0114 parser.process(app); 0115 aboutData.processCommandLine(&parser); 0116 0117 KCrash::initialize(); 0118 0119 QFont f(QStringLiteral("Domestic Manners"), 12, QFont::Normal, true); 0120 if (!QFontInfo(f).exactMatch()) 0121 { 0122 QFontDatabase::addApplicationFont(QStandardPaths::locate(QStandardPaths::AppLocalDataLocation, QStringLiteral("fonts/Domestic_Manners.ttf"))); 0123 } 0124 0125 QFont fd(QStringLiteral("Dustismo Roman"), 12, QFont::Normal, true); 0126 if (!QFontInfo(fd).exactMatch()) 0127 { 0128 QFontDatabase::addApplicationFont(QStandardPaths::locate(QStandardPaths::AppLocalDataLocation, QStringLiteral("fonts/Dustismo_Roman.ttf"))); 0129 } 0130 0131 QQmlApplicationEngine engine; 0132 engine.rootContext()->setContextObject(new KLocalizedContext(&engine)); 0133 0134 engine.loadFromModule(QStringLiteral("org.kde.khangman"), QStringLiteral("Main")); 0135 if (engine.rootObjects().isEmpty()) { 0136 return -1; 0137 } 0138 0139 QObject::connect(&engine, &QQmlEngine::quit, &app, &QCoreApplication::quit); 0140 return app.exec(); 0141 } 0142 0143 // kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on; 0144 // vim: set et sw=4 ts=4 cino=l1,cs,U1: 0145