From 3399c5366a91308441e5a7e5f5edbaace7ed46dc Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Oct 15 2012 21:06:39 +0000 Subject: Backport a patch for GtkButton properties sensitivity https://bugzilla.redhat.com/show_bug.cgi?id=863361 --- diff --git a/glade-3.12.2-button-properties.patch b/glade-3.12.2-button-properties.patch new file mode 100644 index 0000000..224f61e --- /dev/null +++ b/glade-3.12.2-button-properties.patch @@ -0,0 +1,123 @@ +From 1cf2c6beb2ba328d5a006ee7a6ddd1c800e324ec Mon Sep 17 00:00:00 2001 +From: Juan Pablo Ugarte +Date: Sat, 13 Oct 2012 12:00:05 -0300 +Subject: [PATCH] Fixed bug in GtkButton custom editor properties sensitivity + bug #685816 "Widget attributes editing broken" + +--- + plugins/gtk+/glade-gtk-activatable.c | 87 +++++++++++++++++++----------------- + 1 file changed, 47 insertions(+), 40 deletions(-) + +diff --git a/plugins/gtk+/glade-gtk-activatable.c b/plugins/gtk+/glade-gtk-activatable.c +index 31d538f..7cf9bf5 100644 +--- a/plugins/gtk+/glade-gtk-activatable.c ++++ b/plugins/gtk+/glade-gtk-activatable.c +@@ -26,58 +26,65 @@ + #include "glade-gtk-activatable.h" + + /* ----------------------------- GtkActivatable ------------------------------ */ ++static void ++update_use_action_appearance (GladeWidget *gwidget, ++ gboolean related_action, ++ gboolean use_appearance) ++{ ++ gboolean sensitivity; ++ gchar *msg; ++ ++ if (use_appearance) ++ { ++ sensitivity = FALSE; ++ msg = ACTION_APPEARANCE_MSG; ++ } ++ else ++ { ++ sensitivity = TRUE; ++ msg = NULL; ++ } ++ ++ glade_widget_property_set_sensitive (gwidget, "label", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "use-underline", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "stock", sensitivity, msg); ++ //glade_widget_property_set_sensitive (gwidget, "use-stock", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "image", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "image-position", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "custom-child", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "stock-id", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "label-widget", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "icon-name", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "icon-widget", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "icon", sensitivity, msg); ++ ++ if (related_action) ++ { ++ glade_widget_property_set_sensitive (gwidget, "visible", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "sensitive", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "accel-group", sensitivity, msg); ++ glade_widget_property_set_sensitive (gwidget, "use-action-appearance", ++ !sensitivity, sensitivity ? msg : NULL); ++ } ++} ++ + void + glade_gtk_activatable_evaluate_property_sensitivity (GObject *object, + const gchar *id, + const GValue *value) + { + GladeWidget *gwidget = glade_widget_get_from_gobject (object); +- gboolean sensitivity; +- gchar *msg; + + if (!strcmp (id, "related-action")) + { +- GtkAction *action = g_value_get_object (value); +- +- if (action) +- { +- sensitivity = FALSE; +- msg = ACTION_APPEARANCE_MSG; +- } +- else +- { +- sensitivity = TRUE; +- msg = NULL; +- } +- +- glade_widget_property_set_sensitive (gwidget, "visible", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "sensitive", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "accel-group", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "use-action-appearance", !sensitivity, sensitivity ? msg : NULL); ++ update_use_action_appearance (gwidget, TRUE, ++ g_value_get_object (value) != NULL); + } + else if (!strcmp (id, "use-action-appearance")) + { +- if (g_value_get_boolean (value)) +- { +- sensitivity = FALSE; +- msg = ACTION_APPEARANCE_MSG; +- } +- else +- { +- sensitivity = TRUE; +- msg = NULL; +- } ++ GtkAction *action = gtk_activatable_get_related_action (GTK_ACTIVATABLE (object)); ++ gboolean use_appearance = g_value_get_boolean (value); + +- glade_widget_property_set_sensitive (gwidget, "label", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "use-underline", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "stock", sensitivity, msg); +- //glade_widget_property_set_sensitive (gwidget, "use-stock", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "image", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "custom-child", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "stock-id", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "label-widget", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "icon-name", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "icon-widget", sensitivity, msg); +- glade_widget_property_set_sensitive (gwidget, "icon", sensitivity, msg); ++ update_use_action_appearance (gwidget, FALSE, action && use_appearance); + } + } +-- +1.7.12.1 + diff --git a/glade.spec b/glade.spec index b3e4f8b..c2380a0 100644 --- a/glade.spec +++ b/glade.spec @@ -1,6 +1,6 @@ Name: glade Version: 3.12.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: User Interface Designer for GTK+ and GNOME # - /usr/bin/glade is GPLv2+ @@ -14,6 +14,8 @@ Source0: http://ftp.gnome.org/pub/GNOME/sources/glade/3.12/glade-%{versio # compared to 3.12.1 release. # https://bugzilla.gnome.org/show_bug.cgi?id=684455 Patch0: glade-3.12.2-soname.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=863361 +Patch1: glade-3.12.2-button-properties.patch BuildRequires: chrpath BuildRequires: desktop-file-utils @@ -67,6 +69,7 @@ developing applications that use Glade widget library. %prep %setup -q %patch0 -p1 -b .soname +%patch1 -p1 -b .button_propeties %build @@ -139,6 +142,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %doc %{_datadir}/gtk-doc/ %changelog +* Mon Oct 15 2012 Kalev Lember - 3.12.2-3 +- Backport a patch for GtkButton properties sensitivity (#863361) + * Sun Sep 23 2012 Kalev Lember - 3.12.2-2 - Avoid changing the libgladui soname