aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui')
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c6
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index 688140f46a..cd22ee0c18 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -794,6 +794,8 @@ card_added_cb (EBook *book, EBookStatus status, const char *id, EditorCloseStruc
g_free (ecs);
+ e_card_set_id (ce->card, id);
+
gtk_signal_emit (GTK_OBJECT (ce), contact_editor_signals[CARD_ADDED],
status, ce->card);
@@ -956,6 +958,10 @@ card_deleted_cb (EBook *book, EBookStatus status, EContactEditor *ce)
{
gtk_signal_emit (GTK_OBJECT (ce), contact_editor_signals[CARD_DELETED],
status, ce->card);
+
+ /* always close the dialog after we successfully delete a card */
+ if (status == E_BOOK_STATUS_SUCCESS)
+ close_dialog (ce);
}
static void
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 98845f8e8d..3647e01184 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -309,6 +309,8 @@ list_added_cb (EBook *book, EBookStatus status, const char *id, EditorCloseStruc
g_free (ecs);
+ e_card_set_id (cle->card, id);
+
gtk_signal_emit (GTK_OBJECT (cle), contact_list_editor_signals[LIST_ADDED],
status, cle->card);
@@ -317,6 +319,8 @@ list_added_cb (EBook *book, EBookStatus status, const char *id, EditorCloseStruc
if (should_close)
close_dialog (cle);
+ else
+ command_state_changed (cle);
}
}
@@ -383,6 +387,10 @@ list_deleted_cb (EBook *book, EBookStatus status, EContactListEditor *cle)
{
gtk_signal_emit (GTK_OBJECT (cle), contact_list_editor_signals[LIST_DELETED],
status, cle->card);
+
+ /* always close the dialog after we successfully delete a list */
+ if (status == E_BOOK_STATUS_SUCCESS)
+ close_dialog (cle);
}
static void