replaced usage of deprecated gtk function gtk_color_button_XXX by new gtk_color_choos...
authorJean-Philippe Orsini <jeanfi@gmail.com>
Sat, 23 Aug 2014 11:15:37 +0000 (13:15 +0200)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Sat, 23 Aug 2014 11:15:37 +0000 (13:15 +0200)
src/Makefile.am
src/Makefile.in
src/lib/color.c
src/lib/color.h
src/ui_pref.c
src/ui_pref.h
src/ui_sensorpref.c

index 5057822..c3a496a 100644 (file)
@@ -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"\"\
index 2cdacc7..0693ecb 100644 (file)
@@ -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 \
index 89a01a9..54a5ef6 100644 (file)
 
 #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)
index cefb94b..3af8deb 100644 (file)
@@ -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);
 
index 4dd4bf8..7469aef 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "ui.h"
-#include "cfg.h"
-#include "ui_pref.h"
-#include "ui_color.h"
+#include <ui.h>
+#include <cfg.h>
+#include <ui_pref.h>
+#include <ui_color.h>
 #include <pxdg.h>
 
-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);
 
index 9670624..2e669c5 100644 (file)
@@ -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
index 0fa57e0..715eed5 100644 (file)
@@ -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"));