File indexing completed on 2025-03-09 05:06:32

0001 /*
0002     SPDX-FileCopyrightText: 2010-2018 Daniel Nicoletti <dantti12@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "ConfigurePrinter.h"
0008 
0009 #include <config.h>
0010 
0011 #include <KAboutData>
0012 #include <KDBusService>
0013 #include <KLocalizedString>
0014 
0015 #include "Debug.h"
0016 #include <QCommandLineOption>
0017 #include <QCommandLineParser>
0018 
0019 int main(int argc, char **argv)
0020 {
0021     ConfigurePrinter app(argc, argv);
0022     app.setOrganizationDomain(QLatin1String("org.kde"));
0023 
0024     KAboutData aboutData(QLatin1String("ConfigurePrinter"),
0025                          i18n("Configure Printer"),
0026                          QLatin1String(PM_VERSION),
0027                          i18n("ConfigurePrinter"),
0028                          KAboutLicense::GPL,
0029                          i18n("(C) 2010-2018 Daniel Nicoletti"));
0030     aboutData.addAuthor(QStringLiteral("Daniel Nicoletti"), QString(), QLatin1String("dantti12@gmail.com"));
0031     aboutData.addAuthor(QStringLiteral("Jan Grulich"), i18n("Port to Qt 5 / Plasma 5"), QStringLiteral("jgrulich@redhat.com"));
0032     aboutData.addAuthor(QStringLiteral("Mike Noe"), i18n("Port to Qt 6 / Plasma 6"), QStringLiteral("noeerover@gmail.com"));
0033 
0034     KAboutData::setApplicationData(aboutData);
0035     KDBusService service(KDBusService::Unique);
0036 
0037     QCommandLineParser parser;
0038     aboutData.setupCommandLine(&parser);
0039     parser.addPositionalArgument(QLatin1String("printer"), i18n("Printer to be configured"));
0040     parser.process(app);
0041     aboutData.processCommandLine(&parser);
0042 
0043     const QStringList args = parser.positionalArguments();
0044     if (args.count() == 1) {
0045         QString printerName = args.at(0);
0046         app.configurePrinter(printerName);
0047     } else {
0048         qCWarning(PM_CONFIGURE_PRINTER) << "No printer was specified";
0049         parser.showHelp(1);
0050     }
0051 
0052     return app.exec();
0053 }