summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdeui/ktabbar.cpp14
-rw-r--r--tdeui/ktabbar.h1
-rw-r--r--tdeui/ktabwidget.cpp8
-rw-r--r--tdeui/ktabwidget.h5
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;