X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ae415dcebdf61430ee54a5afc1dc4e6517f34234..0d6bf0359872deeabde854cc14af558281a078a6:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 4371bcdfd..7073dbf13 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -235,12 +235,19 @@ void DolphinContextMenu::openItemContextMenu() this); addAction(openParentInNewTabAction); + addSeparator(); + } else if (!DolphinView::openItemAsFolderUrl(m_fileInfo).isEmpty()) { + // insert 'Open in new window' and 'Open in new tab' entries + addAction(m_mainWindow->actionCollection()->action("open_in_new_window")); + addAction(m_mainWindow->actionCollection()->action("open_in_new_tab")); + addSeparator(); } } else { bool selectionHasOnlyDirs = true; foreach (const KFileItem& item, m_selectedItems) { - if (!item.isDir()) { + const KUrl& url = DolphinView::openItemAsFolderUrl(item); + if (url.isEmpty()) { selectionHasOnlyDirs = false; break; } @@ -469,25 +476,20 @@ 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)); }