[gnome-contacts] contact-pane: close the error dialogs on response



commit 3f524dd975ace825ac8c2f932075c532f4cef64f
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Tue Sep 20 13:30:21 2011 -0400

    contact-pane: close the error dialogs on response
    
    Contact pane error dialogs should close when you press OK. Also, make
    them modal to the window.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=659627

 src/contacts-contact-pane.vala |   33 +++++++++++++++++++++------------
 1 files changed, 21 insertions(+), 12 deletions(-)
---
diff --git a/src/contacts-contact-pane.vala b/src/contacts-contact-pane.vala
index 1432572..e14a834 100644
--- a/src/contacts-contact-pane.vala
+++ b/src/contacts-contact-pane.vala
@@ -1565,26 +1565,35 @@ public class Contacts.ContactPane : Grid {
     contacts_store.aggregator.primary_store.add_persona_from_details.begin (details, (obj, res) => {
 	var store = obj as PersonaStore;
 	Persona? persona = null;
+	Dialog dialog = null;
+
 	try {
 	  persona = store.add_persona_from_details.end (res);
 	} catch (Error e) {
-	  var dialog = new MessageDialog (this.get_toplevel () as Window,
-					  DialogFlags.DESTROY_WITH_PARENT,
-					  MessageType.ERROR,
-					  ButtonsType.OK,
-					  _("Unable to create new contacts: %s\n"), e.message);
-	  dialog.show ();
-	  return;
+	  dialog = new MessageDialog (this.get_toplevel () as Window,
+				      DialogFlags.DESTROY_WITH_PARENT |
+				      DialogFlags.MODAL,
+				      MessageType.ERROR,
+				      ButtonsType.OK,
+				      _("Unable to create new contacts: %s\n"), e.message);
 	}
 
 	var contact = contacts_store.find_contact_with_persona (persona);
 	if (contact == null) {
-	  var dialog = new MessageDialog (this.get_toplevel () as Window,
-					  DialogFlags.DESTROY_WITH_PARENT,
-					  MessageType.ERROR,
-					  ButtonsType.OK,
-					  _("Unable to find newly created contact\n"));
+	  dialog = new MessageDialog (this.get_toplevel () as Window,
+				      DialogFlags.DESTROY_WITH_PARENT |
+				      DialogFlags.MODAL,
+				      MessageType.ERROR,
+				      ButtonsType.OK,
+				      _("Unable to find newly created contact\n"));
+	}
+
+	if (dialog != null) {
 	  dialog.show ();
+	  dialog.response.connect ( () => {
+	      dialog.destroy ();
+	    });
+
 	  return;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]