diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index eb3f641e5a..ed6db0c124 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -508,7 +508,7 @@ void DolphinContextMenu::addAdditionalActions(KFileItemActions &fileItemActions, addSeparator(); QList additionalActions; - if (props.isDirectory() && props.isLocal()) { + if (props.isDirectory() && props.isLocal() && ContextMenuSettings::showOpenTerminal()) { additionalActions << m_mainWindow->actionCollection()->action(QStringLiteral("open_terminal")); } fileItemActions.addActionsTo(this, KFileItemActions::MenuActionSource::All, additionalActions); diff --git a/src/settings/contextmenu/contextmenusettingspage.cpp b/src/settings/contextmenu/contextmenusettingspage.cpp index 18b16083b0..34934bb877 100644 --- a/src/settings/contextmenu/contextmenusettingspage.cpp +++ b/src/settings/contextmenu/contextmenusettingspage.cpp @@ -122,6 +122,8 @@ bool ContextMenuSettingsPage::entryVisible(const QString& id) return ContextMenuSettings::showCopyLocation(); } else if (id == "duplicate") { return ContextMenuSettings::showDuplicateHere(); + } else if (id == "open_terminal") { + return ContextMenuSettings::showOpenTerminal(); } return false; } @@ -142,6 +144,8 @@ void ContextMenuSettingsPage::setEntryVisible(const QString& id, bool visible) ContextMenuSettings::setShowCopyLocation(visible); } else if (id == "duplicate") { ContextMenuSettings::setShowDuplicateHere(visible); + } else if (id == "open_terminal") { + ContextMenuSettings::setShowOpenTerminal(visible); } } diff --git a/src/settings/dolphin_contextmenusettings.kcfg b/src/settings/dolphin_contextmenusettings.kcfg index 9e70565519..44fd83513f 100644 --- a/src/settings/dolphin_contextmenusettings.kcfg +++ b/src/settings/dolphin_contextmenusettings.kcfg @@ -38,5 +38,9 @@ true + + + true + diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp index 4d759c9110..0303e59069 100644 --- a/src/settings/dolphinsettingsdialog.cpp +++ b/src/settings/dolphinsettingsdialog.cpp @@ -85,7 +85,8 @@ DolphinSettingsDialog::DolphinSettingsDialog(const QUrl& url, QWidget* parent, K QStringLiteral("open_in_new_tab"), QStringLiteral("open_in_new_window"), QStringLiteral("copy_location"), - QStringLiteral("duplicate") + QStringLiteral("duplicate"), + QStringLiteral("open_terminal"), }); KPageWidgetItem* contextMenuSettingsFrame = addPage(contextMenuSettingsPage, i18nc("@title:group", "Context Menu"));