[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