diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index b49878a2c..5a5c82960 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -649,6 +649,7 @@ void MainWindow::applyKonsoleSettings() options.position = KonsoleSettings::tabBarPosition(); options.newTabBehavior = KonsoleSettings::newTabBehavior(); options.showQuickButtons = KonsoleSettings::showQuickButtons(); + options.styleSheet = KonsoleSettings::tabBarStyleSheet(); _viewManager->updateNavigationOptions(options); diff --git a/src/ViewContainer.cpp b/src/ViewContainer.cpp index a0963fb20..40da349ac 100644 --- a/src/ViewContainer.cpp +++ b/src/ViewContainer.cpp @@ -266,7 +266,6 @@ ViewContainerTabBar::ViewContainerTabBar(QWidget* parent, TabbedViewContainer* c setDocumentMode(true); setFocusPolicy(Qt::NoFocus); setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab); - setStyleSheet("QTabBar::tab { min-width: 2em; max-width: 25em }"); setElideMode(Qt::ElideLeft); } void ViewContainerTabBar::setDropIndicator(int index, bool drawDisabled) @@ -580,6 +579,11 @@ void TabbedViewContainer::dynamicTabBarVisibility() setTabBarVisible(false); } +void TabbedViewContainer::setStyleSheet(const QString& styleSheet) +{ + _tabBar->setStyleSheet(styleSheet); +} + void TabbedViewContainer::navigationTextModeChanged(bool useTextWidth) { if (useTextWidth) { diff --git a/src/ViewContainer.h b/src/ViewContainer.h index 605a4fa01..ed4fd79c5 100644 --- a/src/ViewContainer.h +++ b/src/ViewContainer.h @@ -167,6 +167,14 @@ public: */ void setNavigationTextMode(bool mode); + /** Sets the stylesheet for visual appearance + * + * The default implementation does nothing. + */ + virtual void setStyleSheet(const QString& styleSheet) { + Q_UNUSED(styleSheet); + } + /** Adds a new view to the container widget */ void addView(QWidget* view , ViewProperties* navigationItem, int index = -1); @@ -403,6 +411,7 @@ public: virtual void setFeatures(Features features); virtual Features supportedFeatures() const; virtual void setNewViewMenu(QMenu* menu); + virtual void setStyleSheet(const QString& styleSheet); protected: virtual void addViewWidget(QWidget* view , int index); diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index 4885c8683..062b17055 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -64,6 +64,7 @@ ViewManager::ViewManager(QObject* parent , KActionCollection* collection) , _navigationPosition(ViewContainer::NavigationPositionTop) , _showQuickButtons(false) , _newTabBehavior(PutNewTabAtTheEnd) + , _navigationStyleSheet(QString()) , _managerId(0) { // create main view area @@ -1053,6 +1054,7 @@ void ViewManager::updateNavigationOptions(NavigationOptions options) _newTabBehavior = static_cast(options.newTabBehavior); _showQuickButtons = options.showQuickButtons; + _navigationStyleSheet = options.styleSheet; foreach(ViewContainer* container, _viewSplitter->containers()) { applyNavigationOptions(container); @@ -1079,6 +1081,7 @@ void ViewManager::applyNavigationOptions(ViewContainer* container) & ~ViewContainer::QuickCloseView); } + container->setStyleSheet(_navigationStyleSheet); } #include "ViewManager.moc" diff --git a/src/ViewManager.h b/src/ViewManager.h index 0055dbf9c..b5bd5fdbe 100644 --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -141,6 +141,7 @@ public: int position; int newTabBehavior; bool showQuickButtons; + QString styleSheet; }; /** @@ -391,6 +392,7 @@ private: ViewContainer::NavigationPosition _navigationPosition; bool _showQuickButtons; NewTabBehavior _newTabBehavior; + QString _navigationStyleSheet; int _managerId; static int lastManagerId; diff --git a/src/settings/konsole.kcfg b/src/settings/konsole.kcfg index bb11ca459..c10f832db 100644 --- a/src/settings/konsole.kcfg +++ b/src/settings/konsole.kcfg @@ -49,6 +49,10 @@ Bottom + + + QTabBar::tab { min-width: 2em ; max-width: 25em } + false