2008-11-27 Claudio Saavedra <csaavedra@igalia.com>
authorClaudio Saavedra <csaavedra@igalia.com>
Fri, 28 Nov 2008 00:13:20 +0000 (00:13 +0000)
committerClaudio Saavedra <csaavedra@igalia.com>
Fri, 28 Nov 2008 00:13:20 +0000 (00:13 +0000)
* src/hildon-touch-selector.c: (hildon_touch_selector_class_init): Add a new
::columns-changed signal.
(hildon_touch_selector_append_column): Emit ::columns-changed.
(hildon_touch_selector_remove_column): Emit ::columns-changed.

Add a ::columns-changed signal, emitted when the number of columns in a
HildonTouchSelector changes.

ChangeLog
src/hildon-touch-selector.c

index cf20a48..25d1d95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2008-11-27  Claudio Saavedra  <csaavedra@igalia.com>
 
+       * src/hildon-touch-selector.c: (hildon_touch_selector_class_init): Add a new
+       ::columns-changed signal.
+       (hildon_touch_selector_append_column): Emit ::columns-changed.
+       (hildon_touch_selector_remove_column): Emit ::columns-changed.
+
+       Add a ::columns-changed signal, emitted when the number of columns in a
+       HildonTouchSelector changes.
+
+2008-11-27  Claudio Saavedra  <csaavedra@igalia.com>
+
        * src/hildon-picker-dialog.c: (+setup_interaction_mode),
        (_hildon_picker_dialog_set_selector): Factor out the code
        to set up the dialog interaction mode.
index 99db678..36c7535 100644 (file)
@@ -246,6 +246,22 @@ hildon_touch_selector_class_init (HildonTouchSelectorClass * class)
                   G_STRUCT_OFFSET (HildonTouchSelectorClass, changed),
                   NULL, NULL,
                   g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
+
+  /**
+   * HildonTouchSelector::columns-changed:
+   * @selector: the object which received the signal
+   *
+   * The ::columns-changed signal is emitted when the number
+   * of columns in the #HildonTouchSelector change.
+   *
+   */
+  hildon_touch_selector_signals[COLUMNS_CHANGED] =
+    g_signal_new ("columns-changed",
+                  G_OBJECT_CLASS_TYPE (class),
+                  G_SIGNAL_RUN_LAST, 0,
+                  NULL, NULL,
+                  g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
   /* properties */
 
   g_object_class_install_property (gobject_class, PROP_HAS_MULTIPLE_SELECTION,
@@ -1009,6 +1025,8 @@ hildon_touch_selector_append_column (HildonTouchSelector * selector,
     return NULL;
   }
 
+  g_signal_emit (selector, hildon_touch_selector_signals[COLUMNS_CHANGED], 0);
+
   return new_column;
 }
 
@@ -1076,6 +1094,8 @@ hildon_touch_selector_remove_column (HildonTouchSelector * selector, gint column
   priv->columns = g_slist_remove (priv->columns, current_column);
   g_object_unref (current_column);
 
+  g_signal_emit (selector, hildon_touch_selector_signals[COLUMNS_CHANGED], 0);
+
   return TRUE;
 }