File indexing completed on 2024-04-21 05:46:23
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <QApplication> 0008 #include <QCommandLineParser> 0009 0010 #include <KAboutData> 0011 #include <KLocalizedString> 0012 0013 #include "ksystemlog_debug.h" 0014 #include "ksystemlog_version.h" 0015 #include "mainWindow.h" 0016 0017 int main(int argc, char **argv) 0018 { 0019 QApplication const app(argc, argv); 0020 0021 KLocalizedString::setApplicationDomain(QByteArrayLiteral("ksystemlog")); 0022 0023 KAboutData about(QStringLiteral("ksystemlog"), 0024 i18n("KSystemLog"), 0025 QStringLiteral(KSYSTEMLOG_VERSION_STRING), 0026 i18n("System Logs Viewer by KDE"), 0027 KAboutLicense::GPL_V2, 0028 i18n("(C) 2007-2015, Nicolas Ternisien"), 0029 i18n("Do not hesitate to report bugs and problems to Nicolas Ternisien <a " 0030 "href='mailto:nicolas.ternisien@gmail.com'>nicolas.ternisien@gmail.com</a>"), 0031 QStringLiteral("https://apps.kde.org/en/ksystemlog"), 0032 QString()); 0033 0034 about.addAuthor(i18n("Nicolas Ternisien"), 0035 i18n("Main developer"), 0036 QStringLiteral("nicolas.ternisien@gmail.com"), 0037 QStringLiteral("https://www.forum-software.org")); 0038 about.addAuthor(i18n("Vyacheslav Matyushin"), i18n("Journald mode, bugfixes"), QStringLiteral("v.matyushin@gmail.com")); 0039 about.addCredit(i18n("Bojan Djurkovic"), i18n("Log Printing"), QStringLiteral("dbojan@gmail.com")); 0040 about.addCredit(i18n("Laurent Montel"), i18n("Bug Fixing"), QStringLiteral("montel@kde.org")); 0041 0042 KAboutData::setApplicationData(about); 0043 0044 app.setApplicationDisplayName(about.displayName()); 0045 0046 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("utilities-log-viewer"))); 0047 0048 QCommandLineParser parser; 0049 about.setupCommandLine(&parser); 0050 parser.setApplicationDescription(about.shortDescription()); 0051 0052 // url to open 0053 parser.addPositionalArgument(QStringLiteral("URL"), i18n("Document to open.")); 0054 0055 // do the command line parsing 0056 parser.process(app); 0057 0058 // handle standard options 0059 about.processCommandLine(&parser); 0060 0061 // See if we are starting with session management 0062 if (app.isSessionRestored()) { 0063 kRestoreMainWindows<KSystemLog::MainWindow>(); 0064 } else { 0065 // No session... Just start up normally 0066 0067 const QStringList args = parser.positionalArguments(); 0068 0069 if (args.isEmpty()) { 0070 new KSystemLog::MainWindow(); 0071 } else { 0072 // KSystemLog::MainWindow* mainWindow; 0073 new KSystemLog::MainWindow(); 0074 for (int i = 0, total = args.count(); i < total; ++i) { 0075 qCDebug(KSYSTEMLOG) << "Loading file " << args.at(i); 0076 0077 // TODO Implement this kind of loading 0078 // LogManager* firstLogManager = d->tabs->createTab(); 0079 // d->tabs->load(Globals::instance().findLogMode("openLogMode"), firstLogManager); 0080 // Open log mode need to automatically find the passed url : args->url(i) 0081 } 0082 } 0083 } 0084 0085 return app.exec(); 0086 }