X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/04e825d022c77baad3345269da7a210e95274f07..ae415dcebdf61430ee54a5afc1dc4e6517f34234:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index af8b61384..4371bcdfd 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -235,6 +235,20 @@ void DolphinContextMenu::openItemContextMenu() this); addAction(openParentInNewTabAction); + addSeparator(); + } + } else { + bool selectionHasOnlyDirs = true; + foreach (const KFileItem& item, m_selectedItems) { + if (!item.isDir()) { + selectionHasOnlyDirs = false; + break; + } + } + + if (selectionHasOnlyDirs) { + // insert 'Open in new tab' entry + addAction(m_mainWindow->actionCollection()->action("open_in_new_tabs")); addSeparator(); } } @@ -455,20 +469,25 @@ void DolphinContextMenu::addFileItemPluginActions() const KConfigGroup showGroup = config.group("Show"); foreach (const KSharedPtr& service, pluginServices) { - if (!showGroup.readEntry(service->desktopEntryName(), true)) { - // The plugin has been disabled - continue; - } - // Old API (kdelibs-4.6.0 only) KFileItemActionPlugin* plugin = service->createInstance(); if (plugin) { + if (!showGroup.readEntry(service->desktopEntryName(), true)) { + // The plugin has been disabled + continue; + } + plugin->setParent(this); addActions(plugin->actions(props, m_mainWindow)); } // New API (kdelibs >= 4.6.1) KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance(); if (abstractPlugin) { + if (!showGroup.readEntry(service->desktopEntryName(), abstractPlugin->enabledByDefault())) { + // The plugin has been disabled + continue; + } + abstractPlugin->setParent(this); addActions(abstractPlugin->actions(props, m_mainWindow)); }