diff options
-rw-r--r-- | tdeui/ktabbar.cpp | 14 | ||||
-rw-r--r-- | tdeui/ktabbar.h | 1 | ||||
-rw-r--r-- | tdeui/ktabwidget.cpp | 8 | ||||
-rw-r--r-- | tdeui/ktabwidget.h | 5 |
4 files changed, 26 insertions, 2 deletions
diff --git a/tdeui/ktabbar.cpp b/tdeui/ktabbar.cpp index 29479c0e9..2dd2cc9a3 100644 --- a/tdeui/ktabbar.cpp +++ b/tdeui/ktabbar.cpp @@ -298,9 +298,19 @@ void KTabBar::setTabColor( int id, const TQColor& color ) } } +void KTabBar::resetTabColor( int id ) +{ + TQTab *t = tab(id); + if (t) { + if (mTabColors.contains(id)) + mTabColors.remove(id); + repaint(t->rect(), false); + } +} + const TQColor &KTabBar::tabColor( int id ) const { - if ( mTabColors.contains( id ) ) + if ( mTabColors.contains(id) && mTabColors[id].isValid() ) return mTabColors[id]; return colorGroup().foreground(); @@ -359,7 +369,7 @@ void KTabBar::paintLabel( TQPainter *p, const TQRect& br, flags |= TQStyle::Style_HasFocus; TQColorGroup cg( colorGroup() ); - if ( mTabColors.contains( t->identifier() ) ) + if ( mTabColors.contains(t->identifier()) && mTabColors[t->identifier()].isValid() ) cg.setColor( TQColorGroup::Foreground, mTabColors[t->identifier()] ); style().drawControl( TQStyle::CE_TabBarLabel, p, this, r, diff --git a/tdeui/ktabbar.h b/tdeui/ktabbar.h index e31454253..c6602d0c6 100644 --- a/tdeui/ktabbar.h +++ b/tdeui/ktabbar.h @@ -44,6 +44,7 @@ public: const TQColor &tabColor( int ) const; void setTabColor( int, const TQColor& ); + void resetTabColor( int ); virtual int insertTab( TQTab *, int index = -1 ); virtual void removeTab( TQTab * ); diff --git a/tdeui/ktabwidget.cpp b/tdeui/ktabwidget.cpp index d6800ab9a..943598022 100644 --- a/tdeui/ktabwidget.cpp +++ b/tdeui/ktabwidget.cpp @@ -135,6 +135,14 @@ void KTabWidget::setTabColor( TQWidget *w, const TQColor& color ) } } +void KTabWidget::resetTabColor( TQWidget *w ) +{ + TQTab *t = tabBar()->tabAt( indexOf( w ) ); + if (t) { + static_cast<KTabBar*>(tabBar())->resetTabColor( t->identifier() ); + } +} + TQColor KTabWidget::tabColor( TQWidget *w ) const { TQTab *t = tabBar()->tabAt( indexOf( w ) ); diff --git a/tdeui/ktabwidget.h b/tdeui/ktabwidget.h index b552229c9..1290e6307 100644 --- a/tdeui/ktabwidget.h +++ b/tdeui/ktabwidget.h @@ -56,6 +56,11 @@ public: void setTabColor( TQWidget *, const TQColor& color ); /*! + Reset the color of the tab of the given widget. + */ + void resetTabColor( TQWidget * ); + + /*! Returns the tab color for the given widget. */ TQColor tabColor( TQWidget * ) const; |