2008-09-19 Claudio Saavedra <csaavedra@igalia.com>
authorClaudio Saavedra <csaavedra@igalia.com>
Fri, 19 Sep 2008 13:35:11 +0000 (13:35 +0000)
committerClaudio Saavedra <csaavedra@igalia.com>
Fri, 19 Sep 2008 13:35:11 +0000 (13:35 +0000)
* src/hildon-picker-button.c: (hildon_picker_button_set_selector):
Update button's value if the selector has an item active.

Fixes: NB#88718 (HildonPickerButton not synchronizing its initial
'value' with the selector)

ChangeLog
src/hildon-picker-button.c

index 307cae4..737eeab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-09-19  Claudio Saavedra  <csaavedra@igalia.com>
 
+       * src/hildon-picker-button.c: (hildon_picker_button_set_selector):
+       Update button's value if the selector has an item active.
+
+       Fixes: NB#88718 (HildonPickerButton not synchronizing its initial
+       'value' with the selector)
+
+2008-09-19  Claudio Saavedra  <csaavedra@igalia.com>
+
        * src/hildon-picker-button.c: (+hildon_picker_button_finalize): unref
        the HildonTouchSelector and destroy the underlying HildonPickerDialog.
        (hildon_picker_button_class_init): Plug the finalize method.
index 6578974..189f32f 100644 (file)
@@ -236,6 +236,7 @@ hildon_picker_button_set_selector (HildonPickerButton * button,
                                    HildonTouchSelector * selector)
 {
   HildonPickerButtonPrivate *priv;
+  const gchar *value;
 
   g_return_if_fail (HILDON_IS_PICKER_BUTTON (button));
   g_return_if_fail (HILDON_IS_TOUCH_SELECTOR (selector));
@@ -247,6 +248,13 @@ hildon_picker_button_set_selector (HildonPickerButton * button,
   }
 
   priv->selector = g_object_ref (selector);
+
+  value = hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (priv->selector));
+  if (value) {
+    hildon_button_set_value (HILDON_BUTTON (button), value);
+    g_signal_emit (HILDON_PICKER_BUTTON (button),
+                   picker_button_signals[VALUE_CHANGED], 0);
+  }
 }
 
 /**