From 7bb2223ce108e56525eddc6e01627c0fd2ecc3df Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sat, 23 Aug 2014 13:15:37 +0200 Subject: [PATCH] replaced usage of deprecated gtk function gtk_color_button_XXX by new gtk_color_chooser_XXX functions. --- src/Makefile.am | 3 +-- src/Makefile.in | 5 +---- src/lib/color.c | 28 ++++++++++++++++++---------- src/lib/color.h | 14 +++++++++----- src/ui_pref.c | 43 ++++++++++++++++++++++--------------------- src/ui_pref.h | 2 +- src/ui_sensorpref.c | 12 ++++++------ 7 files changed, 58 insertions(+), 49 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 5057822..c3a496a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,8 +9,7 @@ SUBDIRS += server endif endif -# -no-deprecated-declarations to avoid some glib deprecation warnings -AM_CPPFLAGS = -Wno-deprecated-declarations -Wall -Werror \ +AM_CPPFLAGS =-Wall -Werror \ -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\"\ -DDATADIR=\""$(datadir)"\"\ -DPSENSOR_DESKTOP_FILE=\""psensor.desktop"\"\ diff --git a/src/Makefile.in b/src/Makefile.in index 2cdacc7..0693ecb 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -351,10 +351,7 @@ SUBDIRS = lib glade $(am__append_1) # -export-dynamic is need for defining handlers in the glade file. AM_LDFLAGS = -Wl,--as-needed -export-dynamic - -# -no-deprecated-declarations to avoid some glib deprecation warnings -AM_CPPFLAGS = -Wno-deprecated-declarations -Wall -Werror \ - -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \ +AM_CPPFLAGS = -Wall -Werror -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \ -DDATADIR=\""$(datadir)"\" \ -DPSENSOR_DESKTOP_FILE=\""psensor.desktop"\" \ -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/unity \ diff --git a/src/lib/color.c b/src/lib/color.c index 89a01a9..54a5ef6 100644 --- a/src/lib/color.c +++ b/src/lib/color.c @@ -23,18 +23,26 @@ #include "color.h" -void color_set(struct color *color, - unsigned int red, - unsigned int green, - unsigned int blue) +void color_set(struct color *c, unsigned int r, unsigned int g, unsigned int b) { - color->red = red; - color->green = green; - color->blue = blue; + c->red = r; + c->green = g; + c->blue = b; - color->f_red = ((double)color->red) / 65535; - color->f_green = ((double)color->green) / 65535; - color->f_blue = ((double)color->blue) / 65535; + c->f_red = ((double)r) / 65535; + c->f_green = ((double)g) / 65535; + c->f_blue = ((double)b) / 65535; +} + +void color_set_f(struct color *c, double r, double g, double b) +{ + c->f_red = r; + c->f_green = g; + c->f_blue = b; + + c->red = 65535 * r; + c->green = 65535 * g; + c->blue = 65535 * b; } struct color *color_new(unsigned int red, unsigned int green, unsigned int blue) diff --git a/src/lib/color.h b/src/lib/color.h index cefb94b..3af8deb 100644 --- a/src/lib/color.h +++ b/src/lib/color.h @@ -40,15 +40,19 @@ struct color { double f_blue; }; -struct color * -color_new(unsigned int red, unsigned int green, unsigned int blue); +/** rgb 0..65535 */ +struct color *color_new(unsigned int r, unsigned int g, unsigned int b); struct color *color_dup(struct color *); +/** rgb 0..65535 */ void color_set(struct color *, - unsigned int red, - unsigned int green, - unsigned int blue); + unsigned int r, + unsigned int g, + unsigned int b); + +/** rgb 0..1 */ +void color_set_f(struct color *, double r, double g, double b); int is_color(const char *str); diff --git a/src/ui_pref.c b/src/ui_pref.c index 4dd4bf8..7469aef 100644 --- a/src/ui_pref.c +++ b/src/ui_pref.c @@ -19,19 +19,20 @@ #include #include -#include "ui.h" -#include "cfg.h" -#include "ui_pref.h" -#include "ui_color.h" +#include +#include +#include +#include #include -GdkColor *color_to_gdkcolor(struct color *color) +GdkRGBA color_to_GdkRGBA(struct color *color) { - GdkColor *c = malloc(sizeof(GdkColor)); + GdkRGBA c; - c->red = color->red; - c->green = color->green; - c->blue = color->blue; + c.red = color->f_red; + c.green = color->f_green; + c.blue = color->f_blue; + c.alpha = 1.0; return c; } @@ -44,8 +45,8 @@ void ui_pref_dialog_run(struct ui_psensor *ui) GtkBuilder *builder; guint ok; GError *error = NULL; - GdkColor *color_fg, *color_bg; - GtkColorButton *w_color_fg, *w_color_bg; + GdkRGBA color_fg, color_bg; + GtkColorChooser *w_color_fg, *w_color_bg; GtkScale *w_bg_opacity; GtkSpinButton *w_update_interval, *w_monitoring_duration, *w_s_update_interval, *w_slog_interval; @@ -82,15 +83,15 @@ void ui_pref_dialog_run(struct ui_psensor *ui) free(notif_script); } - color_fg = color_to_gdkcolor(cfg->graph_fgcolor); - w_color_fg = GTK_COLOR_BUTTON(gtk_builder_get_object(builder, - "color_fg")); - gtk_color_button_set_color(w_color_fg, color_fg); + color_fg = color_to_GdkRGBA(cfg->graph_fgcolor); + w_color_fg = GTK_COLOR_CHOOSER(gtk_builder_get_object(builder, + "color_fg")); + gtk_color_chooser_set_rgba(w_color_fg, &color_fg); - color_bg = color_to_gdkcolor(cfg->graph_bgcolor); - w_color_bg = GTK_COLOR_BUTTON(gtk_builder_get_object(builder, + color_bg = color_to_GdkRGBA(cfg->graph_bgcolor); + w_color_bg = GTK_COLOR_CHOOSER(gtk_builder_get_object(builder, "color_bg")); - gtk_color_button_set_color(w_color_bg, color_bg); + gtk_color_chooser_set_rgba(w_color_bg, &color_bg); w_bg_opacity = GTK_SCALE(gtk_builder_get_object(builder, "bg_opacity")); @@ -169,18 +170,18 @@ void ui_pref_dialog_run(struct ui_psensor *ui) if (result == GTK_RESPONSE_ACCEPT) { double value; - GdkColor color; + GdkRGBA color; pthread_mutex_lock(&ui->sensors_mutex); config_set_notif_script (gtk_entry_get_text(GTK_ENTRY(w_notif_script))); - gtk_color_button_get_color(w_color_fg, &color); + gtk_color_chooser_get_rgba(w_color_fg, &color); color_set(cfg->graph_fgcolor, color.red, color.green, color.blue); - gtk_color_button_get_color(w_color_bg, &color); + gtk_color_chooser_get_rgba(w_color_bg, &color); color_set(cfg->graph_bgcolor, color.red, color.green, color.blue); diff --git a/src/ui_pref.h b/src/ui_pref.h index 9670624..2e669c5 100644 --- a/src/ui_pref.h +++ b/src/ui_pref.h @@ -22,6 +22,6 @@ #include "ui.h" void ui_pref_dialog_run(struct ui_psensor *); -GdkColor *color_to_gdkcolor(struct color *color); +GdkRGBA color_to_GdkRGBA(struct color *color); #endif diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index 0fa57e0..715eed5 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -184,13 +184,13 @@ ui_sensorpref_appindicator_label_toggled_cb(GtkToggleButton *btn, gpointer data) void ui_sensorpref_color_set_cb(GtkColorButton *widget, gpointer data) { struct sensor_pref *p; - GdkColor color; + GdkRGBA color; p = get_selected_sensor_pref(GTK_TREE_VIEW(data)); if (p) { - gtk_color_button_get_color(widget, &color); - color_set(p->color, color.red, color.green, color.blue); + gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(widget), &color); + color_set_f(p->color, color.red, color.green, color.blue); } } @@ -226,7 +226,7 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder) *w_appindicator_label_enabled, *w_display; GtkColorButton *w_color; GtkSpinButton *w_high_threshold, *w_low_threshold; - GdkColor *color; + GdkRGBA color; struct psensor *s; int use_celsius; @@ -256,10 +256,10 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder) "sensor_enable_checkbox")); gtk_toggle_button_set_active(w_display, p->display_enabled); - color = color_to_gdkcolor(p->color); + color = color_to_GdkRGBA(p->color); w_color = GTK_COLOR_BUTTON(gtk_builder_get_object(builder, "sensor_color")); - gtk_color_button_set_color(w_color, color); + gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(w_color), &color); w_alarm = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "sensor_alarm")); -- 2.7.4