summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/vcl/settings.hxx9
-rw-r--r--vcl/source/app/settings.cxx51
-rw-r--r--vcl/source/control/tabctrl.cxx2
-rw-r--r--vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx3
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx95
-rw-r--r--vcl/unx/kde/salnativewidgets-kde.cxx5
-rw-r--r--vcl/unx/kde4/KDESalFrame.cxx5
-rw-r--r--vcl/win/source/window/salframe.cxx3
8 files changed, 137 insertions, 36 deletions
diff --git a/include/vcl/settings.hxx b/include/vcl/settings.hxx
index 9f5a0cb4237a..445bb5ad32e6 100644
--- a/include/vcl/settings.hxx
+++ b/include/vcl/settings.hxx
@@ -334,6 +334,15 @@ public:
void SetMenuHighlightTextColor( const Color& rColor );
const Color& GetMenuHighlightTextColor() const;
+ void SetTabTextColor( const Color& rColor );
+ const Color& GetTabTextColor() const;
+
+ void SetTabRolloverTextColor( const Color& rColor );
+ const Color& GetTabRolloverTextColor() const;
+
+ void SetTabHighlightTextColor( const Color& rColor );
+ const Color& GetTabHighlightTextColor() const;
+
void SetLinkColor( const Color& rColor );
const Color& GetLinkColor() const;
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 4f81689c939e..52b50553fb13 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -134,6 +134,9 @@ struct ImplStyleData
Color maWorkspaceColor;
Color maActiveTabColor;
Color maInactiveTabColor;
+ Color maTabTextColor;
+ Color maTabRolloverTextColor;
+ Color maTabHighlightTextColor;
vcl::Font maAppFont;
vcl::Font maHelpFont;
vcl::Font maTitleFont;
@@ -606,6 +609,9 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) :
maWorkspaceColor( rData.maWorkspaceColor ),
maActiveTabColor( rData.maActiveTabColor ),
maInactiveTabColor( rData.maInactiveTabColor ),
+ maTabTextColor( rData.maTabTextColor ),
+ maTabRolloverTextColor( rData.maTabRolloverTextColor ),
+ maTabHighlightTextColor( rData.maTabHighlightTextColor ),
maAppFont( rData.maAppFont ),
maHelpFont( rData.maAppFont ),
maTitleFont( rData.maTitleFont ),
@@ -734,6 +740,9 @@ void ImplStyleData::SetStandardStyles()
maHighlightTextColor = Color( COL_WHITE );
maActiveTabColor = Color( COL_WHITE );
maInactiveTabColor = Color( COL_LIGHTGRAY );
+ maTabTextColor = Color( COL_BLACK );
+ maTabRolloverTextColor = Color( COL_BLACK );
+ maTabHighlightTextColor = Color( COL_BLACK );
maDisableColor = Color( COL_GRAY );
maHelpColor = Color( 0xFF, 0xFF, 0xE0 );
maHelpTextColor = Color( COL_BLACK );
@@ -1288,6 +1297,45 @@ StyleSettings::GetMenuHighlightTextColor() const
}
void
+StyleSettings::SetTabTextColor( const Color& rColor )
+{
+ CopyData();
+ mxData->maTabTextColor = rColor;
+}
+
+const Color&
+StyleSettings::GetTabTextColor() const
+{
+ return mxData->maTabTextColor;
+}
+
+void
+StyleSettings::SetTabRolloverTextColor( const Color& rColor )
+{
+ CopyData();
+ mxData->maTabRolloverTextColor = rColor;
+}
+
+const Color&
+StyleSettings::GetTabRolloverTextColor() const
+{
+ return mxData->maTabRolloverTextColor;
+}
+
+void
+StyleSettings::SetTabHighlightTextColor( const Color& rColor )
+{
+ CopyData();
+ mxData->maTabHighlightTextColor = rColor;
+}
+
+const Color&
+StyleSettings::GetTabHighlightTextColor() const
+{
+ return mxData->maTabHighlightTextColor;
+}
+
+void
StyleSettings::SetLinkColor( const Color& rColor )
{
CopyData();
@@ -2307,6 +2355,9 @@ bool StyleSettings::operator ==( const StyleSettings& rSet ) const
(mxData->maMenuHighlightTextColor == rSet.mxData->maMenuHighlightTextColor) &&
(mxData->maHighlightColor == rSet.mxData->maHighlightColor) &&
(mxData->maHighlightTextColor == rSet.mxData->maHighlightTextColor) &&
+ (mxData->maTabTextColor == rSet.mxData->maTabTextColor) &&
+ (mxData->maTabRolloverTextColor == rSet.mxData->maTabRolloverTextColor) &&
+ (mxData->maTabHighlightTextColor == rSet.mxData->maTabHighlightTextColor) &&
(mxData->maActiveTabColor == rSet.mxData->maActiveTabColor) &&
(mxData->maInactiveTabColor == rSet.mxData->maInactiveTabColor) &&
(mxData->maDisableColor == rSet.mxData->maDisableColor) &&
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 21e6487f2b16..56ef225ab010 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -134,7 +134,7 @@ const vcl::Font& TabControl::GetCanonicalFont( const StyleSettings& _rStyle ) co
const Color& TabControl::GetCanonicalTextColor( const StyleSettings& _rStyle ) const
{
- return _rStyle.GetButtonTextColor();
+ return _rStyle.GetTabTextColor();
}
void TabControl::ImplInitSettings( bool bFont,
diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
index 64cc7def944d..a3b6cb0df03c 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -3927,6 +3927,9 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
aStyleSet.SetGroupTextColor( aTextColor );
aStyleSet.SetLabelTextColor( aTextColor );
aStyleSet.SetInfoTextColor( aTextColor );
+ aStyleSet.SetTabTextColor( aTextColor );
+ aStyleSet.SetTabRolloverTextColor( aTextColor );
+ aStyleSet.SetTabHighlightTextColor( aTextColor );
// Tooltip colors
GtkStyle* pTooltipStyle = gtk_widget_get_style( gWidgetData[m_nXScreen].gTooltipPopup );
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index e462f935cc8b..9ee90c47e508 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -1233,34 +1233,34 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
aStyleSet.SetHelpColor( getColor( tooltip_bg_color ));
aStyleSet.SetHelpTextColor( getColor( tooltip_fg_color ));
-{ // FIXME: turn me into a helper function ...
- // construct style context for text view
- GtkStyleContext *pCStyle = gtk_style_context_new();
- gtk_style_context_set_screen( pCStyle, gtk_window_get_screen( GTK_WINDOW( mpWindow ) ) );
- GtkWidgetPath *pCPath = gtk_widget_path_new();
- gtk_widget_path_append_type( pCPath, GTK_TYPE_TEXT_VIEW );
- gtk_widget_path_iter_add_class( pCPath, -1, GTK_STYLE_CLASS_VIEW );
- gtk_style_context_set_path( pCStyle, pCPath );
- gtk_widget_path_free( pCPath );
-
- // highlighting colors
- gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color);
- ::Color aHighlightColor = getColor( text_color );
- gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color);
- ::Color aHighlightTextColor = getColor( text_color );
- aStyleSet.SetHighlightColor( aHighlightColor );
- aStyleSet.SetHighlightTextColor( aHighlightTextColor );
-
- // field background color
- GdkRGBA field_background_color;
- gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_NORMAL, &field_background_color);
- g_object_unref( pCStyle );
-
- ::Color aBackFieldColor = getColor( field_background_color );
- aStyleSet.SetFieldColor( aBackFieldColor );
- // This baby is the default page/paper color
- aStyleSet.SetWindowColor( aBackFieldColor );
-}
+ {
+ // construct style context for text view
+ GtkStyleContext *pCStyle = gtk_style_context_new();
+ gtk_style_context_set_screen( pCStyle, gtk_window_get_screen( GTK_WINDOW( mpWindow ) ) );
+ GtkWidgetPath *pCPath = gtk_widget_path_new();
+ gtk_widget_path_append_type( pCPath, GTK_TYPE_TEXT_VIEW );
+ gtk_widget_path_iter_add_class( pCPath, -1, GTK_STYLE_CLASS_VIEW );
+ gtk_style_context_set_path( pCStyle, pCPath );
+ gtk_widget_path_free( pCPath );
+
+ // highlighting colors
+ gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color);
+ ::Color aHighlightColor = getColor( text_color );
+ gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color);
+ ::Color aHighlightTextColor = getColor( text_color );
+ aStyleSet.SetHighlightColor( aHighlightColor );
+ aStyleSet.SetHighlightTextColor( aHighlightTextColor );
+
+ // field background color
+ GdkRGBA field_background_color;
+ gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_NORMAL, &field_background_color);
+ g_object_unref( pCStyle );
+
+ ::Color aBackFieldColor = getColor( field_background_color );
+ aStyleSet.SetFieldColor( aBackFieldColor );
+ // This baby is the default page/paper color
+ aStyleSet.SetWindowColor( aBackFieldColor );
+ }
// menu disabled entries handling
aStyleSet.SetSkipDisabledInMenus( true );
@@ -1331,14 +1331,39 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings )
gdk_color_free(link_color);
}
-#if 0
-
- // Tab colors
- aStyleSet.SetActiveTabColor( aBackFieldColor ); // same as the window color.
- Color aSelectedBackColor = getColor( pStyle->bg[GTK_STATE_ACTIVE] );
- aStyleSet.SetInactiveTabColor( aSelectedBackColor );
+ {
+ GtkStyleContext *pCStyle = gtk_style_context_new();
+ gtk_style_context_set_screen( pCStyle, gtk_window_get_screen( GTK_WINDOW( mpWindow ) ) );
+ GtkWidgetPath *pCPath = gtk_widget_path_new();
+ guint pos = gtk_widget_path_append_type(pCPath, GTK_TYPE_NOTEBOOK);
+ gtk_widget_path_iter_add_class(pCPath, 0, GTK_STYLE_CLASS_NOTEBOOK);
+ gtk_widget_path_iter_add_region(pCPath, pos, "tab", static_cast<GtkRegionFlags>(GTK_REGION_EVEN | GTK_REGION_FIRST));
+ pos = gtk_widget_path_append_type (pCPath, GTK_TYPE_LABEL);
+ gtk_widget_path_iter_set_name(pCPath, pos, "first tab label");
+ pCStyle = gtk_style_context_new();
+ gtk_style_context_set_path(pCStyle, pCPath);
+ gtk_widget_path_free(pCPath);
+
+ gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_NORMAL, &text_color);
+ aTextColor = getColor( text_color );
+ aStyleSet.SetTabTextColor(aTextColor);
+
+ // mouse over text colors
+ gtk_style_context_add_class(pCStyle, "prelight-page");
+ gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_PRELIGHT, &text_color);
+ gtk_style_context_remove_class(pCStyle, "prelight-page");
+ aTextColor = getColor( text_color );
+ aStyleSet.SetTabRolloverTextColor(aTextColor);
+
+ gtk_style_context_add_class(pCStyle, "active-page");
+ gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_ACTIVE, &text_color);
+ gtk_style_context_remove_class(pCStyle, "active-page");
+ aTextColor = getColor( text_color );
+ aStyleSet.SetTabHighlightTextColor(aTextColor);
+
+ g_object_unref( pCStyle );
+ }
-#endif
// UI font
const PangoFontDescription* font = gtk_style_context_get_font(pStyle, GTK_STATE_FLAG_NORMAL);
OString aFamily = pango_font_description_get_family( font );
diff --git a/vcl/unx/kde/salnativewidgets-kde.cxx b/vcl/unx/kde/salnativewidgets-kde.cxx
index 69c00ba191f1..180e595f2d60 100644
--- a/vcl/unx/kde/salnativewidgets-kde.cxx
+++ b/vcl/unx/kde/salnativewidgets-kde.cxx
@@ -1914,6 +1914,11 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
aStyleSettings.SetButtonTextColor( toColor( qColorGroup.buttonText() ) );
aStyleSettings.SetButtonRolloverTextColor( toColor( qColorGroup.buttonText() ) );
+ // Tabs
+ aStyleSettings.SetTabTextColor( toColor( qColorGroup.buttonText() ) );
+ aStyleSettings.SetTabRolloverTextColor( toColor( qColorGroup.buttonText() ) );
+ aStyleSettings.SetTabHighlightTextColor( toColor( qColorGroup.buttonText() ) );
+
// Disable color
aStyleSettings.SetDisableColor( toColor( qColorGroup.mid() ) );
diff --git a/vcl/unx/kde4/KDESalFrame.cxx b/vcl/unx/kde4/KDESalFrame.cxx
index c358f4d2ce32..fa18109c222a 100644
--- a/vcl/unx/kde4/KDESalFrame.cxx
+++ b/vcl/unx/kde4/KDESalFrame.cxx
@@ -233,6 +233,11 @@ void KDESalFrame::UpdateSettings( AllSettings& rSettings )
style.SetButtonTextColor( aButn );
style.SetButtonRolloverTextColor( aButn );
+ // Tabs
+ style.SetTabTextColor( aButn );
+ style.SetTabRolloverTextColor( aButn );
+ style.SetTabHighlightTextColor( aButn );
+
// Disable color
style.SetDisableColor( aMid );
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index 12b8f3eb1e52..a334afc792ee 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -2678,6 +2678,9 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
aStyleSettings.SetDialogTextColor( aStyleSettings.GetButtonTextColor() );
aStyleSettings.SetButtonTextColor( ImplWinColorToSal( GetSysColor( COLOR_BTNTEXT ) ) );
aStyleSettings.SetButtonRolloverTextColor( aStyleSettings.GetButtonTextColor() );
+ aStyleSettings.SetTabTextColor( aStyleSettings.GetButtonTextColor() );
+ aStyleSettings.SetTabRolloverTextColor( aStyleSettings.GetButtonTextColor() );
+ aStyleSettings.SetTabHighlightTextColor( aStyleSettings.GetButtonTextColor() );
aStyleSettings.SetRadioCheckTextColor( ImplWinColorToSal( GetSysColor( COLOR_WINDOWTEXT ) ) );
aStyleSettings.SetGroupTextColor( aStyleSettings.GetRadioCheckTextColor() );
aStyleSettings.SetLabelTextColor( aStyleSettings.GetRadioCheckTextColor() );