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());
|
Q_ASSERT(!m_fileInfo.isNull());
|
||||||
|
|
||||||
|
QAction* openParentAction = 0;
|
||||||
QAction* openParentInNewWindowAction = 0;
|
QAction* openParentInNewWindowAction = 0;
|
||||||
QAction* openParentInNewTabAction = 0;
|
QAction* openParentInNewTabAction = 0;
|
||||||
QAction* addToPlacesAction = 0;
|
QAction* addToPlacesAction = 0;
|
||||||
|
@ -235,7 +236,13 @@ void DolphinContextMenu::openItemContextMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
addSeparator();
|
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"),
|
openParentInNewWindowAction = new QAction(QIcon::fromTheme("window-new"),
|
||||||
i18nc("@action:inmenu",
|
i18nc("@action:inmenu",
|
||||||
"Open Path in New Window"),
|
"Open Path in New Window"),
|
||||||
|
@ -306,6 +313,8 @@ void DolphinContextMenu::openItemContextMenu()
|
||||||
PlacesItem* item = model.createPlacesItem(text, selectedUrl);
|
PlacesItem* item = model.createPlacesItem(text, selectedUrl);
|
||||||
model.appendItemToGroup(item);
|
model.appendItemToGroup(item);
|
||||||
}
|
}
|
||||||
|
} else if (activatedAction == openParentAction) {
|
||||||
|
m_command = OpenParentFolder;
|
||||||
} else if (activatedAction == openParentInNewWindowAction) {
|
} else if (activatedAction == openParentInNewWindowAction) {
|
||||||
m_command = OpenParentFolderInNewWindow;
|
m_command = OpenParentFolderInNewWindow;
|
||||||
} else if (activatedAction == openParentInNewTabAction) {
|
} else if (activatedAction == openParentInNewTabAction) {
|
||||||
|
|
|
@ -58,6 +58,7 @@ public:
|
||||||
enum Command
|
enum Command
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
|
OpenParentFolder,
|
||||||
OpenParentFolderInNewWindow,
|
OpenParentFolderInNewWindow,
|
||||||
OpenParentFolderInNewTab
|
OpenParentFolderInNewTab
|
||||||
};
|
};
|
||||||
|
|
|
@ -773,6 +773,10 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
|
||||||
const DolphinContextMenu::Command command = contextMenu.data()->open();
|
const DolphinContextMenu::Command command = contextMenu.data()->open();
|
||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
|
case DolphinContextMenu::OpenParentFolder:
|
||||||
|
changeUrl(KIO::upUrl(item.url()));
|
||||||
|
break;
|
||||||
|
|
||||||
case DolphinContextMenu::OpenParentFolderInNewWindow: {
|
case DolphinContextMenu::OpenParentFolderInNewWindow: {
|
||||||
|
|
||||||
KRun::run("dolphin %u", QList<QUrl>() << KIO::upUrl(item.url()), this);
|
KRun::run("dolphin %u", QList<QUrl>() << KIO::upUrl(item.url()), this);
|
||||||
|
|
Loading…
Reference in a new issue