diff --git a/src/ViewContainer.h b/src/ViewContainer.h --- a/src/ViewContainer.h +++ b/src/ViewContainer.h @@ -405,6 +405,7 @@ Features supportedFeatures() const Q_DECL_OVERRIDE; void setNewViewMenu(QMenu *menu) Q_DECL_OVERRIDE; void setStyleSheet(const QString &styleSheet) Q_DECL_OVERRIDE; + void setTabBarVisible(bool visible); // return associated view manager ViewManager *connectedViewManager(); @@ -444,7 +445,6 @@ Q_DISABLE_COPY(TabbedViewContainer) void dynamicTabBarVisibility(); - void setTabBarVisible(bool visible); void setTabActivity(int index, bool activity); void renameTab(int index); void updateVisibilityOfQuickButtons(); @@ -462,26 +462,5 @@ QMenu *_contextPopupMenu; }; -/** A plain view container with no navigation display */ -class StackedViewContainer : public ViewContainer -{ - Q_OBJECT - -public: - explicit StackedViewContainer(QObject *parent); - ~StackedViewContainer() Q_DECL_OVERRIDE; - - QWidget *containerWidget() const Q_DECL_OVERRIDE; - QWidget *activeView() const Q_DECL_OVERRIDE; - void setActiveView(QWidget *view) Q_DECL_OVERRIDE; - -protected: - void addViewWidget(QWidget *view, int index) Q_DECL_OVERRIDE; - void removeViewWidget(QWidget *view) Q_DECL_OVERRIDE; - -private: - QPointer _containerWidget; - QPointer _stackWidget; -}; } #endif //VIEWCONTAINER_H diff --git a/src/ViewContainer.cpp b/src/ViewContainer.cpp --- a/src/ViewContainer.cpp +++ b/src/ViewContainer.cpp @@ -830,54 +830,3 @@ { return _connectedViewManager; } - -StackedViewContainer::StackedViewContainer(QObject *parent) : - ViewContainer(NavigationPositionTop, parent), - _containerWidget(nullptr), - _stackWidget(nullptr) -{ - _containerWidget = new QWidget; - auto layout = new QVBoxLayout(_containerWidget); - - _stackWidget = new QStackedWidget(_containerWidget); - - searchBar()->setParent(_containerWidget); - layout->addWidget(searchBar()); - layout->addWidget(_stackWidget); - layout->setContentsMargins(0, 0, 0, 0); -} - -StackedViewContainer::~StackedViewContainer() -{ - if (!_containerWidget.isNull()) { - _containerWidget->deleteLater(); - } -} - -QWidget *StackedViewContainer::containerWidget() const -{ - return _containerWidget; -} - -QWidget *StackedViewContainer::activeView() const -{ - return _stackWidget->currentWidget(); -} - -void StackedViewContainer::setActiveView(QWidget *view) -{ - _stackWidget->setCurrentWidget(view); -} - -void StackedViewContainer::addViewWidget(QWidget *view, int) -{ - _stackWidget->addWidget(view); -} - -void StackedViewContainer::removeViewWidget(QWidget *view) -{ - if (_stackWidget.isNull()) { - return; - } - _stackWidget->removeWidget(view); -} diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -654,22 +654,12 @@ ViewContainer *ViewManager::createContainer() { - ViewContainer *container = nullptr; - switch (_navigationMethod) { - case TabbedNavigation: - { - auto tabbedContainer = new TabbedViewContainer(_navigationPosition, this, _viewSplitter); - container = tabbedContainer; - - connect(tabbedContainer, &TabbedViewContainer::detachTab, this, &ViewManager::detachView); - connect(tabbedContainer, &TabbedViewContainer::closeTab, this, + auto *container = new TabbedViewContainer(_navigationPosition, this, _viewSplitter); + if (_navigationMethod == TabbedNavigation) { + connect(container, &TabbedViewContainer::detachTab, this, &ViewManager::detachView); + connect(container, &TabbedViewContainer::closeTab, this, &ViewManager::closeTabFromContainer); - break; - } - case NoNavigation: - default: - container = new StackedViewContainer(_viewSplitter); } // FIXME: these code feels duplicated @@ -712,6 +702,10 @@ connect(container, &Konsole::ViewContainer::activeViewChanged, this, &Konsole::ViewManager::viewActivated); + if (_navigationMethod != TabbedNavigation) { + container->setTabBarVisible(false); + } + return container; }