File indexing completed on 2024-05-12 08:34:05
0001 /* ============================================================ 0002 * 0003 * SPDX-FileCopyrightText: 2007-2012 Kåre Särs <kare.sars@iki .fi> 0004 * SPDX-FileCopyrightText: 2014 Gregor Mitsch : port to KDE5 frameworks 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0007 * 0008 * ============================================================ */ 0009 0010 #include <QCommandLineParser> 0011 #include <QCommandLineOption> 0012 #include <QShortcut> 0013 0014 #include <KAboutData> 0015 #include <KLocalizedString> 0016 0017 #include "skanlite.h" 0018 0019 #include <skanlite_debug.h> 0020 #include <skanlite_version.h> 0021 0022 int main(int argc, char *argv[]) 0023 { 0024 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0025 QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); 0026 #endif 0027 QApplication app(argc, argv); 0028 0029 KLocalizedString::setApplicationDomain("skanlite"); 0030 0031 KAboutData aboutData(QStringLiteral("skanlite"), // componentName, k4: appName 0032 i18n("Skanlite"), // displayName, k4: programName 0033 QStringLiteral(SKANLITE_VERSION_STRING), // version 0034 i18n("Scanning application by KDE based on libksane."), // shortDescription 0035 KAboutLicense::GPL, // licenseType 0036 i18n("(C) 2008-2020 Kåre Särs"), // copyrightStatement 0037 QString(), // other Text 0038 QString() // homePageAddress 0039 ); 0040 0041 aboutData.addAuthor(i18n("Kåre Särs"), 0042 i18n("developer"), 0043 QStringLiteral("kare.sars@iki.fi")); 0044 0045 aboutData.addAuthor(i18n("Gregor Mi"), 0046 i18n("contributor")); 0047 0048 aboutData.addAuthor(i18n("Arseniy Lartsev"), 0049 i18n("contributor")); 0050 0051 aboutData.addCredit(i18n("Gilles Caulier"), 0052 i18n("Importing libksane to extragear")); 0053 0054 aboutData.addCredit(i18n("Anne-Marie Mahfouf"), 0055 i18n("Writing the user manual")); 0056 0057 aboutData.addCredit(i18n("Laurent Montel"), 0058 i18n("Importing libksane to extragear")); 0059 0060 aboutData.addCredit(i18n("Chusslove Illich"), 0061 i18n("Help with translations")); 0062 0063 aboutData.addCredit(i18n("Albert Astals Cid"), 0064 i18n("Help with translations")); 0065 0066 // Required for showing the translation list KXmlGui is not used 0067 aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), 0068 i18nc("EMAIL OF TRANSLATORS", "Your emails")); 0069 0070 app.setWindowIcon(QIcon::fromTheme(QStringLiteral("skanlite"))); 0071 KAboutData::setApplicationData(aboutData); 0072 0073 QCoreApplication::setApplicationVersion(aboutData.version()); 0074 QCommandLineParser parser; 0075 aboutData.setupCommandLine(&parser); 0076 QCommandLineOption deviceOption(QStringList() << QStringLiteral("d") << QStringLiteral("device"), i18n("Sane scanner device name. Use 'test' for test device."), i18n("device")); 0077 parser.addOption(deviceOption); 0078 parser.process(app); // the --author and --license is shown anyway but they work only with the following line 0079 aboutData.processCommandLine(&parser); 0080 0081 const QString deviceName = parser.value(deviceOption); 0082 qCDebug(SKANLITE_LOG) << QStringLiteral("deviceOption value=%1").arg(deviceName); 0083 0084 Skanlite skanliteDialog(deviceName, nullptr); 0085 0086 skanliteDialog.show(); 0087 0088 QShortcut *prevShortcut = new QShortcut(QKeySequence(QStringLiteral("Ctrl+Q")), &skanliteDialog); 0089 QObject::connect(prevShortcut, &QShortcut::activated, &app, &QApplication::quit); 0090 0091 return app.exec(); 0092 } 0093