X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-combo-box.c;h=6c066fe704ebc556540616155de48bc6f4c3068c;hb=5d2de21f1b0aa7aa9dee5321acf6edb9b089dd5e;hp=16e8973d6a1e2eab6b1158750b2e4c3cce974172;hpb=edeb005687eeda1957eee1ecbdd0c8e2ede3fff1;p=modest diff --git a/src/widgets/modest-combo-box.c b/src/widgets/modest-combo-box.c index 16e8973..6c066fe 100644 --- a/src/widgets/modest-combo-box.c +++ b/src/widgets/modest-combo-box.c @@ -147,6 +147,20 @@ get_model (ModestPairList *pairs) return GTK_TREE_MODEL (store); } +void +modest_combo_box_set_pair_list (ModestComboBox *combo, ModestPairList *pairs) +{ + GtkTreeModel *model; + + model = get_model (pairs); + + gtk_combo_box_set_model (GTK_COMBO_BOX(combo), model); + g_object_unref (model); + + gtk_combo_box_set_active (GTK_COMBO_BOX(combo), 0); +} + + GtkWidget* modest_combo_box_new (ModestPairList *pairs, GEqualFunc id_equal_func) @@ -156,8 +170,6 @@ modest_combo_box_new (ModestPairList *pairs, GEqualFunc id_equal_func) GObject *obj; ModestComboBoxPrivate *priv; - g_return_val_if_fail (pairs, NULL); - obj = G_OBJECT(g_object_new(MODEST_TYPE_COMBO_BOX, NULL)); priv = MODEST_COMBO_BOX_GET_PRIVATE(obj); @@ -206,15 +218,13 @@ gpointer modest_combo_box_get_active_id (ModestComboBox *self) { GValue val = {0,}; - gpointer retval; g_return_val_if_fail (self, NULL); /* Do not unset the GValue */ get_active (self, &val, COLUMN_ID); - retval = g_value_peek_pointer (&val); - return retval; + return g_value_get_pointer (&val); } @@ -237,7 +247,7 @@ modest_combo_box_set_active_id (ModestComboBox *self, gpointer id) do { gpointer row_id; gtk_tree_model_get (model, &iter, COLUMN_ID, &row_id, -1); - if ((priv->id_equal_func)(id, row_id) == 0) { + if ((priv->id_equal_func)(id, row_id)) { gtk_combo_box_set_active_iter (GTK_COMBO_BOX(self), &iter); found = TRUE; } @@ -252,14 +262,14 @@ modest_combo_box_set_active_id (ModestComboBox *self, gpointer id) const gchar* modest_combo_box_get_active_display_name (ModestComboBox *self) { - GValue val = {0,}; - gpointer retval; + const GValue val = {0,}; + const gchar *retval; g_return_val_if_fail (self, NULL); /* Do not unset the GValue */ - get_active (self, &val, COLUMN_DISPLAY_NAME); - retval = g_value_peek_pointer (&val); + get_active (self, (GValue *)&val, COLUMN_DISPLAY_NAME); + retval = g_value_get_string (&val); - return (gchar*) retval; + return retval; }