mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
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
This commit is contained in:
parent
dacded2afd
commit
42153e55e6
|
@ -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) {
|
||||
|
|
|
@ -58,6 +58,7 @@ public:
|
|||
enum Command
|
||||
{
|
||||
None,
|
||||
OpenParentFolder,
|
||||
OpenParentFolderInNewWindow,
|
||||
OpenParentFolderInNewTab
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue