X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6e05c6365eec005caa3198a13bb071c782b8b192..cf2da56c5e76c168ffdcdf7e2bbbf3ae4f924f55:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index befe98677..a521551e5 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -81,6 +81,8 @@ DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent, DolphinContextMenu::~DolphinContextMenu() { + delete m_baseFileItem; + m_baseFileItem = nullptr; delete m_selectedItemsProperties; m_selectedItemsProperties = nullptr; } @@ -231,6 +233,8 @@ void DolphinContextMenu::openItemContextMenu() addSeparator(); } else if (m_baseUrl.scheme().contains(QStringLiteral("search")) || m_baseUrl.scheme().contains(QStringLiteral("timeline"))) { + addOpenWithActions(fileItemActions); + openParentAction = new QAction(QIcon::fromTheme(QStringLiteral("document-open-folder")), i18nc("@action:inmenu", "Open Path"), @@ -337,7 +341,12 @@ void DolphinContextMenu::openViewportContextMenu() addSeparator(); // Insert 'Open With' entries - const KFileItemListProperties baseUrlProperties(KFileItemList() << baseFileItem()); + KFileItem baseItem = view->rootItem(); + if (baseItem.isNull() || baseItem.url() != m_baseUrl) { + baseItem = baseFileItem(); + } + + const KFileItemListProperties baseUrlProperties(KFileItemList() << baseItem); KFileItemActions fileItemActions; fileItemActions.setParentWidget(m_mainWindow); fileItemActions.setItemListProperties(baseUrlProperties); @@ -345,7 +354,7 @@ void DolphinContextMenu::openViewportContextMenu() // Insert 'New Window' and 'New Tab' entries. Don't use "open_in_new_window" and // "open_in_new_tab" here, as the current selection should get ignored. - addAction(m_mainWindow->actionCollection()->action(QStringLiteral("new_window"))); + addAction(m_mainWindow->actionCollection()->action(QStringLiteral("file_new"))); addAction(m_mainWindow->actionCollection()->action(QStringLiteral("new_tab"))); // Insert 'Add to Places' entry if exactly one item is selected @@ -361,6 +370,12 @@ void DolphinContextMenu::openViewportContextMenu() addAction(pasteAction); addSeparator(); + // Insert 'Sort By' and 'View Mode' + addAction(m_mainWindow->actionCollection()->action(QStringLiteral("sort"))); + addAction(m_mainWindow->actionCollection()->action(QStringLiteral("view_mode"))); + + addSeparator(); + // Insert service actions fileItemActions.addServiceActionsTo(this); fileItemActions.addPluginActionsTo(this);