X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f542da84a27e11f58405da729e952987d16f151d..b60da9b67acbfe94e43bd631e4e685f366d53ec5:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 9fe681462..ebb11ba5b 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -297,6 +297,13 @@ void DolphinMainWindow::openNewTab() { openNewTab(m_activeViewContainer->url()); m_tabBar->setCurrentIndex(m_viewTab.count() - 1); + + KUrlNavigator* navigator = m_activeViewContainer->urlNavigator(); + if (navigator->isUrlEditable()) { + // if a new tab is opened and the URL is editable, assure that + // the user can edit the URL without manually setting the focus + navigator->setFocus(); + } } void DolphinMainWindow::openNewTab(const KUrl& url) @@ -313,6 +320,7 @@ void DolphinMainWindow::openNewTab(const KUrl& url) ViewTab viewTab; viewTab.splitter = new QSplitter(this); viewTab.primaryView = new DolphinViewContainer(this, viewTab.splitter, url); + viewTab.primaryView->setActive(false); connectViewSignals(viewTab.primaryView); viewTab.primaryView->view()->reload(); @@ -349,7 +357,6 @@ 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); } } @@ -710,7 +717,12 @@ void DolphinMainWindow::setActiveTab(int index) } // hide current tab content - m_viewTab[m_tabIndex].isPrimaryViewActive = m_viewTab[m_tabIndex].primaryView->isActive(); + ViewTab& hiddenTab = m_viewTab[m_tabIndex]; + hiddenTab.isPrimaryViewActive = hiddenTab.primaryView->isActive(); + hiddenTab.primaryView->setActive(false); + if (hiddenTab.secondaryView != 0) { + hiddenTab.secondaryView->setActive(false); + } QSplitter* splitter = m_viewTab[m_tabIndex].splitter; splitter->hide(); m_centralWidgetLayout->removeWidget(splitter);