Q_ASSERT(!m_fileInfo.isNull());
KMenu* popup = new KMenu(m_mainWindow);
+ if (m_fileInfo.isDir() && (m_selectedUrls.count() == 1)) {
+ popup->addAction(m_mainWindow->actionCollection()->action("open_in_new_window"));
+ popup->addAction(m_mainWindow->actionCollection()->action("open_in_new_tab"));
+ popup->addSeparator();
+ }
addShowMenubarAction(popup);
insertDefaultItemActions(popup);
m_tabBar->setCurrentIndex(tabIndex);
}
+void DolphinMainWindow::openInNewTab()
+{
+ const KFileItemList list = m_activeViewContainer->view()->selectedItems();
+ if ((list.count() == 1) && list[0].isDir()) {
+ openNewTab(m_activeViewContainer->view()->selectedUrls()[0]);
+ m_tabBar->setCurrentIndex(m_viewTab.count() - 1);
+ }
+}
+
+void DolphinMainWindow::openInNewWindow()
+{
+ const KFileItemList list = m_activeViewContainer->view()->selectedItems();
+ if ((list.count() == 1) && list[0].isDir()) {
+ DolphinMainWindow* window = DolphinApplication::app()->createMainWindow();
+ window->changeUrl(m_activeViewContainer->view()->selectedUrls()[0]);
+ window->show();
+ }
+}
+
void DolphinMainWindow::toggleActiveView()
{
if (m_viewTab[m_tabIndex].secondaryView == 0) {
connect(activatePrevTab, SIGNAL(triggered()), SLOT(activatePrevTab()));
activatePrevTab->setShortcuts(QApplication::isRightToLeft() ? KStandardShortcut::tabNext() :
KStandardShortcut::tabPrev());
+
+ // for context menu
+ KAction* openInNewTab = actionCollection()->addAction("open_in_new_tab");
+ openInNewTab->setText(i18nc("@action:inmenu", "Open in New Tab"));
+ openInNewTab->setIcon(KIcon("tab-new"));
+ connect(openInNewTab, SIGNAL(triggered()), this, SLOT(openInNewTab()));
+
+ KAction* openInNewWindow = actionCollection()->addAction("open_in_new_window");
+ openInNewWindow->setText(i18nc("@action:inmenu", "Open in New Window"));
+ openInNewWindow->setIcon(KIcon("window-new"));
+ connect(openInNewWindow, SIGNAL(triggered()), this, SLOT(openInNewWindow()));
}
void DolphinMainWindow::setupDockWidgets()