X-Git-Url: http://wpitchoune.net/gitweb/?p=psensor-pkg-debian.git;a=blobdiff_plain;f=src%2Fui_color.c;h=3c778270dd563c5f330291176c95b2f8c4142365;hp=85277ff8b949c6b4326ffe19e1d9eb4a0a7eeb09;hb=3361fda8735c65887a859c9faf287cb105ae6bc8;hpb=3050ae71f0f0e6558446129c223a976fc15d3d37 diff --git a/src/ui_color.c b/src/ui_color.c index 85277ff..3c77827 100644 --- a/src/ui_color.c +++ b/src/ui_color.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -18,53 +18,29 @@ */ #include -#include "ui_color.h" +#include -int ui_change_color(const char *title, struct color *col, GtkWindow *win) +/* + * UI to change a given color. + * + * Returns 1 if the color has been modified. + */ +bool ui_change_color(const char *title, GdkRGBA *color, GtkWindow *win) { - GdkRGBA color; int res; GtkColorChooserDialog *colordlg; - double r, g, b; - - color.red = col->red; - color.green = col->green; - color.blue = col->blue; - color.alpha = 1; colordlg = GTK_COLOR_CHOOSER_DIALOG (gtk_color_chooser_dialog_new(title, win)); gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(colordlg), 0); - gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(colordlg), &color); + gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(colordlg), color); res = gtk_dialog_run(GTK_DIALOG(colordlg)); - if (res == GTK_RESPONSE_OK) { - gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), &color); - - /* GdkRGBA defines rgb as double 0..1 but chooser returns - * values > 1 when selecting a custom undefined color. - * Not sure whether that's a gtk/gdk bug. */ - - if (color.red > 1) - r = 1; - else - r = color.red; - - if (color.green > 1) - g = 1; - else - g = color.green; - - if (color.blue > 1) - b = 1; - else - b = color.blue; - - color_set(col, r, g, b); - } + if (res == GTK_RESPONSE_OK) + gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), color); gtk_widget_destroy(GTK_WIDGET(colordlg));