summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libview/ev-loading-window.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libview/ev-loading-window.c b/libview/ev-loading-window.c
index 2b79d4ed..c6ce8b85 100644
--- a/libview/ev-loading-window.c
+++ b/libview/ev-loading-window.c
@@ -71,8 +71,13 @@ ev_loading_window_init (EvLoadingWindow *window)
GtkWidget *widget = GTK_WIDGET (window);
GtkWidget *hbox;
GtkWidget *label;
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GtkStyleContext *context;
+ GdkRGBA fg, bg;
+#else
GtkStyle *style;
GdkColor fg, bg;
+#endif
const gchar *loading_text = _("Loading…");
const gchar *fg_color_name = "info_fg_color";
const gchar *bg_color_name = "info_bg_color";
@@ -99,6 +104,25 @@ ev_loading_window_init (EvLoadingWindow *window)
gtk_window_set_decorated (gtk_window, FALSE);
gtk_window_set_resizable (gtk_window, FALSE);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ context = gtk_widget_get_style_context (widget);
+ if (!gtk_style_context_lookup_color (context, fg_color_name, &fg) ||
+ !gtk_style_context_lookup_color (context, bg_color_name, &bg)) {
+ fg.red = 0.7;
+ fg.green = 0.67;
+ fg.blue = 0.63;
+ fg.alpha = 1.0;
+
+ bg.red = 0.99;
+ bg.green = 0.99;
+ bg.blue = 0.71;
+ bg.alpha = 1.0;
+ }
+
+ gtk_widget_override_background_color (widget, GTK_STATE_NORMAL, &bg);
+ gtk_widget_override_color (widget, GTK_STATE_NORMAL, &fg);
+}
+#else
style = gtk_widget_get_style (widget);
if (!gtk_style_lookup_color (style, fg_color_name, &fg) ||
!gtk_style_lookup_color (style, bg_color_name, &bg)) {
@@ -118,6 +142,7 @@ ev_loading_window_init (EvLoadingWindow *window)
if (!gdk_color_equal (&fg, &style->fg[GTK_STATE_NORMAL]))
gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, &fg);
}
+#endif
static GObject *
ev_loading_window_constructor (GType type,