diff --git a/src/ViewManager.h b/src/ViewManager.h --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -396,6 +396,9 @@ // about the session ( such as title and associated icon ) to the display. SessionController *createController(Session *session, TerminalDisplay *view); + // Sets the possible features for a container. + void setContainerFeatures(ViewContainer* container); + private: QPointer _viewSplitter; QPointer _pluggedController; diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -667,15 +667,7 @@ container->setNavigationPosition(_navigationPosition); container->setNavigationTabWidthExpanding(_navigationTabWidthExpanding); container->setStyleSheet(_navigationStyleSheet); - if (_showQuickButtons) { - container->setFeatures(container->features() - | ViewContainer::QuickNewView - | ViewContainer::QuickCloseView); - } else { - container->setFeatures(container->features() - & ~ViewContainer::QuickNewView - & ~ViewContainer::QuickCloseView); - } + setContainerFeatures(container); // connect signals and slots connect(container, &Konsole::ViewContainer::viewAdded, this, @@ -1215,20 +1207,24 @@ } } +void ViewManager::setContainerFeatures(ViewContainer *container) +{ + if (_showQuickButtons) { + container->setFeatures(container->features() + | ViewContainer::QuickNewView + | ViewContainer::QuickCloseView); + } else { + container->setFeatures(container->features() + & ~ViewContainer::QuickNewView + & ~ViewContainer::QuickCloseView); + } +} void ViewManager::setShowQuickButtons(bool show) { _showQuickButtons = show; - foreach (ViewContainer *container, _viewSplitter->containers()) { - if (_showQuickButtons) { - container->setFeatures(container->features() - | ViewContainer::QuickNewView - | ViewContainer::QuickCloseView); - } else { - container->setFeatures(container->features() - & ~ViewContainer::QuickNewView - & ~ViewContainer::QuickCloseView); - } + for (auto *container : _viewSplitter->containers()) { + setContainerFeatures(container); } }