#include "contextmenusettingspage.h"
#include "dolphin_contextmenusettings.h"
-#include "dolphin_generalsettings.h"
#include "dolphin_versioncontrolsettings.h"
#include "global.h"
#include "settings/serviceitemdelegate.h"
#include <KMessageBox>
#include <KPluginMetaData>
#include <KService>
+#include <KServiceTypeTrader>
#include <kio_version.h>
#include <kiocore_export.h>
#include <kservice_export.h>
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);
});
#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();
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;
}
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);
}
}
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 {
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);
}
}
+ // 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"));
m_serviceModel->setData(index, value, ServiceModel::DesktopEntryNameRole);
m_serviceModel->setData(index, checked, Qt::CheckStateRole);
}
+
+#include "moc_contextmenusettingspage.cpp"