File indexing completed on 2024-05-12 05:23:46
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "mboxmainwindow.h" 0008 #include <KAboutData> 0009 #include <QApplication> 0010 0011 #include "mboximporter-version.h" 0012 #include <KCrash> 0013 #include <KLocalizedString> 0014 #include <QCommandLineParser> 0015 #include <QFileDialog> 0016 #include <QIcon> 0017 0018 int main(int argc, char *argv[]) 0019 { 0020 QApplication app(argc, argv); 0021 app.setDesktopFileName(QStringLiteral("org.kde.mboximporter")); 0022 KCrash::initialize(); 0023 KLocalizedString::setApplicationDomain(QByteArrayLiteral("mboximporter")); 0024 0025 KAboutData aboutData(QStringLiteral("mboximporter"), 0026 i18n("MBox importer tool"), 0027 QStringLiteral(MBOXIMPORTER_VERSION), 0028 i18n("MBox Import Tool"), 0029 KAboutLicense::GPL_V2, 0030 i18n("Copyright © 2013-%1 MBoxImporter authors", QStringLiteral("2024"))); 0031 aboutData.addAuthor(i18n("Laurent Montel"), i18n("Maintainer"), QStringLiteral("montel@kde.org")); 0032 0033 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kmail"))); 0034 aboutData.setProductName(QByteArray("mboximporter")); 0035 0036 KAboutData::setApplicationData(aboutData); 0037 0038 QString fileName; 0039 QCommandLineParser parser; 0040 aboutData.setupCommandLine(&parser); 0041 0042 parser.addPositionalArgument(QStringLiteral("url"), i18n("URL of mbox to be imported"), QStringLiteral("[url]")); 0043 0044 parser.process(app); 0045 aboutData.processCommandLine(&parser); 0046 0047 const QStringList &args = parser.positionalArguments(); 0048 if (!args.isEmpty()) { 0049 fileName = args.at(0); 0050 } else { 0051 fileName = QFileDialog::getOpenFileName(); 0052 } 0053 if (fileName.isEmpty()) { 0054 return 0; 0055 } 0056 auto w = new MBoxMainWindow(fileName); 0057 w->show(); 0058 QObject::connect(w, &MBoxMainWindow::rejected, &app, &QApplication::quit); 0059 const int ret = app.exec(); 0060 delete w; 0061 return ret; 0062 }