[Xfce4-commits] [panel-plugins/xfce4-wavelan-plugin] 08/09: Use GdkRGBA instead of GdkColor, and migrate to GtkCssProvider with Gtk >= 3.16
noreply at xfce.org
noreply at xfce.org
Sun May 1 18:06:21 CEST 2016
This is an automated email from the git hooks/post-receive script.
landry pushed a commit to branch master
in repository panel-plugins/xfce4-wavelan-plugin.
commit 79ba5bb6824a179fdbd6e3a5026985b5366c24b7
Author: Landry Breuil <landry at xfce.org>
Date: Sun May 1 18:04:25 2016 +0200
Use GdkRGBA instead of GdkColor, and migrate to GtkCssProvider with Gtk >= 3.16
---
panel-plugin/wavelan.c | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/panel-plugin/wavelan.c b/panel-plugin/wavelan.c
index d3c1a04..b305d87 100644
--- a/panel-plugin/wavelan.c
+++ b/panel-plugin/wavelan.c
@@ -75,7 +75,11 @@ static void wavelan_set_orientation(XfcePanelPlugin* plugin, GtkOrientation orie
static void
wavelan_set_state(t_wavelan *wavelan, gint state)
{
- GdkColor color;
+ GdkRGBA color;
+#if GTK_CHECK_VERSION (3, 16, 0)
+ GtkCssProvider *css_provider;
+ gchar *css;
+#endif
gchar signal_color_bad[] = "#e00000";
gchar signal_color_weak[] = "#e05200";
@@ -96,23 +100,39 @@ wavelan_set_state(t_wavelan *wavelan, gint state)
if (wavelan->signal_colors) {
/* set color */
if (state > 70)
- gdk_color_parse(signal_color_strong, &color);
+ gdk_rgba_parse(&color, signal_color_strong);
else if (state > 55)
- gdk_color_parse(signal_color_good, &color);
+ gdk_rgba_parse(&color, signal_color_good);
else if (state > 40)
- gdk_color_parse(signal_color_weak, &color);
+ gdk_rgba_parse(&color, signal_color_weak);
else
- gdk_color_parse(signal_color_bad, &color);
+ gdk_rgba_parse(&color, signal_color_bad);
- gtk_widget_modify_bg(GTK_WIDGET(wavelan->signal),
+#if GTK_CHECK_VERSION (3, 16, 0)
+#if GTK_CHECK_VERSION (3, 20, 0)
+ css = g_strdup_printf("progressbar progress { background-color: %s; background-image: none; }", gdk_rgba_to_string(&color));
+#else
+ css = g_strdup_printf(".progressbar { background-color: %s; background-image: none; }", gdk_rgba_to_string(&color));
+#endif
+ /* Setup Gtk style */
+ css_provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_data (css_provider, css, strlen(css), NULL);
+ gtk_style_context_add_provider (
+ GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (wavelan->signal))),
+ GTK_STYLE_PROVIDER (css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ g_free(css);
+#else
+ gtk_widget_override_background_color(GTK_WIDGET(wavelan->signal),
GTK_STATE_PRELIGHT,
&color);
- gtk_widget_modify_bg(GTK_WIDGET(wavelan->signal),
+ gtk_widget_override_background_color(GTK_WIDGET(wavelan->signal),
GTK_STATE_SELECTED,
&color);
- gtk_widget_modify_base(GTK_WIDGET(wavelan->signal),
+ gtk_widget_override_color(GTK_WIDGET(wavelan->signal),
GTK_STATE_SELECTED,
&color);
+#endif
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list