diff --git a/daemon/actions/bundled/wirelesspowersavingconfig.cpp b/daemon/actions/bundled/wirelesspowersavingconfig.cpp --- a/daemon/actions/bundled/wirelesspowersavingconfig.cpp +++ b/daemon/actions/bundled/wirelesspowersavingconfig.cpp @@ -111,14 +111,9 @@ retlist.append(qMakePair< QString, QWidget* >(i18n("Mobile broadband"), m_wwanCombobox)); retlist.append(qMakePair< QString, QWidget* >(i18n("Bluetooth"), m_btCombobox)); -#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) - const auto comboIndexChanged = QOverload::of(&QComboBox::currentIndexChanged); -#else - const auto comboIndexChanged = QOverload::of(&QComboBox::currentIndexChanged); -#endif - connect(m_wifiCombobox, comboIndexChanged, this, &WirelessPowerSavingConfig::setChanged); - connect(m_wwanCombobox, comboIndexChanged, this, &WirelessPowerSavingConfig::setChanged); - connect(m_btCombobox, comboIndexChanged, this, &WirelessPowerSavingConfig::setChanged); + connect(m_wifiCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged); + connect(m_wwanCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged); + connect(m_btCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged); return retlist; } diff --git a/daemon/powerdevilapp.cpp b/daemon/powerdevilapp.cpp --- a/daemon/powerdevilapp.cpp +++ b/daemon/powerdevilapp.cpp @@ -203,16 +203,26 @@ int main(int argc, char **argv) { QGuiApplication::setDesktopSettingsAware(false); + QGuiApplication::setAttribute(Qt::AA_DisableSessionManager); KWorkSpace::detectPlatform(argc, argv); PowerDevilApp app(argc, argv); - auto disableSessionManagement = [](QSessionManager &sm) { - sm.setRestartHint(QSessionManager::RestartNever); - }; - QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement); - QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement); + bool replace = false; + { + QCommandLineParser parser; + QCommandLineOption replaceOption({QStringLiteral("replace")}, i18n("Replace an existing instance")); - KDBusService service(KDBusService::Unique); + parser.addOption(replaceOption); + + KAboutData aboutData = KAboutData::applicationData(); + aboutData.setupCommandLine(&parser); + + parser.process(app); + aboutData.processCommandLine(&parser); + + replace = parser.isSet(replaceOption); + } + KDBusService service(KDBusService::Unique | KDBusService::StartupOption(replace ? KDBusService::Replace : 0)); KCrash::setFlags(KCrash::AutoRestart); app.setQuitOnLastWindowClosed(false);