[gtkhtml/gnome-3-12] Bug 732499 - Use named colors from themes
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkhtml/gnome-3-12] Bug 732499 - Use named colors from themes
- Date: Tue, 1 Jul 2014 09:29:33 +0000 (UTC)
commit cd65674dd01a779ed5087bf368bff9b9f9ef641c
Author: Milan Crha <mcrha redhat com>
Date: Tue Jul 1 11:27:42 2014 +0200
Bug 732499 - Use named colors from themes
gtkhtml/htmlcolorset.c | 35 +++++++++++++++++------------------
1 files changed, 17 insertions(+), 18 deletions(-)
---
diff --git a/gtkhtml/htmlcolorset.c b/gtkhtml/htmlcolorset.c
index d41b2c0..e52f859 100644
--- a/gtkhtml/htmlcolorset.c
+++ b/gtkhtml/htmlcolorset.c
@@ -198,32 +198,32 @@ html_colorset_set_style (HTMLColorSet *s,
if (s->color[HTML ## t ## Color]) html_color_unref (s->color[HTML ## t ## Color]); \
s->color[HTML ## t ## Color] = html_color_new_from_gdk_color (&gc); \
}
-#define SET_COLOR_FUNC(t,st,func) \
+#define SET_COLOR_STYLE(t,nm,flbk) \
if (!s->changed[HTML ## t ## Color]) { \
GdkRGBA color_rgba; \
\
- func (style_context, st, &color_rgba); \
+ if (!gtk_style_context_lookup_color (style_context, nm, &color_rgba)) \
+ gdk_rgba_parse (&color_rgba, flbk); \
\
SET_GCOLOR (t, color_rgba); \
}
-#define SET_COLOR_BG(t,st) SET_COLOR_FUNC (t, st, gtk_style_context_get_background_color)
-#define SET_COLOR_FG(t,st) SET_COLOR_FUNC (t, st, gtk_style_context_get_color)
-
GdkRGBA color;
+ gboolean backdrop;
GtkStyleContext *style_context = gtk_widget_get_style_context (w);
+ GtkStateFlags state_flags;
+
+ state_flags = gtk_widget_get_state_flags (w);
+ backdrop = (state_flags & GTK_STATE_FLAG_BACKDROP) != 0;
+
+ SET_COLOR_STYLE (Bg, backdrop ? "theme_unfocused_base_color" : "theme_base_color", "#ffffff");
+ SET_COLOR_STYLE (Text, backdrop ? "theme_unfocused_text_color" : "theme_text_color", "#000000");
+
+ SET_COLOR_STYLE (Highlight, backdrop ? "theme_unfocused_selected_bg_color" :
"theme_selected_bg_color", "#7f7fff");
+ SET_COLOR_STYLE (HighlightText, backdrop ? "theme_unfocused_selected_fg_color" :
"theme_selected_fg_color", "#000000");
+ SET_COLOR_STYLE (HighlightNF, backdrop ? "theme_unfocused_selected_bg_color" :
"theme_selected_bg_color", "#afafff");
+ SET_COLOR_STYLE (HighlightTextNF, backdrop ? "theme_unfocused_selected_fg_color" :
"theme_selected_fg_color", "#000000");
- /* have text background and foreground colors same as GtkEntry */
- gtk_style_context_save (style_context);
- gtk_style_context_add_class (style_context, GTK_STYLE_CLASS_ENTRY);
- SET_COLOR_BG (Bg, GTK_STATE_FLAG_NORMAL);
- SET_COLOR_FG (Text, GTK_STATE_FLAG_NORMAL);
- gtk_style_context_restore (style_context);
-
- SET_COLOR_BG (Highlight, GTK_STATE_FLAG_SELECTED);
- SET_COLOR_FG (HighlightText, GTK_STATE_FLAG_SELECTED);
- SET_COLOR_BG (HighlightNF, GTK_STATE_FLAG_ACTIVE);
- SET_COLOR_FG (HighlightTextNF, GTK_STATE_FLAG_ACTIVE);
get_prop_color (w, "link_color", "#0000ff", FALSE, &color);
SET_GCOLOR (Link, color);
get_prop_color (w, "alink_color", "#0000ff", FALSE, &color);
@@ -235,8 +235,7 @@ html_colorset_set_style (HTMLColorSet *s,
get_prop_color (w, "cite_color", NULL, TRUE, &color);
SET_GCOLOR (Cite, color);
-#undef SET_COLOR_FG
-#undef SET_COLOR_BG
+#undef SET_COLOR_STYLE
#undef SET_COLOR_FUNC
#undef SET_GCOLOR
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]