diff options
| author | Kai Uwe Broulik <[email protected]> | 2014-09-09 15:31:55 +0200 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2014-09-09 15:31:55 +0200 |
| commit | 42153e55e64d25dd0a1df30ae13c746320c7774a (patch) | |
| tree | 151d028efcc04c198d59de52c4166b6b2e8a3ef1 /src | |
| parent | dacded2afdfa85a16b99d8522284155cd5175ee5 (diff) | |
Add "Open Path" context menu action
This adds a third option to the "in new tab" and "in new window" which opens
the parent folder in the same view
BUG: 298704
FIXED-IN: 4.15
REVIEW: 110133
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphincontextmenu.cpp | 11 | ||||
| -rw-r--r-- | src/dolphincontextmenu.h | 1 | ||||
| -rw-r--r-- | src/dolphinmainwindow.cpp | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 22272fb74..e74adca55 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -200,6 +200,7 @@ void DolphinContextMenu::openItemContextMenu() { Q_ASSERT(!m_fileInfo.isNull()); + QAction* openParentAction = 0; QAction* openParentInNewWindowAction = 0; QAction* openParentInNewTabAction = 0; QAction* addToPlacesAction = 0; @@ -235,7 +236,13 @@ void DolphinContextMenu::openItemContextMenu() } addSeparator(); - } else if (m_baseUrl.protocol().contains("search")) { + } else if (m_baseUrl.protocol().contains("search") || m_baseUrl.protocol().contains("timeline")) { + openParentAction = new QAction(QIcon::fromTheme("document-open-folder"), + i18nc("@action:inmenu", + "Open Path"), + this); + addAction(openParentAction); + openParentInNewWindowAction = new QAction(QIcon::fromTheme("window-new"), i18nc("@action:inmenu", "Open Path in New Window"), @@ -306,6 +313,8 @@ void DolphinContextMenu::openItemContextMenu() PlacesItem* item = model.createPlacesItem(text, selectedUrl); model.appendItemToGroup(item); } + } else if (activatedAction == openParentAction) { + m_command = OpenParentFolder; } else if (activatedAction == openParentInNewWindowAction) { m_command = OpenParentFolderInNewWindow; } else if (activatedAction == openParentInNewTabAction) { diff --git a/src/dolphincontextmenu.h b/src/dolphincontextmenu.h index 180f91787..3646ebcb5 100644 --- a/src/dolphincontextmenu.h +++ b/src/dolphincontextmenu.h @@ -58,6 +58,7 @@ public: enum Command { None, + OpenParentFolder, OpenParentFolderInNewWindow, OpenParentFolderInNewTab }; diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 21d132020..f9ebe33ac 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -773,6 +773,10 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos, const DolphinContextMenu::Command command = contextMenu.data()->open(); switch (command) { + case DolphinContextMenu::OpenParentFolder: + changeUrl(KIO::upUrl(item.url())); + break; + case DolphinContextMenu::OpenParentFolderInNewWindow: { KRun::run("dolphin %u", QList<QUrl>() << KIO::upUrl(item.url()), this); |
