File indexing completed on 2024-04-21 16:11:35
0001 /* 0002 * SPDX-FileCopyrightText: 2010-2012 Alejandro Fiestas Olivares <afiestas@kde.org> 0003 * SPDX-FileCopyrightText: 2010 UFO Coders <info@ufocoders.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "sendfilewizard.h" 0009 #include "version.h" 0010 0011 #include <QApplication> 0012 #include <QCommandLineOption> 0013 #include <QCommandLineParser> 0014 0015 #include <KAboutData> 0016 #include <KDBusService> 0017 #include <KLocalizedString> 0018 #include <KWindowSystem> 0019 0020 int main(int argc, char *argv[]) 0021 { 0022 QApplication app(argc, argv); 0023 0024 KAboutData aboutData(QStringLiteral("bluedevilsendfile"), 0025 i18n("Bluetooth File Transfer"), 0026 QStringLiteral(BLUEDEVIL_VERSION_STRING), 0027 i18n("Bluetooth File Transfer"), 0028 KAboutLicense::GPL, 0029 i18n("(c) 2010, UFO Coders")); 0030 0031 aboutData.addAuthor(QStringLiteral("David Rosca"), // 0032 i18n("Maintainer"), 0033 QStringLiteral("nowrep@gmail.com"), 0034 QStringLiteral("http://david.rosca.cz")); 0035 0036 aboutData.addAuthor(QStringLiteral("Alejandro Fiestas Olivares"), 0037 i18n("Previous Maintainer"), 0038 QStringLiteral("afiestas@kde.org"), 0039 QStringLiteral("http://www.afiestas.org/")); 0040 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0041 app.setAttribute(Qt::AA_UseHighDpiPixmaps); 0042 #endif 0043 app.setWindowIcon(QIcon::fromTheme(QStringLiteral("preferences-system-bluetooth"))); 0044 app.setQuitOnLastWindowClosed(false); 0045 0046 KAboutData::setApplicationData(aboutData); 0047 KDBusService service; 0048 0049 QCommandLineOption kioOption(QStringList() << QStringLiteral("kio") << QStringLiteral("k")); 0050 kioOption.setDescription(i18n("Specify receiving device by MAC address.")); 0051 kioOption.setValueName(QStringLiteral("bluetooth://address")); 0052 0053 QCommandLineOption ubiOption(QStringList() << QStringLiteral("ubi") << QStringLiteral("u")); 0054 ubiOption.setDescription(i18n("Specify receiving device by UBI path.")); 0055 ubiOption.setValueName(QStringLiteral("ubi")); 0056 0057 QCommandLineOption filesOption(QStringList() << QStringLiteral("files") << QStringLiteral("f")); 0058 filesOption.setDescription(i18n("Files to be sent.")); 0059 filesOption.setValueName(QStringLiteral("files")); 0060 0061 QCommandLineParser parser; 0062 parser.addOption(kioOption); 0063 parser.addOption(ubiOption); 0064 parser.addOption(filesOption); 0065 aboutData.setupCommandLine(&parser); 0066 0067 parser.process(app); 0068 aboutData.processCommandLine(&parser); 0069 0070 QString deviceInfo = parser.value(ubiOption); 0071 if (deviceInfo.isEmpty()) { 0072 deviceInfo = parser.value(kioOption); 0073 } 0074 0075 SendFileWizard *wizard = new SendFileWizard(deviceInfo, parser.values(filesOption)); 0076 0077 QObject::connect(&service, &KDBusService::activateRequested, wizard, [wizard]() { 0078 KWindowSystem::updateStartupId(wizard->windowHandle()); 0079 KWindowSystem::activateWindow(wizard->windowHandle()); 0080 }); 0081 0082 return app.exec(); 0083 }