gtk+ r20363 - in trunk: . gtk
- From: matthiasc svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20363 - in trunk: . gtk
- Date: Fri, 13 Jun 2008 01:26:46 +0000 (UTC)
Author: matthiasc
Date: Fri Jun 13 01:26:46 2008
New Revision: 20363
URL: http://svn.gnome.org/viewvc/gtk+?rev=20363&view=rev
Log:
* gtk/gtkaction.c (connect_proxy): Set the image of a button
proxy to the "icon-name" property.
(gtk_action_set_short_label): If the "image" property is set
on the button proxy, also tries to set the "label" property on
the GtkButton.
Modified:
trunk/ChangeLog
trunk/gtk/gtkaction.c
Modified: trunk/gtk/gtkaction.c
==============================================================================
--- trunk/gtk/gtkaction.c (original)
+++ trunk/gtk/gtkaction.c Fri Jun 13 01:26:46 2008
@@ -817,7 +817,12 @@
}
else
{
- if (GTK_BIN (proxy)->child == NULL ||
+ GtkWidget *image;
+
+ image = gtk_button_get_image (GTK_BUTTON (proxy));
+
+ if (GTK_IS_IMAGE (image) ||
+ GTK_BIN (proxy)->child == NULL ||
GTK_IS_LABEL (GTK_BIN (proxy)->child))
{
/* synchronise the label */
@@ -826,6 +831,12 @@
"use-underline", TRUE,
NULL);
}
+
+ if (GTK_IS_IMAGE (image) &&
+ (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_EMPTY ||
+ gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_ICON_NAME))
+ gtk_image_set_from_icon_name (GTK_IMAGE (image),
+ action->private_data->icon_name, GTK_ICON_SIZE_MENU);
}
/* we leave the button alone if there is a custom child */
g_signal_connect_object (proxy, "clicked",
@@ -1379,9 +1390,13 @@
else if (GTK_IS_BUTTON (proxy) &&
!gtk_button_get_use_stock (GTK_BUTTON (proxy)))
{
+ GtkImage *image;
child = GTK_BIN (proxy)->child;
+
+ image = gtk_button_get_image (GTK_BUTTON (proxy));
- if (child == NULL || GTK_IS_LABEL (child))
+ if (GTK_IS_IMAGE (image) ||
+ child == NULL || GTK_IS_LABEL (child))
gtk_button_set_label (GTK_BUTTON (proxy),
action->private_data->short_label);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]