parent
0b7a0f4344
commit
551ac2c8b8
|
@ -14,6 +14,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
#include <libxfce4util/libxfce4util.h>
|
||||||
|
|
||||||
#include "monitor-label.h"
|
#include "monitor-label.h"
|
||||||
|
|
||||||
|
@ -28,6 +29,7 @@ struct _XnlpMonitorLabel
|
||||||
{
|
{
|
||||||
GtkLabel parent;
|
GtkLabel parent;
|
||||||
/*<private>*/
|
/*<private>*/
|
||||||
|
GtkCssProvider *css_provider;
|
||||||
gint count_width;
|
gint count_width;
|
||||||
gint count_height;
|
gint count_height;
|
||||||
gint width;
|
gint width;
|
||||||
|
@ -58,6 +60,11 @@ xnlp_monitor_label_init (XnlpMonitorLabel *label)
|
||||||
label->count_height = 0;
|
label->count_height = 0;
|
||||||
label->width = 0;
|
label->width = 0;
|
||||||
label->height = 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);
|
g_signal_connect (label, "notify::label", G_CALLBACK (cb_label_changed), NULL);
|
||||||
}
|
}
|
||||||
|
@ -125,6 +132,33 @@ xnlp_monitor_label_new (const gchar *str)
|
||||||
return GTK_WIDGET (label);
|
return GTK_WIDGET (label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
void
|
||||||
xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label)
|
xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label)
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,6 +31,7 @@ typedef struct _XnlpMonitorLabel XnlpMonitorLabel;
|
||||||
GType xnlp_monitor_label_get_type (void);
|
GType xnlp_monitor_label_get_type (void);
|
||||||
GtkWidget * xnlp_monitor_label_new (const gchar *str);
|
GtkWidget * xnlp_monitor_label_new (const gchar *str);
|
||||||
void xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label);
|
void xnlp_monitor_label_reinit_size_request (XnlpMonitorLabel *label);
|
||||||
|
void xnlp_monitor_label_set_color (XnlpMonitorLabel *label, GdkRGBA* color);
|
||||||
|
|
||||||
#endif /* !MONITOR_LABEL_H */
|
#endif /* !MONITOR_LABEL_H */
|
||||||
|
|
||||||
|
|
|
@ -536,40 +536,6 @@ static t_global_monitor * monitor_new(XfcePanelPlugin *plugin)
|
||||||
return global;
|
return global;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------- */
|
|
||||||
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)
|
static void set_progressbar_csscolor(GtkWidget* pbar, GdkRGBA* color)
|
||||||
{
|
{
|
||||||
|
@ -617,9 +583,9 @@ static void setup_monitor(t_global_monitor *global, gboolean supress_warnings)
|
||||||
if (global->monitor->options.colorize_values)
|
if (global->monitor->options.colorize_values)
|
||||||
{
|
{
|
||||||
#if GTK_CHECK_VERSION (3, 16, 0)
|
#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]);
|
&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]);
|
&global->monitor->options.color[OUT]);
|
||||||
#else
|
#else
|
||||||
gtk_widget_override_color(global->monitor->rcv_label, GTK_STATE_NORMAL,
|
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");
|
DBG("resetting label colors");
|
||||||
#if GTK_CHECK_VERSION (3, 16, 0)
|
#if GTK_CHECK_VERSION (3, 16, 0)
|
||||||
set_label_csscolor(global->monitor->rcv_label, NULL);
|
xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->rcv_label), NULL);
|
||||||
set_label_csscolor(global->monitor->sent_label, NULL);
|
xnlp_monitor_label_set_color(XNLP_MONITOR_LABEL(global->monitor->sent_label), NULL);
|
||||||
#else
|
#else
|
||||||
gtk_widget_override_color(global->monitor->rcv_label, GTK_STATE_NORMAL, NULL);
|
gtk_widget_override_color(global->monitor->rcv_label, GTK_STATE_NORMAL, NULL);
|
||||||
gtk_widget_override_color(global->monitor->sent_label, GTK_STATE_NORMAL, NULL);
|
gtk_widget_override_color(global->monitor->sent_label, GTK_STATE_NORMAL, NULL);
|
||||||
|
|
Loading…
Reference in New Issue