[glade/f17] Backport a patch for GtkButton properties sensitivity
Kalev Lember
kalev at fedoraproject.org
Mon Oct 15 21:09:49 UTC 2012
commit 3399c5366a91308441e5a7e5f5edbaace7ed46dc
Author: Kalev Lember <kalevlember at gmail.com>
Date: Mon Oct 15 22:58:51 2012 +0200
Backport a patch for GtkButton properties sensitivity
https://bugzilla.redhat.com/show_bug.cgi?id=863361
glade-3.12.2-button-properties.patch | 123 ++++++++++++++++++++++++++++++++++
glade.spec | 8 ++-
2 files changed, 130 insertions(+), 1 deletions(-)
---
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 <juanpablougarte at gmail.com>
+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 <kalevlember at gmail.com> - 3.12.2-3
+- Backport a patch for GtkButton properties sensitivity (#863361)
+
* Sun Sep 23 2012 Kalev Lember <kalevlember at gmail.com> - 3.12.2-2
- Avoid changing the libgladui soname
More information about the scm-commits
mailing list