]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/contextmenu/contextmenusettingspage.cpp
Fix a bunch of clazy warnings
[dolphin.git] / src / settings / contextmenu / contextmenusettingspage.cpp
index daf15bc1b3e98b34c7d68606a9922cc498780d73..ea780550abe1ab436a3a31806ae99e969b1e6397 100644 (file)
@@ -7,7 +7,6 @@
 #include "contextmenusettingspage.h"
 
 #include "dolphin_contextmenusettings.h"
-#include "dolphin_generalsettings.h"
 #include "dolphin_versioncontrolsettings.h"
 #include "global.h"
 #include "settings/serviceitemdelegate.h"
@@ -20,6 +19,7 @@
 #include <KMessageBox>
 #include <KPluginMetaData>
 #include <KService>
+#include <KServiceTypeTrader>
 #include <kio_version.h>
 #include <kiocore_export.h>
 #include <kservice_export.h>
@@ -65,7 +65,7 @@ ContextMenuSettingsPage::ContextMenuSettingsPage(QWidget *parent, const KActionC
                                this);
     label->setWordWrap(true);
     m_searchLineEdit = new QLineEdit(this);
-    m_searchLineEdit->setPlaceholderText(i18nc("@label:textbox", "Search..."));
+    m_searchLineEdit->setPlaceholderText(i18nc("@label:textbox", "Search"));
     connect(m_searchLineEdit, &QLineEdit::textChanged, this, [this](const QString &filter) {
         m_sortModel->setFilterFixedString(filter);
     });
@@ -92,7 +92,7 @@ ContextMenuSettingsPage::ContextMenuSettingsPage(QWidget *parent, const KActionC
 
 #ifndef Q_OS_WIN
     using NewStuffButton = KNSWidgets::Button;
-    auto *downloadButton = new NewStuffButton(i18nc("@action:button", "Download New Services..."), QStringLiteral("servicemenu.knsrc"), this);
+    auto *downloadButton = new NewStuffButton(i18nc("@action:button", "Download New Services"), QStringLiteral("servicemenu.knsrc"), this);
     connect(downloadButton, &NewStuffButton::dialogFinished, this, [this](const auto &changedEntries) {
         if (!changedEntries.isEmpty()) {
             m_serviceModel->clear();
@@ -128,6 +128,10 @@ bool ContextMenuSettingsPage::entryVisible(const QString &id)
         return ContextMenuSettings::showDuplicateHere();
     } else if (id == "open_terminal_here") {
         return ContextMenuSettings::showOpenTerminal();
+    } else if (id == "copy_to_inactive_split_view") {
+        return ContextMenuSettings::showCopyToOtherSplitView();
+    } else if (id == "move_to_inactive_split_view") {
+        return ContextMenuSettings::showMoveToOtherSplitView();
     }
     return false;
 }
@@ -150,6 +154,10 @@ void ContextMenuSettingsPage::setEntryVisible(const QString &id, bool visible)
         ContextMenuSettings::setShowDuplicateHere(visible);
     } else if (id == "open_terminal_here") {
         ContextMenuSettings::setShowOpenTerminal(visible);
+    } else if (id == "copy_to_inactive_split_view") {
+        ContextMenuSettings::setShowCopyToOtherSplitView(visible);
+    } else if (id == "move_to_inactive_split_view") {
+        ContextMenuSettings::setShowMoveToOtherSplitView(visible);
     }
 }
 
@@ -197,24 +205,15 @@ 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 {
@@ -281,6 +280,13 @@ void ContextMenuSettingsPage::loadServices()
     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);
 
@@ -299,6 +305,18 @@ void ContextMenuSettingsPage::loadServices()
         }
     }
 
+    // Load service plugins, this is deprecated in KIO 5.82
+#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();
+        if (!isInServicesList(desktopEntryName)) {
+            const bool checked = showGroup.readEntry(desktopEntryName, true);
+            addRow(service->icon(), service->name(), desktopEntryName, checked);
+        }
+    }
+#endif
+
     // Load JSON-based plugins that implement the KFileItemActionPlugin interface
     const auto jsonPlugins = KPluginMetaData::findPlugins(QStringLiteral("kf" QT_STRINGIFY(QT_VERSION_MAJOR)) + QStringLiteral("/kfileitemaction"));
 
@@ -352,3 +370,5 @@ void ContextMenuSettingsPage::addRow(const QString &icon, const QString &text, c
     m_serviceModel->setData(index, value, ServiceModel::DesktopEntryNameRole);
     m_serviceModel->setData(index, checked, Qt::CheckStateRole);
 }
+
+#include "moc_contextmenusettingspage.cpp"