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"\"\
# -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 \
#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)
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);
#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;
}
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;
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"));
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);
#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
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);
}
}
*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;
"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"));