[Xfce4-commits] [panel-plugins/xfce4-netload-plugin] 04/04: Rework label css handling
noreply at xfce.org
noreply at xfce.org
Fri Jan 6 23:05:09 CET 2017
This is an automated email from the git hooks/post-receive script.
landry pushed a commit to branch master
in repository panel-plugins/xfce4-netload-plugin.
commit 551ac2c8b83a58972a47f97cccade84c5b04adb6
Author: Landry Breuil <landry at xfce.org>
Date: Fri Jan 6 23:04:11 2017 +0100
Rework label css handling
Move it to XnlpMonitorLabel object.
---
panel-plugin/monitor-label.c | 34 ++++++++++++++++++++++++++++++++++
panel-plugin/monitor-label.h | 1 +
panel-plugin/netload.c | 42 ++++--------------------------------------
3 files changed, 39 insertions(+), 38 deletions(-)
diff --git a/panel-plugin/monitor-label.c b/panel-plugin/monitor-label.c
index bcdda15..032bc7f 100644
--- a/panel-plugin/monitor-label.c
+++ b/panel-plugin/monitor-label.c
@@ -14,6 +14,7 @@
#endif
#include <gtk/gtk.h>
+#include <libxfce4util/libxfce4util.h>
#include "monitor-label.h"
@@ -28,6 +29,7 @@ struct _XnlpMonitorLabel
{
GtkLabel parent;
/*<private>*/
+ GtkCssProvider *css_provider;
gint count_width;
gint count_height;
gint width;
@@ -58,6 +60,11 @@ xnlp_monitor_label_init (XnlpMonitorLabel *label)
label->count_height = 0;
label->width = 0;
label->height = 0;
+ label->css_provider = gtk_css_provider_new ();
+ gtk_style_context_add_provider (
+ GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (label))),
+ GTK_STYLE_PROVIDER (label->css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_signal_connect (label, "notify::label", G_CALLBACK (cb_label_changed), NULL);
}
@@ -126,6 +133,33 @@ xnlp_monitor_label_new (const gchar *str)
}
void
+xnlp_monitor_label_set_color (XnlpMonitorLabel *label, GdkRGBA* color)
+{
+ gchar * css;
+ if (color != NULL)
+ {
+#if GTK_CHECK_VERSION (3, 20, 0)
+ css = g_strdup_printf("label { color: %s; }",
+#else
+ css = g_strdup_printf(".label { color: %s; }",
+#endif
+ gdk_rgba_to_string(color));
+ }
+ else
+ {
+#if GTK_CHECK_VERSION (3, 20, 0)
+ css = g_strdup_printf("label { color: inherit; }");
+#else
+ css = g_strdup_printf(".label { color: inherit; }");
+#endif
+ }
+ DBG("setting label css: %s", gtk_css_provider_to_string (label->css_provider));
+ gtk_css_provider_load_from_data (label->css_provider, css, strlen(css), NULL);
+ g_free(css);
+
+}
+
+void
xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label)
{
label->count_width = 0;
diff --git a/panel-plugin/monitor-label.h b/panel-plugin/monitor-label.h
index 4f8e267..bf495fd 100644
--- a/panel-plugin/monitor-label.h
+++ b/panel-plugin/monitor-label.h
@@ -31,6 +31,7 @@ typedef struct _XnlpMonitorLabel XnlpMonitorLabel;
GType xnlp_monitor_label_get_type (void);
GtkWidget * xnlp_monitor_label_new (const gchar *str);
void xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label);
+void xnlp_monitor_label_set_color (XnlpMonitorLabel *label, GdkRGBA* color);
#endif /* !MONITOR_LABEL_H */
diff --git a/panel-plugin/netload.c b/panel-plugin/netload.c
index fdc17ef..9424b98 100644
--- a/panel-plugin/netload.c
+++ b/panel-plugin/netload.c
@@ -537,40 +537,6 @@ static t_global_monitor * monitor_new(XfcePanelPlugin *plugin)
}
/* ---------------------------------------------------------------------------------------------- */
-static void set_label_csscolor(GtkWidget* label, GdkRGBA* color)
-{
- GtkCssProvider *css_provider;
- gchar * css;
- if (color != NULL)
- {
-#if GTK_CHECK_VERSION (3, 20, 0)
- css = g_strdup_printf("label { color: %s; }",
-#else
- css = g_strdup_printf(".label { color: %s; }",
-#endif
- gdk_rgba_to_string(color));
- }
- else
- {
-#if GTK_CHECK_VERSION (3, 20, 0)
- css = g_strdup_printf("label { color: inherit; }");
-#else
- css = g_strdup_printf(".label { color: inherit; }");
-#endif
- }
- css_provider = gtk_css_provider_new ();
- gtk_css_provider_load_from_data (css_provider, css, strlen(css), NULL);
- g_free(css);
-
- DBG("setting label css: %s", gtk_css_provider_to_string (css_provider));
- gtk_style_context_add_provider (
- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (label))),
- GTK_STYLE_PROVIDER (css_provider),
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-
-}
-
-/* ---------------------------------------------------------------------------------------------- */
static void set_progressbar_csscolor(GtkWidget* pbar, GdkRGBA* color)
{
gchar * css;
@@ -617,9 +583,9 @@ static void setup_monitor(t_global_monitor *global, gboolean supress_warnings)
if (global->monitor->options.colorize_values)
{
#if GTK_CHECK_VERSION (3, 16, 0)
- set_label_csscolor(global->monitor->rcv_label,
+ xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->rcv_label),
&global->monitor->options.color[IN]);
- set_label_csscolor(global->monitor->sent_label,
+ xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->sent_label),
&global->monitor->options.color[OUT]);
#else
gtk_widget_override_color(global->monitor->rcv_label, GTK_STATE_NORMAL,
@@ -632,8 +598,8 @@ static void setup_monitor(t_global_monitor *global, gboolean supress_warnings)
{
DBG("resetting label colors");
#if GTK_CHECK_VERSION (3, 16, 0)
- set_label_csscolor(global->monitor->rcv_label, NULL);
- set_label_csscolor(global->monitor->sent_label, NULL);
+ xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->rcv_label), NULL);
+ xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->sent_label), NULL);
#else
gtk_widget_override_color(global->monitor->rcv_label, GTK_STATE_NORMAL, NULL);
gtk_widget_override_color(global->monitor->sent_label, GTK_STATE_NORMAL, NULL);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list