From edcc8bc97b21410620fcf1ad263735dfe7e6339d Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Wed, 21 May 2008 22:19:43 +0000 Subject: [PATCH] Fix "Show 'New Tab' and 'Close Tab' buttons on tab bar" setting not being applied correctly on startup. Test for the tab bar being explicitly hidden with isHidden() rather than just isVisible() which will return true if the setting is applied before the container widget is shown. BUG: 162420 CCBUG: 157015 svn path=/trunk/KDE/kdebase/apps/konsole/; revision=810949 --- src/ViewContainer.cpp | 30 +++--------------------------- src/ViewManager.cpp | 2 +- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/src/ViewContainer.cpp b/src/ViewContainer.cpp index 175c7c7cd..e0eaa6a8b 100644 --- a/src/ViewContainer.cpp +++ b/src/ViewContainer.cpp @@ -680,33 +680,9 @@ void TabbedViewContainerV2::setFeatures(Features features) { ViewContainer::setFeatures(features); - const bool tabBarVisible = _tabBar->isVisible(); - _newTabButton->setVisible(tabBarVisible && (features & QuickNewView)); - _closeTabButton->setVisible(tabBarVisible && (features & QuickCloseView)); -#if 0 - if (features & QuickNewView) - { - _newTabButton->setHidden(false); - _newTabButton->show(); - } - else - _newTabButton->setHidden(true); - - if (features & QuickCloseView) - { - _closeTabButton->setHidden(false); - _closeTabButton->show(); - } - else - _closeTabButton->setHidden(true); -#endif -#if 0 - if (features & QuickCloseView) - _tabBar->setCloseButtonEnabled(true); - else - _tabBar->setCloseButtonEnabled(false); -#endif - + const bool tabBarHidden = _tabBar->isHidden(); + _newTabButton->setVisible(!tabBarHidden && (features & QuickNewView)); + _closeTabButton->setVisible(!tabBarHidden && (features & QuickCloseView)); } void TabbedViewContainerV2::closeCurrentTab() { diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index 6ad135554..349c89bf0 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -714,7 +714,7 @@ void ViewManager::applyProfile(TerminalDisplay* view , const Profile::Ptr info, ViewContainer* container = _viewSplitter->activeContainer(); int tabBarMode = info->property(Profile::TabBarMode); int tabBarPosition = info->property(Profile::TabBarPosition); - bool showNewCloseButtons = info->property(Profile::ShowNewAndCloseTabButtons); + bool showNewCloseButtons = info->property(Profile::ShowNewAndCloseTabButtons); if ( tabBarMode == Profile::AlwaysHideTabBar ) container->setNavigationDisplayMode(ViewContainer::AlwaysHideNavigation);