File indexing completed on 2025-02-23 05:00:23

0001 // SPDX-FileCopyrightText: 2023 Carl Schwan <carl.schwan@gnupg.com>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include <KLocalizedString>
0005 #include <MimeTreeParserWidgets/MessageViewer>
0006 #include <MimeTreeParserWidgets/MessageViewerDialog>
0007 #include <QApplication>
0008 #include <QCommandLineParser>
0009 #include <QDir>
0010 #include <QUrl>
0011 
0012 #ifdef Q_OS_WIN
0013 #include <cstdio>
0014 #include <windows.h>
0015 #endif
0016 
0017 int main(int argc, char *argv[])
0018 {
0019     QApplication app(argc, argv);
0020 
0021     KLocalizedString::setApplicationDomain(QByteArrayLiteral("mimetreeparser"));
0022 #ifdef Q_OS_WIN
0023     if (AttachConsole(ATTACH_PARENT_PROCESS)) {
0024         freopen("CONOUT$", "w", stdout);
0025         freopen("CONOUT$", "w", stderr);
0026     }
0027 #endif
0028 
0029     QCommandLineParser parser;
0030     parser.setApplicationDescription(i18n("View mbox file"));
0031     parser.addPositionalArgument(QStringLiteral("file"), i18n("mbox file"));
0032 
0033     parser.process(app);
0034     const QStringList args = parser.positionalArguments();
0035 
0036     const auto file = QUrl::fromUserInput(args.at(args.count() - 1), QDir::currentPath());
0037     const auto messageViewer = new MimeTreeParser::Widgets::MessageViewerDialog(file.toLocalFile(), nullptr);
0038 
0039     messageViewer->show();
0040     messageViewer->setAttribute(Qt::WA_DeleteOnClose);
0041     return app.exec();
0042 }