X-Git-Url: http://wpitchoune.net/gitweb/?p=psensor-pkg-debian.git;a=blobdiff_plain;f=src%2Fui_color.c;h=3c778270dd563c5f330291176c95b2f8c4142365;hp=cae61f0c3248af71821b4698c501d46e83b2ea44;hb=3361fda8735c65887a859c9faf287cb105ae6bc8;hpb=ba85e3eadb75ad8bd62d9f46f5f13c33b42cb864 diff --git a/src/ui_color.c b/src/ui_color.c index cae61f0..3c77827 100644 --- a/src/ui_color.c +++ b/src/ui_color.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2013 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, 65535*r, 65535*g, 65535*b); - } + if (res == GTK_RESPONSE_OK) + gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), color); gtk_widget_destroy(GTK_WIDGET(colordlg));