diff options
-rw-r--r-- | include/vcl/settings.hxx | 9 | ||||
-rw-r--r-- | vcl/source/app/settings.cxx | 51 | ||||
-rw-r--r-- | vcl/source/control/tabctrl.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 3 | ||||
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 95 | ||||
-rw-r--r-- | vcl/unx/kde/salnativewidgets-kde.cxx | 5 | ||||
-rw-r--r-- | vcl/unx/kde4/KDESalFrame.cxx | 5 | ||||
-rw-r--r-- | vcl/win/source/window/salframe.cxx | 3 |
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() ); |