Added the "Open in new Tabs" action to the Dolphin Context menu.

BUG: 312296
REVIEW: 110371
FIXED-IN: 4.11.0
This commit is contained in:
Emmanuel Pescosta 2013-05-22 21:47:14 +02:00
parent dfdb631b55
commit 05d9210e29
2 changed files with 26 additions and 3 deletions

View file

@ -235,6 +235,20 @@ void DolphinContextMenu::openItemContextMenu()
this); this);
addAction(openParentInNewTabAction); addAction(openParentInNewTabAction);
addSeparator();
}
} else {
bool selectionHasOnlyDirs = true;
foreach (const KFileItem& item, m_selectedItems) {
if (!item.isDir()) {
selectionHasOnlyDirs = false;
break;
}
}
if (selectionHasOnlyDirs) {
// insert 'Open in new tab' entry
addAction(m_mainWindow->actionCollection()->action("open_in_new_tabs"));
addSeparator(); addSeparator();
} }
} }

View file

@ -520,11 +520,15 @@ void DolphinMainWindow::activatePrevTab()
void DolphinMainWindow::openInNewTab() void DolphinMainWindow::openInNewTab()
{ {
const KFileItemList list = m_activeViewContainer->view()->selectedItems(); const KFileItemList& list = m_activeViewContainer->view()->selectedItems();
if (list.isEmpty()) { if (list.isEmpty()) {
openNewTab(m_activeViewContainer->url()); openNewTab(m_activeViewContainer->url());
} else if ((list.count() == 1) && list[0].isDir()) { } else {
openNewTab(list[0].url()); foreach (const KFileItem& item, list) {
if (item.isDir()) {
openNewTab(item.url());
}
}
} }
} }
@ -1645,6 +1649,11 @@ void DolphinMainWindow::setupActions()
openInNewTab->setIcon(KIcon("tab-new")); openInNewTab->setIcon(KIcon("tab-new"));
connect(openInNewTab, SIGNAL(triggered()), this, SLOT(openInNewTab())); connect(openInNewTab, SIGNAL(triggered()), this, SLOT(openInNewTab()));
KAction* openInNewTabs = actionCollection()->addAction("open_in_new_tabs");
openInNewTabs->setText(i18nc("@action:inmenu", "Open in New Tabs"));
openInNewTabs->setIcon(KIcon("tab-new"));
connect(openInNewTabs, SIGNAL(triggered()), this, SLOT(openInNewTab()));
KAction* openInNewWindow = actionCollection()->addAction("open_in_new_window"); KAction* openInNewWindow = actionCollection()->addAction("open_in_new_window");
openInNewWindow->setText(i18nc("@action:inmenu", "Open in New Window")); openInNewWindow->setText(i18nc("@action:inmenu", "Open in New Window"));
openInNewWindow->setIcon(KIcon("window-new")); openInNewWindow->setIcon(KIcon("window-new"));