File indexing completed on 2024-05-12 05:25:36

0001 /*
0002    SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "pimdatacommandlineoption.h"
0008 #include "pimdataexporterwindow.h"
0009 
0010 #include <KCrash>
0011 #include <KDBusService>
0012 #include <KLocalizedString>
0013 #include <QApplication>
0014 #ifdef WITH_KUSERFEEDBACK
0015 #include "userfeedback/pimdataexporteduserfeedbackprovider.h"
0016 #include <KUserFeedback/Provider>
0017 #endif
0018 
0019 int main(int argc, char *argv[])
0020 {
0021     QApplication app(argc, argv);
0022 
0023     KLocalizedString::setApplicationDomain(QByteArrayLiteral("pimdataexporter"));
0024 
0025     KCrash::initialize();
0026     app.setDesktopFileName(QStringLiteral("org.kde.pimdataexporter"));
0027     QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kontact")));
0028 
0029     PimDataCommandLineOption parser;
0030     parser.createParser(app);
0031 #ifdef WITH_KUSERFEEDBACK
0032     if (parser.parseUserFeedback()) {
0033         auto provider = new PimDataExportedUserFeedbackProvider;
0034         QTextStream(stdout) << provider->describeDataSources() << '\n';
0035         delete provider;
0036         return 0;
0037     }
0038 #endif
0039     KDBusService service(KDBusService::Unique);
0040 
0041     auto backupMailWin = new PimDataExporterWindow();
0042     parser.setExportWindow(backupMailWin);
0043     QObject::connect(&service, &KDBusService::activateRequested, &parser, &PimDataCommandLineOption::slotActivateRequested);
0044     backupMailWin->show();
0045     parser.handleCommandLine();
0046 
0047     return app.exec();
0048 }