ColorChooser: Emit notification for editor changes

When the color editor is visible, there is no way for the
application to know about the changes that are happening.
Fix this by emitting property notification for the "rgba"
property.

http://bugzilla.gnome.org/show_bug.cgi?id=708037
This commit is contained in:
Matthias Clasen 2014-05-21 19:23:56 -04:00
parent 33207f4597
commit 8591f452f0

View File

@ -269,6 +269,15 @@ gtk_color_chooser_widget_set_show_editor (GtkColorChooserWidget *cc,
gtk_widget_set_visible (cc->priv->palette, !show_editor); gtk_widget_set_visible (cc->priv->palette, !show_editor);
} }
static void
update_from_editor (GtkColorEditor *editor,
GParamSpec *pspec,
GtkColorChooserWidget *widget)
{
if (gtk_widget_get_visible (editor))
g_object_notify (G_OBJECT (widget), "rgba");
}
/* UI construction {{{1 */ /* UI construction {{{1 */
static guint static guint
@ -565,6 +574,8 @@ gtk_color_chooser_widget_init (GtkColorChooserWidget *cc)
cc->priv->editor = gtk_color_editor_new (); cc->priv->editor = gtk_color_editor_new ();
gtk_widget_set_halign (cc->priv->editor, GTK_ALIGN_CENTER); gtk_widget_set_halign (cc->priv->editor, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (cc->priv->editor, TRUE); gtk_widget_set_hexpand (cc->priv->editor, TRUE);
g_signal_connect (cc->priv->editor, "notify::rgba",
G_CALLBACK (update_from_editor), cc);
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add (GTK_CONTAINER (cc), box); gtk_container_add (GTK_CONTAINER (cc), box);