]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/contextmenu/contextmenusettingspage.cpp
Port away from deprecated KMessageBox Yes/No
[dolphin.git] / src / settings / contextmenu / contextmenusettingspage.cpp
index fa4ba11a75c6b494c8ac869f46e2a4b0e255dc74..974ddb53172e88a0a2e15838657c976dde24f6e5 100644 (file)
@@ -24,6 +24,7 @@
 #include <kio_version.h>
 #include <kiocore_export.h>
 #include <kservice_export.h>
+#include <kwidgetsaddons_version.h>
 
 #include <QtGlobal>
 #include <KNSWidgets/Button>
@@ -199,14 +200,22 @@ void ContextMenuSettingsPage::applySettings()
         VersionControlSettings::self()->save();
 
         if (!laterSelected) {
+#if KWIDGETSADDONS_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+            KMessageBox::ButtonCode promptRestart = KMessageBox::questionTwoActions(window(),
+#else
             KMessageBox::ButtonCode promptRestart = KMessageBox::questionYesNo(window(),
+#endif
                                     i18nc("@info", "Dolphin must be restarted to apply the "
                                                 "updated version control system settings."),
                                     i18nc("@info", "Restart now?"),
                                     KGuiItem(QApplication::translate("KStandardGuiItem", "&Restart"), QStringLiteral("dialog-restart")),
                                     KGuiItem(QApplication::translate("KStandardGuiItem", "&Later"), QStringLiteral("dialog-later"))
                         );
+#if KWIDGETSADDONS_VERSION >= QT_VERSION_CHECK(5, 100, 0)
+            if (promptRestart == KMessageBox::ButtonCode::PrimaryAction) {
+#else
             if (promptRestart == KMessageBox::ButtonCode::Yes) {
+#endif
                 Dolphin::openNewWindow();
                 qApp->quit();
             } else {
@@ -317,7 +326,7 @@ void ContextMenuSettingsPage::loadServices()
 #endif
 
     // Load JSON-based plugins that implement the KFileItemActionPlugin interface
-    const auto jsonPlugins = KPluginMetaData::findPlugins(QStringLiteral("kf5/kfileitemaction"));
+    const auto jsonPlugins = KPluginMetaData::findPlugins(QStringLiteral("kf" QT_STRINGIFY(QT_VERSION_MAJOR)) + QStringLiteral("/kfileitemaction"));
 
     for (const auto &jsonMetadata : jsonPlugins) {
         const QString desktopEntryName = jsonMetadata.pluginId();