const bool placesSelectorVisible = !placesDock || !placesDock->isVisible();
tabPage->setPlacesSelectorVisible(placesSelectorVisible);
- DolphinViewContainer* primaryContainer = tabPage->primaryViewContainer();
- connectViewSignals(primaryContainer);
-
- if (tabPage->splitViewEnabled()) {
- DolphinViewContainer* secondaryContainer = tabPage->secondaryViewContainer();
- connectViewSignals(secondaryContainer);
- }
-
tabPage->hide();
m_tabBar->addTab(KIcon(KMimeType::iconNameForUrl(primaryUrl)),
DolphinTabPage* tabPage = m_viewTab.at(m_tabIndex);
tabPage->setSplitViewEnabled(!tabPage->splitViewEnabled());
- if (tabPage->splitViewEnabled()) {
- connectViewSignals(tabPage->secondaryViewContainer());
- }
-
updateViewActions();
}
return;
}
+ if (m_activeViewContainer) {
+ // Disconnect all signals between the old view container (container,
+ // view and url navigator) and main window.
+ m_activeViewContainer->disconnect(this);
+ m_activeViewContainer->view()->disconnect(this);
+ m_activeViewContainer->urlNavigator()->disconnect(this);
+ }
+
m_activeViewContainer = viewContainer;
+ connectViewSignals(viewContainer);
+
m_actionHandler->setCurrentView(viewContainer->view());
updateHistory();