[glade3] Add the patch file
Kalev Lember
kalev at fedoraproject.org
Sat Mar 17 17:58:55 UTC 2012
commit 97c48ddac27efbab8289211016f76c3ca3dd5dca
Author: Kalev Lember <kalevlember at gmail.com>
Date: Sat Mar 17 19:57:54 2012 +0200
Add the patch file
...69272-Emit-a-signal-to-notify-signal-acti.patch | 121 ++++++++++++++++++++
1 files changed, 121 insertions(+), 0 deletions(-)
---
diff --git a/0001-Fixed-bug-669272-Emit-a-signal-to-notify-signal-acti.patch b/0001-Fixed-bug-669272-Emit-a-signal-to-notify-signal-acti.patch
new file mode 100644
index 0000000..33bd514
--- /dev/null
+++ b/0001-Fixed-bug-669272-Emit-a-signal-to-notify-signal-acti.patch
@@ -0,0 +1,121 @@
+From 3e3f341a1cf922cc26806462fbbcba5659548a3e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marco=20Diego=20Aur=C3=A9lio=20Mesquita?=
+ <marcodiegomesquita at gmail.com>
+Date: Fri, 17 Feb 2012 18:20:27 -0300
+Subject: [PATCH] Fixed bug 669272 "Emit a signal to notify signal activation"
+
+---
+ gladeui/glade-signal-editor.c | 65 +++++++++++++++++++++++++++++++++++++++++
+ gladeui/glade-signal-editor.h | 1 +
+ 2 files changed, 66 insertions(+)
+
+diff --git a/gladeui/glade-signal-editor.c b/gladeui/glade-signal-editor.c
+index 31848f4..6647336 100644
+--- a/gladeui/glade-signal-editor.c
++++ b/gladeui/glade-signal-editor.c
+@@ -68,6 +68,14 @@ struct _GladeSignalEditorPrivate
+ GtkCellRenderer* renderer_userdata;
+ };
+
++enum
++{
++ SIGNAL_ACTIVATED,
++ LAST_SIGNAL
++};
++
++static guint glade_signal_editor_signals[LAST_SIGNAL] = { 0 };
++
+ /* Utils */
+ static gboolean
+ glade_signal_is_dummy (GladeSignal *signal)
+@@ -762,6 +770,43 @@ glade_signal_editor_devhelp_cell_data_func (GtkTreeViewColumn *column,
+ }
+ }
+
++GladeWidget*
++glade_signal_editor_get_widget (GladeSignalEditor *editor)
++{
++ g_return_val_if_fail (GLADE_IS_SIGNAL_EDITOR(editor), NULL);
++ return editor->priv->widget;
++}
++
++static void
++glade_signal_editor_signal_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ GladeSignalEditor *editor)
++
++{
++ GladeSignalEditor* self = GLADE_SIGNAL_EDITOR(editor);
++ if (self->priv->widget == NULL || column != self->priv->column_name)
++ return;
++
++ GladeSignal *signal = NULL;
++ GtkTreeIter iter;
++ gtk_tree_model_get_iter (self->priv->model,
++ &iter,
++ path);
++ gtk_tree_model_get (self->priv->model, &iter,
++ GLADE_SIGNAL_COLUMN_SIGNAL, &signal,
++ -1);
++
++ if(glade_signal_is_dummy (signal))
++ return;
++
++ g_signal_emit (editor, glade_signal_editor_signals[SIGNAL_ACTIVATED],
++ 0, signal, NULL);
++
++ g_object_unref (signal);
++ return;
++}
++
+ static void
+ glade_signal_editor_init (GladeSignalEditor *self)
+ {
+@@ -776,6 +821,10 @@ glade_signal_editor_init (GladeSignalEditor *self)
+ /* Create signal tree */
+ priv->signal_tree = gtk_tree_view_new ();
+
++ g_signal_connect (G_OBJECT (priv->signal_tree), "row-activated",
++ G_CALLBACK (glade_signal_editor_signal_activate),
++ self);
++
+ /* Create columns */
+ /* Signal name */
+ priv->column_name = gtk_tree_view_column_new ();
+@@ -963,4 +1012,20 @@ glade_signal_editor_class_init (GladeSignalEditorClass *klass)
+ object_class->dispose = glade_signal_editor_dispose;
+
+ g_type_class_add_private (klass, sizeof (GladeSignalEditorPrivate));
++
++ /**
++ * GladeSignalEditor::signal-activated:
++ * @signal_editor: the object which received the signal
++ *
++ * Emitted when a item is activated in the GladeInspector.
++ */
++ glade_signal_editor_signals[SIGNAL_ACTIVATED] =
++ g_signal_new ("signal-activated",
++ G_TYPE_FROM_CLASS (object_class),
++ G_SIGNAL_RUN_LAST,
++ 0,
++ NULL, NULL, g_cclosure_marshal_VOID__OBJECT,
++ G_TYPE_NONE, 1,
++ GLADE_TYPE_SIGNAL /* Signal data formatted string */
++ );
+ }
+diff --git a/gladeui/glade-signal-editor.h b/gladeui/glade-signal-editor.h
+index 1e92a66..558e3d2 100644
+--- a/gladeui/glade-signal-editor.h
++++ b/gladeui/glade-signal-editor.h
+@@ -45,6 +45,7 @@ GladeSignalEditor *glade_signal_editor_new (void);
+ void glade_signal_editor_construct_signals_list (GladeSignalEditor *editor);
+ void glade_signal_editor_load_widget (GladeSignalEditor *editor,
+ GladeWidget *widget);
++GladeWidget *glade_signal_editor_get_widget (GladeSignalEditor *editor);
+
+ void glade_signal_editor_enable_dnd (GladeSignalEditor *editor, gboolean enabled);
+
+--
+1.7.9.3
+
More information about the scm-commits
mailing list