File indexing completed on 2024-04-28 08:46:22
0001 /* 0002 SPDX-FileCopyrightText: 2002 Koos Vriezen 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <unistd.h> 0008 0009 #include "config-kmplayer.h" 0010 #include <KAboutData> 0011 #include <KLocalizedString> 0012 0013 #include <QCommandLineParser> 0014 #include <QApplication> 0015 #include <QPointer> 0016 #include <QFileInfo> 0017 0018 #include "kmplayer.h" 0019 0020 static QUrl makeUrl(const QString& link) 0021 { 0022 QFileInfo info(link); 0023 if (info.exists()) 0024 return QUrl::fromLocalFile(info.absoluteFilePath()); 0025 return QUrl::fromUserInput(link); 0026 } 0027 0028 extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv) 0029 { 0030 setsid (); 0031 0032 QApplication app(argc, argv); 0033 KLocalizedString::setApplicationDomain("kmplayer"); 0034 0035 KAboutData aboutData(QStringLiteral("kmplayer"), 0036 i18n("KMPlayer"), 0037 QStringLiteral(KMPLAYER_VERSION_STRING), 0038 i18n("Media player"), KAboutLicense::GPL, 0039 i18n("(c) 2002-2016, Koos Vriezen"), QString(), QStringLiteral("http://kmplayer.kde.org")); 0040 aboutData.addAuthor(i18n("Koos Vriezen"), i18n("Maintainer"), QStringLiteral("koos.vriezen@gmail.com")); 0041 aboutData.setProductName(QByteArray("kmplayer")); 0042 aboutData.setOrganizationDomain(QByteArray("kde.org")); 0043 aboutData.setDesktopFileName(QStringLiteral("org.kde.kmplayer")); 0044 KAboutData::setApplicationData(aboutData); 0045 0046 QApplication::setWindowIcon(QIcon::fromTheme(QLatin1String("kmplayer"))); 0047 0048 QCommandLineParser parser; 0049 aboutData.setupCommandLine(&parser); 0050 parser.addPositionalArgument(QStringLiteral("File"), i18n("file to open"), i18n("+[File]")); 0051 parser.process(app); 0052 0053 aboutData.processCommandLine(&parser); 0054 0055 KMPlayer::Ids::init(); 0056 0057 QPointer <KMPlayerApp> kmplayer; 0058 0059 if (app.isSessionRestored ()) { 0060 kRestoreMainWindows<KMPlayerApp>(); 0061 } else { 0062 kmplayer = new KMPlayerApp (); 0063 kmplayer->show(); 0064 0065 QUrl url; 0066 QStringList args = parser.positionalArguments(); 0067 if (args.size() == 1) 0068 url = makeUrl(args[0]); 0069 if (args.size() > 1) { 0070 for (int i = 0; i < args.size(); i++) { 0071 QUrl url1 = makeUrl(args[i]); 0072 if (url1.isValid()) 0073 kmplayer->addUrl(url1); 0074 } 0075 } 0076 kmplayer->openDocumentFile (url); 0077 } 0078 int retvalue = app.exec (); 0079 0080 delete kmplayer; 0081 0082 KMPlayer::Ids::reset(); 0083 0084 return retvalue; 0085 }