summaryrefslogtreecommitdiff
path: root/tools/mate-color-select.c
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2014-07-02 11:29:44 +0200
committerStefano Karapetsas <[email protected]>2014-07-02 11:29:44 +0200
commit1c49e3642bad900c438114c22767444cf6445130 (patch)
treee319519391a7d76fd700c15caee5f3d36a9b50a1 /tools/mate-color-select.c
parentcf170926a4e57afe41f1ad9131d52cb297a71b99 (diff)
downloadmate-desktop-1c49e3642bad900c438114c22767444cf6445130.tar.bz2
mate-desktop-1c49e3642bad900c438114c22767444cf6445130.tar.xz
mate-color-select: Add copy button
Diffstat (limited to 'tools/mate-color-select.c')
-rw-r--r--tools/mate-color-select.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/mate-color-select.c b/tools/mate-color-select.c
index ed4f18c..198c7df 100644
--- a/tools/mate-color-select.c
+++ b/tools/mate-color-select.c
@@ -26,16 +26,35 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <libmate-desktop/mate-colorseldialog.h>
+#include <libmate-desktop/mate-colorsel.h>
#define mate_gettext(package, locale, codeset) \
bindtextdomain(package, locale); \
bind_textdomain_codeset(package, codeset); \
textdomain(package);
+#if !GTK_CHECK_VERSION (3, 0, 0)
+gboolean
+copy_color (GtkWidget *widget, GdkEvent *event, MateColorSelectionDialog *color_dialog)
+{
+ GdkColor color;
+ gchar *color_string;
+
+ mate_color_selection_get_current_color (color_dialog->colorsel, &color);
+ g_object_get (color_dialog->colorsel, "hex-string", &color_string, NULL);
+ g_print ("%s\n", color_string);
+
+ gtk_clipboard_set_text (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD), color_string, -1);
+
+ g_free (color_string);
+}
+#endif
+
int
main (int argc, char **argv)
{
GtkWidget *color_dialog = NULL;
+ GtkWidget *widget;
mate_gettext (GETTEXT_PACKAGE, LOCALE_DIR, "UTF-8");
@@ -54,6 +73,16 @@ main (int argc, char **argv)
/* quit signal */
g_signal_connect (color_dialog, "destroy", gtk_main_quit, NULL);
+#if !GTK_CHECK_VERSION (3, 0, 0)
+ widget = gtk_button_new_from_stock (GTK_STOCK_COPY);
+ gtk_container_add (gtk_dialog_get_action_area (GTK_DIALOG (color_dialog)), widget);
+ g_signal_connect (widget, "button-release-event", copy_color, color_dialog);
+
+ widget = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
+ gtk_container_add (gtk_dialog_get_action_area (GTK_DIALOG (color_dialog)), widget);
+ g_signal_connect (widget, "button-release-event", gtk_main_quit, NULL);
+#endif
+
gtk_widget_show_all (color_dialog);
gtk_widget_hide (MATE_COLOR_SELECTION_DIALOG (color_dialog)->ok_button);
gtk_widget_hide (MATE_COLOR_SELECTION_DIALOG (color_dialog)->cancel_button);