Bug 108593

Summary: konsole tab text color does not honor System-wide color scheme
Product: [Applications] konsole Reporter: Leo Savernik <l.savernik>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.6 Beta   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Leo Savernik 2005-07-05 17:07:22 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc 2.95.2 
OS:                Linux

Up to and including KDE 3.4, the Konsole tab description text ("Shell", "Shell No. 2" etc.) always was displayed in the text color of the current color scheme.

As of HEAD of yesterday, the tab text is black, regardless the colorscheme settings. This makes reading the text in the Digital-colorscheme virtually impossible (black on dark cyan).

I reported this as a bug instead of a wishlist item as it degrades usability.
Comment 1 Kurt Hindenburg 2005-07-05 17:21:21 UTC
I added the ability to change the tab text color in /trunk.  You can right-click on the tab and 'Select Tab Color...'.  The default color as you noted is black.  I'll look to see if the default color can be the current schema's text color.
Comment 2 Kurt Hindenburg 2005-07-07 20:14:09 UTC
This is referring the System-wide Color Scheme, not Konsole's schema.

KControl->Appearance->Colors
Comment 3 Kurt Hindenburg 2005-07-08 21:03:06 UTC
SVN commit 432853 by hindenburg:

Don't set a default tab text color; allows System-wide scheme to set it.
Tested with Point Reyes Green Color Scheme.

BUG: 108593



 M  +7 -4      konsole.cpp  


--- trunk/KDE/kdebase/konsole/konsole/konsole.cpp #432852:432853
@@ -1594,8 +1594,10 @@
       m_tabViewMode = TabViewModes(config->readNumEntry("TabViewMode", ShowIconAndText));
       b_dynamicTabHide = config->readBoolEntry("DynamicTabHide", false);
       b_autoResizeTabs = config->readBoolEntry("AutoResizeTabs", false);
+
+      // Do not set a default value; this allows the System-wide Scheme
+      // to set the tab text color.
       m_tabColor = config->readColorEntry("TabColor");
-      if ( !m_tabColor.isValid() ) m_tabColor = QColor( Qt::black );
 
       s_encodingName = config->readEntry( "EncodingName", "" ).lower();
    }
@@ -1890,7 +1892,8 @@
     tabwidget->insertTab(widget, iconSet, QString::null, index);
     break;
   }
-  tabwidget->setTabColor(widget, m_tabColor);
+  if ( m_tabColor.isValid() )
+    tabwidget->setTabColor(widget, m_tabColor);
 }
 
 QIconSet Konsole::iconSetForSession(TESession *session) const
@@ -3129,8 +3132,8 @@
 
 void Konsole::initTabColor(QColor color)
 {
-  if ( !color.isValid() ) color = QColor( Qt::black );
-  tabwidget->setTabColor( se->widget(), color );
+  if ( color.isValid() )
+    tabwidget->setTabColor( se->widget(), color );
 }
 
 void Konsole::slotToggleMasterMode()