-void DolphinMainWindow::openTabContextMenu(int index, const QPoint& pos)
-{
- KMenu menu(this);
-
- QAction* newTabAction = menu.addAction(KIcon("tab-new"), i18nc("@action:inmenu", "New Tab"));
- newTabAction->setShortcut(actionCollection()->action("new_tab")->shortcut());
-
- QAction* detachTabAction = menu.addAction(KIcon("tab-detach"), i18nc("@action:inmenu", "Detach Tab"));
-
- QAction* closeOtherTabsAction = menu.addAction(KIcon("tab-close-other"), i18nc("@action:inmenu", "Close Other Tabs"));
-
- QAction* closeTabAction = menu.addAction(KIcon("tab-close"), i18nc("@action:inmenu", "Close Tab"));
- closeTabAction->setShortcut(actionCollection()->action("close_tab")->shortcut());
- QAction* selectedAction = menu.exec(pos);
- if (selectedAction == newTabAction) {
- const ViewTab& tab = m_viewTab[index];
- Q_ASSERT(tab.primaryView != 0);
- const KUrl url = (tab.secondaryView != 0) && tab.secondaryView->isActive() ?
- tab.secondaryView->url() : tab.primaryView->url();
- openNewTab(url);
- m_tabBar->setCurrentIndex(m_viewTab.count() - 1);
- } else if (selectedAction == detachTabAction) {
- const ViewTab& tab = m_viewTab[index];
- Q_ASSERT(tab.primaryView != 0);
- const KUrl primaryUrl = tab.primaryView->url();
- DolphinMainWindow* window = DolphinApplication::app()->createMainWindow();
- window->changeUrl(primaryUrl);
-
- if (tab.secondaryView != 0) {
- const KUrl secondaryUrl = tab.secondaryView->url();
- window->toggleSplitView();
- window->m_viewTab[0].secondaryView->setUrl(secondaryUrl);
- if (tab.primaryView->isActive()) {
- window->m_viewTab[0].primaryView->setActive(true);
- } else {
- window->m_viewTab[0].secondaryView->setActive(true);
- }
- }
- window->show();
- closeTab(index);
- } else if (selectedAction == closeOtherTabsAction) {
- const int count = m_tabBar->count();
- for (int i = 0; i < index; ++i) {
- closeTab(0);
- }
- for (int i = index + 1; i < count; ++i) {
- closeTab(1);
- }
- } else if (selectedAction == closeTabAction) {
- closeTab(index);
- }
-}
-
-void DolphinMainWindow::slotTabMoved(int from, int to)
-{
- m_viewTab.move(from, to);
- m_tabIndex = m_tabBar->currentIndex();
-}
-
-void DolphinMainWindow::handlePlacesClick(const KUrl& url, Qt::MouseButtons buttons)
-{
- if (buttons & Qt::MidButton) {
- openNewTab(url);
- m_tabBar->setCurrentIndex(m_viewTab.count() - 1);
- } else {
- changeUrl(url);
- }
-}
-
-void DolphinMainWindow::slotTestCanDecode(const QDragMoveEvent* event, bool& canDecode)
-{
- canDecode = KUrl::List::canDecode(event->mimeData());
-}
-
-void DolphinMainWindow::handleUrl(const KUrl& url)