Fixed removal of services so that it doesn't affect the IdCard until the v0.9.6
authorDan Breslau <dbreslau@painless-security.com>
Wed, 26 Oct 2016 00:44:04 +0000 (20:44 -0400)
committerDan Breslau <dbreslau@painless-security.com>
Wed, 26 Oct 2016 00:44:04 +0000 (20:44 -0400)
OK button is pressed.

Also updated the last commit, ensuring that the "Remember this service" checkbox is true by default.

src/moonshot-identity-dialog.vala
src/moonshot-identity-management-view.vala

index 68183ef..6f59f2f 100644 (file)
@@ -69,6 +69,7 @@ class IdentityDialog : Dialog
     private Label message_label;
     public bool complete;
     private IdCard card;
+    private ArrayList<string> services;
 
     private Label selected_item = null;
 
@@ -105,7 +106,7 @@ class IdentityDialog : Dialog
 
     internal ArrayList<string> get_services()
     {
-        return card.services;
+        return services;
     }
 
     public IdentityDialog(IdentityManagerView parent)
@@ -181,6 +182,9 @@ class IdentityDialog : Dialog
         this.response.connect(on_response);
         content_area.set_border_width(6);
 
+        this.services = new ArrayList<string>();
+        this.services.add_all(card.services);
+
         if (!is_new_card)
         {
             Widget trust_anchor_box = make_trust_anchor_box(card);
@@ -445,7 +449,7 @@ class IdentityDialog : Dialog
         services_vbox.pack_start(table_button_hbox, true, true, 0);
 
         int i = 0;
-        foreach (string service in card.services)
+        foreach (string service in services)
         {
             var label = new Label(service);
             label.set_alignment((float) 0, (float) 0);
@@ -501,7 +505,7 @@ class IdentityDialog : Dialog
                 if (result)
                 {
                     if (card != null) {
-                        card.services.remove(selected_item.label);
+                        services.remove(selected_item.label);
                         services_table.remove(selected_item.parent);
                         selected_item = null;
                         remove_button.set_sensitive(false);
index 371f5d7..110dd84 100644 (file)
@@ -613,7 +613,7 @@ public class IdentityManagerView : Window {
 
         request.return_identity(identity, remember_identity_binding.active);
 
-        remember_identity_binding.active = false;
+        remember_identity_binding.active = true;
         remember_identity_binding.hide();
     }