aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names-model.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/component/select-names/e-select-names-model.c')
-rw-r--r--addressbook/gui/component/select-names/e-select-names-model.c48
1 files changed, 46 insertions, 2 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names-model.c b/addressbook/gui/component/select-names/e-select-names-model.c
index 59d7bc7c24..1baf729b3e 100644
--- a/addressbook/gui/component/select-names/e-select-names-model.c
+++ b/addressbook/gui/component/select-names/e-select-names-model.c
@@ -355,7 +355,22 @@ e_select_names_model_changed (ESelectNamesModel *model)
g_free (model->priv->addr_text);
model->priv->addr_text = NULL;
- gtk_signal_emit(GTK_OBJECT(model), e_select_names_model_signals[E_SELECT_NAMES_MODEL_CHANGED]);
+#if 0
+ {
+ GList *i = model->priv->data;
+ gint j = 0;
+ g_print ("ESelectNamesModel state:\n");
+ while (i) {
+ EDestination *dest = (EDestination *) i->data;
+ g_print ("%d: %s <%s>\n", j, e_destination_get_string (dest), e_destination_get_email (dest));
+ i = g_list_next (i);
+ ++j;
+ }
+ g_print ("\n");
+ }
+#endif
+
+ gtk_signal_emit (GTK_OBJECT(model), e_select_names_model_signals[E_SELECT_NAMES_MODEL_CHANGED]);
}
void
@@ -375,6 +390,20 @@ e_select_names_model_insert (ESelectNamesModel *model, gint index, EDestination
}
void
+e_select_names_model_append (ESelectNamesModel *model, EDestination *dest)
+{
+ g_return_if_fail (model && E_IS_SELECT_NAMES_MODEL (model));
+ g_return_if_fail (dest && E_IS_DESTINATION (dest));
+
+ model->priv->data = g_list_append (model->priv->data, dest);
+
+ gtk_object_ref (GTK_OBJECT (dest));
+ gtk_object_sink (GTK_OBJECT (dest));
+
+ e_select_names_model_changed (model);
+}
+
+void
e_select_names_model_replace (ESelectNamesModel *model, gint index, EDestination *dest)
{
GList *node;
@@ -518,8 +547,16 @@ e_select_names_model_text_pos (ESelectNamesModel *model, gint pos, gint *index,
while (iter != NULL) {
len = e_destination_get_strlen (E_DESTINATION (iter->data));
- if (sp <= pos && pos <= sp + len + adj)
+#if 0
+ g_print ("text_pos: %d %d %d %d\n", len, sp, pos, adj);
+#endif
+
+ if (sp <= pos && pos <= sp + len + adj) {
+#if 0
+ g_print ("breaking\n");
+#endif
break;
+ }
sp += len + adj + 1;
adj = 1;
@@ -532,9 +569,16 @@ e_select_names_model_text_pos (ESelectNamesModel *model, gint pos, gint *index,
++sp; /* skip past "magic space" */
if (iter == NULL) {
+#if 0
+ g_print ("text_pos ended NULL\n");
+#endif
i = -1;
sp = -1;
len = 0;
+ } else {
+#if 0
+ g_print ("text_pos got index %d\n", i);
+#endif
}
if (index)