}
static GtkTreeModel*
-get_model (const ModestPairList *pairs)
+get_model (ModestPairList *pairs)
{
GtkTreeIter iter;
GtkListStore *store;
- const GSList *cursor;
+ GSList *cursor;
store = gtk_list_store_new (2,
G_TYPE_POINTER, /* the id */
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 (const ModestPairList *pairs, GEqualFunc id_equal_func)
+modest_combo_box_new (ModestPairList *pairs, GEqualFunc id_equal_func)
{
GtkTreeModel *model;
GtkCellRenderer *renderer;
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);
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);
}
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;
}
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;
}