Imported Upstream version 1.2.0
[psensor-pkg-debian.git] / src / ui_color.c
index a5e1e87..3c77827 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2012 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
  */
 #include <gtk/gtk.h>
 
-#include "ui_color.h"
+#include <ui_color.h>
 
-int ui_change_color(const char *title, struct color *col)
+/*
+ * 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)
 {
-       GdkColor color;
-       GtkColorSelection *colorsel;
        int res;
-       GtkColorSelectionDialog *colordlg;
+       GtkColorChooserDialog *colordlg;
 
-       color.red = col->red;
-       color.green = col->green;
-       color.blue = col->blue;
+       colordlg = GTK_COLOR_CHOOSER_DIALOG
+               (gtk_color_chooser_dialog_new(title, win));
 
-       colordlg = GTK_COLOR_SELECTION_DIALOG
-               (gtk_color_selection_dialog_new(title));
+       gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(colordlg), 0);
 
-       colorsel = GTK_COLOR_SELECTION
-               (gtk_color_selection_dialog_get_color_selection(colordlg));
-
-       gtk_color_selection_set_current_color(colorsel, &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_selection_get_current_color(colorsel, &color);
-
-               color_set(col, color.red, color.green, color.blue);
-       }
+       if (res == GTK_RESPONSE_OK)
+               gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(colordlg), color);
 
        gtk_widget_destroy(GTK_WIDGET(colordlg));