]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.cpp
Allow folder creation on desktop via F10 shortcut
[dolphin.git] / src / dolphintabwidget.cpp
index a09a769d37c7497a9e2f185821daa93c713b1158..da8f76d7c4fbf56c648f9bb449cf5ae23cbad0f4 100644 (file)
@@ -8,7 +8,6 @@
 
 #include "dolphin_generalsettings.h"
 #include "dolphintabbar.h"
-#include "dolphintabpage.h"
 #include "dolphinviewcontainer.h"
 
 #include <KConfigGroup>
@@ -128,12 +127,9 @@ bool DolphinTabWidget::isUrlOpen(const QUrl &url) const
 void DolphinTabWidget::openNewActivatedTab()
 {
     std::unique_ptr<DolphinUrlNavigator::VisualState> oldNavigatorState;
-    if (currentTabPage()->primaryViewActive()) {
+    if (currentTabPage()->primaryViewActive() || !m_navigatorsWidget->secondaryUrlNavigator()) {
         oldNavigatorState = m_navigatorsWidget->primaryUrlNavigator()->visualState();
     } else {
-        if (!m_navigatorsWidget->secondaryUrlNavigator()) {
-            m_navigatorsWidget->createSecondaryUrlNavigator();
-        }
         oldNavigatorState = m_navigatorsWidget->secondaryUrlNavigator()->visualState();
     }
 
@@ -401,13 +397,16 @@ void DolphinTabWidget::currentTabChanged(int index)
         m_lastViewedTab->disconnectNavigators();
         m_lastViewedTab->setActive(false);
     }
+    if (tabPage->splitViewEnabled() && !m_navigatorsWidget->secondaryUrlNavigator()) {
+        m_navigatorsWidget->createSecondaryUrlNavigator();
+    }
     DolphinViewContainer* viewContainer = tabPage->activeViewContainer();
     Q_EMIT activeViewChanged(viewContainer);
     Q_EMIT currentUrlChanged(viewContainer->url());
     tabPage->setActive(true);
     tabPage->connectNavigators(m_navigatorsWidget);
     m_navigatorsWidget->setSecondaryNavigatorVisible(tabPage->splitViewEnabled());
-    m_lastViewedTab = tabPageAt(index);
+    m_lastViewedTab = tabPage;
 }
 
 void DolphinTabWidget::tabInserted(int index)