diff options
author | Sebastian Keller <sebastian-keller@gmx.de> | 2014-06-23 17:39:46 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2014-06-23 17:39:46 +0800 |
commit | 74366fc820e481fa67c66c2dc3c156c986f450c4 (patch) | |
tree | 53e3e6167a8bc52d597028b26ed4b9bc3e15e663 /e-util/e-web-view.c | |
parent | 28c1fe23b166dd2e663c1622469c83a98a42e8a7 (diff) | |
download | gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar.gz gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar.bz2 gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar.lz gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar.xz gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.tar.zst gsoc2013-evolution-74366fc820e481fa67c66c2dc3c156c986f450c4.zip |
Bug 731872 - EWebView: Use named colors from themes
Diffstat (limited to 'e-util/e-web-view.c')
-rw-r--r-- | e-util/e-web-view.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/e-util/e-web-view.c b/e-util/e-web-view.c index 5a1881dd85..abe33b99e8 100644 --- a/e-util/e-web-view.c +++ b/e-util/e-web-view.c @@ -606,20 +606,20 @@ style_updated_cb (EWebView *web_view) gchar *style; GtkStateFlags state_flags; GtkStyleContext *style_context; - GtkWidgetPath *widget_path; + gboolean backdrop; state_flags = gtk_widget_get_state_flags (GTK_WIDGET (web_view)); - style_context = gtk_style_context_new (); - widget_path = gtk_widget_path_new (); - gtk_widget_path_append_type (widget_path, GTK_TYPE_WINDOW); - gtk_style_context_set_path (style_context, widget_path); - gtk_style_context_add_class (style_context, GTK_STYLE_CLASS_ENTRY); - - gtk_style_context_get_background_color ( - style_context, - state_flags | GTK_STATE_FLAG_FOCUSED, - &color); - color_value = g_strdup_printf ("#%06x", e_rgba_to_value (&color)); + style_context = gtk_widget_get_style_context (GTK_WIDGET (web_view)); + backdrop = (state_flags & GTK_STATE_FLAG_BACKDROP) != 0; + + if (gtk_style_context_lookup_color ( + style_context, + backdrop ? "theme_unfocused_base_color" : "theme_base_color", + &color)) + color_value = g_strdup_printf ("#%06x", e_rgba_to_value (&color)); + else + color_value = g_strdup("#ffffff"); + style = g_strconcat ("background-color: ", color_value, ";", NULL); e_web_view_add_css_rule_into_style_sheet ( @@ -631,11 +631,14 @@ style_updated_cb (EWebView *web_view) g_free (color_value); g_free (style); - gtk_style_context_get_color ( - style_context, - state_flags | GTK_STATE_FLAG_FOCUSED, - &color); - color_value = g_strdup_printf ("#%06x", e_rgba_to_value (&color)); + if (gtk_style_context_lookup_color ( + style_context, + backdrop ? "theme_unfocused_fg_color" : "theme_fg_color", + &color)) + color_value = g_strdup_printf ("#%06x", e_rgba_to_value (&color)); + else + color_value = g_strdup("#000000"); + style = g_strconcat ("color: ", color_value, ";", NULL); e_web_view_add_css_rule_into_style_sheet ( @@ -644,9 +647,6 @@ style_updated_cb (EWebView *web_view) ".-e-web-view-text-color", style); - gtk_widget_path_free (widget_path); - g_object_unref (style_context); - g_free (color_value); g_free (style); } |