-void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container)
-{
- connect(container, &DolphinViewContainer::showFilterBarChanged,
- this, &DolphinMainWindow::updateFilterBarAction);
- connect(container, &DolphinViewContainer::writeStateChanged,
- this, &DolphinMainWindow::slotWriteStateChanged);
- connect(container, &DolphinViewContainer::searchModeEnabledChanged,
- this, &DolphinMainWindow::updateSearchAction);
-
- const QAction* toggleSearchAction = actionCollection()->action(QStringLiteral("toggle_search"));
- connect(toggleSearchAction, &QAction::triggered, container, &DolphinViewContainer::setSearchModeEnabled);
-
- const DolphinView* view = container->view();
- connect(view, &DolphinView::selectionChanged,
- this, &DolphinMainWindow::slotSelectionChanged);
- connect(view, &DolphinView::requestItemInfo,
- this, &DolphinMainWindow::requestItemInfo);
- connect(view, &DolphinView::fileItemsChanged,
- this, &DolphinMainWindow::fileItemsChanged);
- connect(view, &DolphinView::tabRequested,
- this, &DolphinMainWindow::openNewTab);
- connect(view, &DolphinView::requestContextMenu,
- this, &DolphinMainWindow::openContextMenu);
- connect(view, &DolphinView::directoryLoadingStarted,
- this, &DolphinMainWindow::enableStopAction);
- connect(view, &DolphinView::directoryLoadingCompleted,
- this, &DolphinMainWindow::disableStopAction);
- connect(view, &DolphinView::directoryLoadingCompleted,
- this, &DolphinMainWindow::slotDirectoryLoadingCompleted);
- connect(view, &DolphinView::goBackRequested,
- this, &DolphinMainWindow::goBack);
- connect(view, &DolphinView::goForwardRequested,
- this, &DolphinMainWindow::goForward);
- connect(view, &DolphinView::urlActivated,
- this, &DolphinMainWindow::handleUrl);
- connect(view, &DolphinView::goUpRequested,
- this, &DolphinMainWindow::goUp);
-
- connect(container->urlNavigatorInternalWithHistory(), &KUrlNavigator::urlChanged,
- this, &DolphinMainWindow::changeUrl);
- connect(container->urlNavigatorInternalWithHistory(), &KUrlNavigator::historyChanged,
- this, &DolphinMainWindow::updateHistory);
-
- auto navigators = static_cast<DolphinNavigatorsWidgetAction *>
- (actionCollection()->action(QStringLiteral("url_navigators")));
- const KUrlNavigator *navigator = m_tabWidget->currentTabPage()->primaryViewActive() ?
- navigators->primaryUrlNavigator() :
- navigators->secondaryUrlNavigator();
+void DolphinMainWindow::connectViewSignals(DolphinViewContainer *container)
+{
+ connect(container, &DolphinViewContainer::showFilterBarChanged, this, &DolphinMainWindow::updateFilterBarAction);
+ connect(container, &DolphinViewContainer::writeStateChanged, this, &DolphinMainWindow::slotWriteStateChanged);
+ slotWriteStateChanged(container->view()->isFolderWritable());
+ connect(container, &DolphinViewContainer::searchBarVisibilityChanged, this, &DolphinMainWindow::updateSearchAction);
+ connect(container, &DolphinViewContainer::captionChanged, this, &DolphinMainWindow::updateWindowTitle);
+ connect(container, &DolphinViewContainer::tabRequested, this, &DolphinMainWindow::openNewTab);
+ connect(container, &DolphinViewContainer::activeTabRequested, this, &DolphinMainWindow::openNewTabAndActivate);
+
+ // Make the toggled state of the selection mode actions visually follow the selection mode state of the view.
+ auto toggleSelectionModeAction = actionCollection()->action(QStringLiteral("toggle_selection_mode"));
+ toggleSelectionModeAction->setChecked(m_activeViewContainer->isSelectionModeEnabled());
+ connect(m_activeViewContainer, &DolphinViewContainer::selectionModeChanged, toggleSelectionModeAction, &QAction::setChecked);
+
+ const DolphinView *view = container->view();
+ connect(view, &DolphinView::selectionChanged, this, &DolphinMainWindow::slotSelectionChanged);
+ connect(view, &DolphinView::requestItemInfo, this, &DolphinMainWindow::requestItemInfo);
+ connect(view, &DolphinView::fileItemsChanged, this, &DolphinMainWindow::fileItemsChanged);
+ connect(view, &DolphinView::tabRequested, this, &DolphinMainWindow::openNewTab);
+ connect(view, &DolphinView::activeTabRequested, this, &DolphinMainWindow::openNewTabAndActivate);
+ connect(view, &DolphinView::windowRequested, this, &DolphinMainWindow::openNewWindow);
+ connect(view, &DolphinView::requestContextMenu, this, &DolphinMainWindow::openContextMenu);
+ connect(view, &DolphinView::directoryLoadingStarted, this, &DolphinMainWindow::enableStopAction);
+ connect(view, &DolphinView::directoryLoadingCompleted, this, &DolphinMainWindow::disableStopAction);
+ connect(view, &DolphinView::directoryLoadingCompleted, this, &DolphinMainWindow::slotDirectoryLoadingCompleted);
+ connect(view, &DolphinView::goBackRequested, this, &DolphinMainWindow::goBack);
+ connect(view, &DolphinView::goForwardRequested, this, &DolphinMainWindow::goForward);
+ connect(view, &DolphinView::urlActivated, this, &DolphinMainWindow::handleUrl);
+ connect(view, &DolphinView::goUpRequested, this, &DolphinMainWindow::goUp);
+ connect(view, &DolphinView::doubleClickViewBackground, this, &DolphinMainWindow::slotDoubleClickViewBackground);
+
+ connect(container->urlNavigatorInternalWithHistory(), &KUrlNavigator::urlChanged, this, &DolphinMainWindow::changeUrl);
+ connect(container->urlNavigatorInternalWithHistory(), &KUrlNavigator::historyChanged, this, &DolphinMainWindow::updateHistory);
+
+ auto navigators = static_cast<DolphinNavigatorsWidgetAction *>(actionCollection()->action(QStringLiteral("url_navigators")));
+ const KUrlNavigator *navigator =
+ m_tabWidget->currentTabPage()->primaryViewActive() ? navigators->primaryUrlNavigator() : navigators->secondaryUrlNavigator();