File indexing completed on 2024-04-28 07:39:36
0001 /*. 0002 SPDX-FileCopyrightText: 2007 Vladimir Kuznetsov <ks.vladimir@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <QApplication> 0008 #include <QCommandLineParser> 0009 #include <QDebug> 0010 #include <QDir> 0011 #include <QIcon> 0012 #include <QUrl> 0013 0014 #include <KAboutData> 0015 #include <KCrash> 0016 #include <KLocalizedString> 0017 0018 #include "mainwindow.h" 0019 0020 #include "step_version.h" 0021 0022 int main(int argc, char* argv[]) 0023 { 0024 QApplication app(argc, argv); 0025 KLocalizedString::setApplicationDomain("step"); 0026 0027 app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); 0028 0029 0030 KAboutData aboutData(QStringLiteral("step"), 0031 i18n("Step"), 0032 STEP_VERSION_STRING, 0033 i18n("Interactive physical simulator"), 0034 KAboutLicense::GPL, 0035 i18n("(C) 2007 Vladimir Kuznetsov"), 0036 QString(), 0037 i18n("https://edu.kde.org/step") 0038 ); 0039 0040 aboutData.addAuthor( 0041 QStringLiteral("Vladimir Kuznetsov"), 0042 i18n("Original author"), 0043 i18n("ks.vladimir@gmail.com") 0044 ); 0045 0046 aboutData.addAuthor( 0047 QStringLiteral("Carsten Niehaus"), 0048 i18n("Code contributions"), 0049 i18n("cniehaus@kde.org") 0050 ); 0051 0052 KAboutData::setApplicationData(aboutData); 0053 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("step"))); 0054 0055 KCrash::initialize(); 0056 0057 QCommandLineParser parser; 0058 0059 QCommandLineOption option(QStringList() << QStringLiteral("+[url]") << i18n( "Document to open" )); 0060 parser.addOption(option); 0061 0062 parser.process(app); 0063 0064 MainWindow* mainWindow = new MainWindow(); 0065 mainWindow->show(); 0066 0067 const QStringList args = parser.positionalArguments(); 0068 0069 if(args.count() > 0) { 0070 //qDebug() << args[0] << endl; 0071 // open the step files passed as arguments as relative or absolute paths 0072 mainWindow->openFile( 0073 (QUrl(args[0], QUrl::TolerantMode).isRelative() && !QDir::isAbsolutePath(args[0])) 0074 ? QUrl::fromLocalFile(QDir::current().absoluteFilePath(args[0])) 0075 : QUrl::fromUserInput(args[0]) 0076 ); 0077 } 0078 0079 return app.exec(); 0080 }