]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
use a smaller step size when using the scroll wheel
[dolphin.git] / src / dolphinmainwindow.cpp
index 9fe6814623573bfc23fbc5490005de9134ddc19f..ebb11ba5b5a06e6e0eb9864a8c6d01076553b81b 100644 (file)
@@ -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);