File indexing completed on 2024-05-12 04:02:24
0001 /* -*- C++ -*- 0002 This file is part of ThreadWeaver. 0003 0004 SPDX-FileCopyrightText: 2005-2014 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #include <iostream> 0010 0011 #include <QApplication> 0012 #include <QCommandLineOption> 0013 #include <QCommandLineParser> 0014 #include <QFileInfoList> 0015 #include <QTest> 0016 0017 #include "Benchmark.h" 0018 #include "MainWindow.h" 0019 #include "Model.h" 0020 0021 using namespace std; 0022 0023 int main(int argc, char **argv) 0024 { 0025 QApplication app(argc, argv); 0026 app.setApplicationName(QLatin1String("ThumbNailer")); 0027 app.setOrganizationDomain(QLatin1String("kde.org")); 0028 QCommandLineParser parser; 0029 parser.setApplicationDescription(app.translate("main", "ThreadWeaver ThumbNailer Example")); 0030 parser.addHelpOption(); 0031 parser.addPositionalArgument(QLatin1String("mode"), QLatin1String("Benchmark or demo mode")); 0032 parser.process(app); 0033 const QStringList positionals = parser.positionalArguments(); 0034 const QString mode = positionals.isEmpty() ? QLatin1String("demo") : positionals[0]; 0035 if (mode == QLatin1String("benchmark")) { 0036 Benchmark benchmark; 0037 const QStringList arguments = app.arguments().mid(1); // remove mode selection 0038 return QTest::qExec(&benchmark, arguments); 0039 } else if (mode == QLatin1String("demo")) { 0040 // demo mode 0041 MainWindow mainWindow; 0042 mainWindow.show(); 0043 return app.exec(); 0044 } else { 0045 wcerr << "Unknown mode " << mode.toStdWString() << endl << endl; 0046 parser.showHelp(); 0047 Q_UNREACHABLE(); 0048 } 0049 return 0; 0050 }