]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/contextmenu/contextmenusettingspage.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / settings / contextmenu / contextmenusettingspage.cpp
index 548e3e049c9a9f869d081fb457e2d607f653694c..974ddb53172e88a0a2e15838657c976dde24f6e5 100644 (file)
 #include <KService>
 #include <KServiceTypeTrader>
 #include <kio_version.h>
+#include <kiocore_export.h>
+#include <kservice_export.h>
+#include <kwidgetsaddons_version.h>
 
 #include <QtGlobal>
-#include <knewstuff_version.h>
-#if KNEWSTUFF_VERSION >= QT_VERSION_CHECK(5, 91, 0)
 #include <KNSWidgets/Button>
-#else
-#include <KNS3/Button>
-#endif
 
 #include <QGridLayout>
 #include <QLabel>
@@ -95,11 +93,7 @@ ContextMenuSettingsPage::ContextMenuSettingsPage(QWidget* parent,
     topLayout->addWidget(m_listView);
 
 #ifndef Q_OS_WIN
-#if KNEWSTUFF_VERSION >= QT_VERSION_CHECK(5, 91, 0)
     using NewStuffButton = KNSWidgets::Button;
-#else
-    using NewStuffButton = KNS3::Button;
-#endif // KNEWSTUFF_VERSION
     auto *downloadButton = new NewStuffButton(i18nc("@action:button", "Download New Services..."),
                                               QStringLiteral("servicemenu.knsrc"),
                                               this);
@@ -206,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 {
@@ -283,10 +285,14 @@ void ContextMenuSettingsPage::loadServices()
     // Load generic services
     const auto locations = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kio/servicemenus"), QStandardPaths::LocateDirectory);
     QStringList files = KFileUtils::findAllUniqueFiles(locations);
+
+#if KIOWIDGETS_BUILD_DEPRECATED_SINCE(5, 90)
     const KService::List services = KServiceTypeTrader::self()->query(QStringLiteral("KonqPopupMenu/Plugin"));
     for (const KService::Ptr &service : services) {
         files << QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kservices5/" % service->entryPath());
     }
+#endif
+
     for (const auto &file : qAsConst(files)) {
         const QList<KServiceAction> serviceActions = KDesktopFileActions::userDefinedServices(KService(file), true);
 
@@ -308,7 +314,7 @@ void ContextMenuSettingsPage::loadServices()
     }
 
     // Load service plugins, this is deprecated in KIO 5.82
-#if KIO_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#if KIOCORE_BUILD_DEPRECATED_SINCE(5, 82)
     const KService::List pluginServices = KServiceTypeTrader::self()->query(QStringLiteral("KFileItemAction/Plugin"));
     for (const KService::Ptr &service : pluginServices) {
         const QString desktopEntryName = service->desktopEntryName();
@@ -320,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();