New upstream version 1.0.3
[moonshot-ui.git] / src / moonshot-identity-management-view.c
index 938b778..efe242b 100644 (file)
@@ -1,8 +1,8 @@
-/* moonshot-identity-management-view.c generated by valac 0.28.0, the Vala compiler
+/* moonshot-identity-management-view.c generated by valac 0.34.9, the Vala compiler
  * generated from moonshot-identity-management-view.vala, do not modify */
 
 /*
- * Copyright (c) 2011-2014, JANET(UK)
+ * Copyright (c) 2011-2016, JANET(UK)
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 #include <gtk/gtk.h>
 #include <stdlib.h>
 #include <string.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
 #include <gdk/gdk.h>
-#include <gee.h>
 #include <glib/gi18n-lib.h>
-#include <pango/pango.h>
+#include <gee.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
 #include <float.h>
 #include <math.h>
 #include "config.h"
 #include <stdio.h>
 #include <atk/atk.h>
+#include <gio/gio.h>
 
 
 #define TYPE_IDENTITY_MANAGER_VIEW (identity_manager_view_get_type ())
@@ -81,16 +81,6 @@ typedef struct _IdentityManagerAppClass IdentityManagerAppClass;
 typedef struct _IdentityManagerModel IdentityManagerModel;
 typedef struct _IdentityManagerModelClass IdentityManagerModelClass;
 
-#define TYPE_IDENTITY_REQUEST (identity_request_get_type ())
-#define IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_REQUEST, IdentityRequest))
-#define IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
-#define IS_IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_REQUEST))
-#define IS_IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_REQUEST))
-#define IDENTITY_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
-
-typedef struct _IdentityRequest IdentityRequest;
-typedef struct _IdentityRequestClass IdentityRequestClass;
-
 #define TYPE_CUSTOM_VBOX (custom_vbox_get_type ())
 #define CUSTOM_VBOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CUSTOM_VBOX, CustomVBox))
 #define CUSTOM_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CUSTOM_VBOX, CustomVBoxClass))
@@ -111,13 +101,32 @@ typedef struct _CustomVBoxClass CustomVBoxClass;
 typedef struct _IdCard IdCard;
 typedef struct _IdCardClass IdCardClass;
 
+#define TYPE_IDENTITY_REQUEST (identity_request_get_type ())
+#define IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_REQUEST, IdentityRequest))
+#define IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
+#define IS_IDENTITY_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_REQUEST))
+#define IS_IDENTITY_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_REQUEST))
+#define IDENTITY_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_REQUEST, IdentityRequestClass))
+
+typedef struct _IdentityRequest IdentityRequest;
+typedef struct _IdentityRequestClass IdentityRequestClass;
+
 #define IDENTITY_MANAGER_VIEW_TYPE_COLUMNS (identity_manager_view_columns_get_type ())
+
+#define TYPE_MOONSHOT_LOGGER (moonshot_logger_get_type ())
+#define MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLogger))
+#define MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))
+#define IS_MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOONSHOT_LOGGER))
+#define IS_MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOONSHOT_LOGGER))
+#define MOONSHOT_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))
+
+typedef struct _MoonshotLogger MoonshotLogger;
+typedef struct _MoonshotLoggerClass MoonshotLoggerClass;
 #define _identity_manager_app_unref0(var) ((var == NULL) ? NULL : (var = (identity_manager_app_unref (var), NULL)))
 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 #define __g_queue_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_queue_free__g_object_unref0_ (var), NULL)))
-#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
-typedef struct _IdentityManagerAppPrivate IdentityManagerAppPrivate;
 #define _g_free0(var) (var = (g_free (var), NULL))
+typedef struct _IdentityManagerAppPrivate IdentityManagerAppPrivate;
 
 #define TYPE_ID_CARD_WIDGET (id_card_widget_get_type ())
 #define ID_CARD_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD_WIDGET, IdCardWidget))
@@ -129,6 +138,21 @@ typedef struct _IdentityManagerAppPrivate IdentityManagerAppPrivate;
 typedef struct _IdCardWidget IdCardWidget;
 typedef struct _IdCardWidgetClass IdCardWidgetClass;
 
+#define TYPE_IDENTITY_DIALOG (identity_dialog_get_type ())
+#define IDENTITY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_DIALOG, IdentityDialog))
+#define IDENTITY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_DIALOG, IdentityDialogClass))
+#define IS_IDENTITY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_DIALOG))
+#define IS_IDENTITY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_DIALOG))
+#define IDENTITY_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_DIALOG, IdentityDialogClass))
+
+typedef struct _IdentityDialog IdentityDialog;
+typedef struct _IdentityDialogClass IdentityDialogClass;
+typedef struct _IdentityDialogPrivate IdentityDialogPrivate;
+
+#define ID_CARD_TYPE_DIFF_FLAGS (id_card_diff_flags_get_type ())
+#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
+typedef struct _IdentityRequestPrivate IdentityRequestPrivate;
+
 #define TYPE_ADD_PASSWORD_DIALOG (add_password_dialog_get_type ())
 #define ADD_PASSWORD_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_PASSWORD_DIALOG, AddPasswordDialog))
 #define ADD_PASSWORD_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_PASSWORD_DIALOG, AddPasswordDialogClass))
@@ -138,31 +162,35 @@ typedef struct _IdCardWidgetClass IdCardWidgetClass;
 
 typedef struct _AddPasswordDialog AddPasswordDialog;
 typedef struct _AddPasswordDialogClass AddPasswordDialogClass;
-#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
+typedef struct _Block3Data Block3Data;
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
 
-#define TYPE_ADD_IDENTITY_DIALOG (add_identity_dialog_get_type ())
-#define ADD_IDENTITY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_IDENTITY_DIALOG, AddIdentityDialog))
-#define ADD_IDENTITY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_IDENTITY_DIALOG, AddIdentityDialogClass))
-#define IS_ADD_IDENTITY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_IDENTITY_DIALOG))
-#define IS_ADD_IDENTITY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_IDENTITY_DIALOG))
-#define ADD_IDENTITY_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_IDENTITY_DIALOG, AddIdentityDialogClass))
+#define WEB_PROVISIONING_TYPE_PARSER (web_provisioning_parser_get_type ())
+#define WEB_PROVISIONING_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParser))
+#define WEB_PROVISIONING_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParserClass))
+#define WEB_PROVISIONING_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WEB_PROVISIONING_TYPE_PARSER))
+#define WEB_PROVISIONING_IS_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WEB_PROVISIONING_TYPE_PARSER))
+#define WEB_PROVISIONING_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WEB_PROVISIONING_TYPE_PARSER, WebProvisioningParserClass))
 
-typedef struct _AddIdentityDialog AddIdentityDialog;
-typedef struct _AddIdentityDialogClass AddIdentityDialogClass;
+typedef struct _WebProvisioningParser WebProvisioningParser;
+typedef struct _WebProvisioningParserClass WebProvisioningParserClass;
 
-#define ID_CARD_TYPE_DIFF_FLAGS (id_card_diff_flags_get_type ())
-typedef struct _AddIdentityDialogPrivate AddIdentityDialogPrivate;
-typedef struct _IdentityRequestPrivate IdentityRequestPrivate;
-#define __vala_PangoFontDescription_free0(var) ((var == NULL) ? NULL : (var = (_vala_PangoFontDescription_free (var), NULL)))
-#define __g_slist_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_free0_ (var), NULL)))
-#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+#define TYPE_TRUST_ANCHOR (trust_anchor_get_type ())
+#define TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRUST_ANCHOR, TrustAnchor))
+#define TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRUST_ANCHOR, TrustAnchorClass))
+#define IS_TRUST_ANCHOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRUST_ANCHOR))
+#define IS_TRUST_ANCHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRUST_ANCHOR))
+#define TRUST_ANCHOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRUST_ANCHOR, TrustAnchorClass))
+
+typedef struct _TrustAnchor TrustAnchor;
+typedef struct _TrustAnchorClass TrustAnchorClass;
 
 struct _IdentityManagerView {
        GtkWindow parent_instance;
        IdentityManagerViewPrivate * priv;
        IdentityManagerApp* parent_app;
        IdentityManagerModel* identities_manager;
-       GQueue* request_queue;
+       GtkCheckButton* remember_identity_binding;
 };
 
 struct _IdentityManagerViewClass {
@@ -170,24 +198,20 @@ struct _IdentityManagerViewClass {
 };
 
 struct _IdentityManagerViewPrivate {
+       gboolean use_flat_file_store;
        GtkUIManager* ui_manager;
        GtkEntry* search_entry;
-       GtkVBox* vbox_right;
-       GtkVBox* login_vbox;
-       GtkVBox* services_vbox;
        CustomVBox* custom_vbox;
-       GtkVBox* services_internal_vbox;
-       GtkEntry* issuer_entry;
-       GtkEntry* username_entry;
-       GtkEntry* password_entry;
-       GtkLabel* prompting_service;
-       GtkLabel* no_identity_title;
-       GtkCheckButton* remember_checkbutton;
-       GtkButton* update_password_button;
+       GtkVBox* service_prompt_vbox;
+       GtkButton* edit_button;
+       GtkButton* remove_button;
+       GtkButton* send_button;
        GtkListStore* listmodel;
        GtkTreeModelFilter* filter;
        GSList* candidates;
-       GHashTable* service_button_map;
+       GQueue* request_queue;
+       IdCard* selected_card;
+       gchar* import_directory;
 };
 
 typedef enum  {
@@ -214,6 +238,17 @@ struct _IdentityManagerAppClass {
        void (*finalize) (IdentityManagerApp *self);
 };
 
+struct _IdentityDialog {
+       GtkDialog parent_instance;
+       IdentityDialogPrivate * priv;
+       gboolean complete;
+       gboolean clear_trust_anchor;
+};
+
+struct _IdentityDialogClass {
+       GtkDialogClass parent_class;
+};
+
 typedef enum  {
        ID_CARD_DIFF_FLAGS_DISPLAY_NAME,
        ID_CARD_DIFF_FLAGS_USERNAME,
@@ -224,16 +259,6 @@ typedef enum  {
        ID_CARD_DIFF_FLAGS_TRUST_ANCHOR
 } IdCardDiffFlags;
 
-struct _AddIdentityDialog {
-       GtkDialog parent_instance;
-       AddIdentityDialogPrivate * priv;
-       gboolean complete;
-};
-
-struct _AddIdentityDialogClass {
-       GtkDialogClass parent_class;
-};
-
 struct _IdentityRequest {
        GObject parent_instance;
        IdentityRequestPrivate * priv;
@@ -250,8 +275,20 @@ struct _IdentityRequestClass {
        GObjectClass parent_class;
 };
 
+struct _Block3Data {
+       int _ref_count_;
+       IdentityManagerView* self;
+       GtkAboutDialog* about;
+};
+
 
 static gpointer identity_manager_view_parent_class = NULL;
+static MoonshotLogger* identity_manager_view_logger;
+static MoonshotLogger* identity_manager_view_logger = NULL;
+static gint identity_manager_view_LATEST_EDIT_YEAR;
+static gint identity_manager_view_LATEST_EDIT_YEAR = 2016;
+extern GdkColor identity_manager_view_white;
+GdkColor identity_manager_view_white = {0};
 
 GType identity_manager_view_get_type (void) G_GNUC_CONST;
 gpointer identity_manager_app_ref (gpointer instance);
@@ -262,134 +299,159 @@ void value_take_identity_manager_app (GValue* value, gpointer v_object);
 gpointer value_get_identity_manager_app (const GValue* value);
 GType identity_manager_app_get_type (void) G_GNUC_CONST;
 GType identity_manager_model_get_type (void) G_GNUC_CONST;
-GType identity_request_get_type (void) G_GNUC_CONST;
 GType custom_vbox_get_type (void) G_GNUC_CONST;
 GType id_card_get_type (void) G_GNUC_CONST;
+GType identity_request_get_type (void) G_GNUC_CONST;
 #define IDENTITY_MANAGER_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewPrivate))
 enum  {
        IDENTITY_MANAGER_VIEW_DUMMY_PROPERTY
 };
 static GType identity_manager_view_columns_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType moonshot_logger_get_type (void) G_GNUC_CONST;
+MoonshotLogger* get_logger (const gchar* name);
+void make_color (guint16 red, guint16 green, guint16 blue, GdkColor* result);
 static void _g_object_unref0_ (gpointer var);
 static void _g_queue_free__g_object_unref0_ (GQueue* self);
-#define IDENTITY_MANAGER_VIEW_WINDOW_WIDTH 400
+#define IDENTITY_MANAGER_VIEW_WINDOW_WIDTH 700
 #define IDENTITY_MANAGER_VIEW_WINDOW_HEIGHT 500
-#define IDENTITY_MANAGER_VIEW_layout "<menubar name='MenuBar'>" "        <menu name='FileMenu' action='FileMenuAction'>" "            <menuitem name='AddIdCard' action='AddIdCardAction' />" "            <separator />" "            <menuitem name='Quit' action='QuitAction' />" "        </menu>" "" "        <menu name='HelpMenu' action='HelpMenuAction'>" "             <menuitem name='About' action='AboutAction' />" "        </menu>" "</menubar>"
-IdentityManagerView* identity_manager_view_new (IdentityManagerApp* app);
-IdentityManagerView* identity_manager_view_construct (GType object_type, IdentityManagerApp* app);
-static void _g_free0_ (gpointer var);
+#define IDENTITY_MANAGER_VIEW_menu_layout "<menubar name='MenuBar'>" "        <menu name='HelpMenu' action='HelpMenuAction'>" "             <menuitem name='About' action='AboutAction' />" "        </menu>" "</menubar>"
+IdentityManagerView* identity_manager_view_new (IdentityManagerApp* app, gboolean use_flat_file_store);
+IdentityManagerView* identity_manager_view_construct (GType object_type, IdentityManagerApp* app, gboolean use_flat_file_store);
 static void identity_manager_view_build_ui (IdentityManagerView* self);
 static void identity_manager_view_setup_list_model (IdentityManagerView* self);
 static void identity_manager_view_load_id_cards (IdentityManagerView* self);
 static void identity_manager_view_connect_signals (IdentityManagerView* self);
-void identity_manager_view_on_card_list_changed (IdentityManagerView* self);
+static void identity_manager_view_report_duplicate_nais (IdentityManagerView* self);
+gboolean identity_manager_model_find_duplicate_nai_sets (IdentityManagerModel* self, GeeArrayList** duplicates);
+const gchar* id_card_get_nai (IdCard* self);
+const gchar* id_card_get_display_name (IdCard* self);
+gchar* id_card_get_services_string (IdCard* self, const gchar* sep);
+static void identity_manager_view_on_card_list_changed (IdentityManagerView* self);
+void moonshot_logger_trace (MoonshotLogger* self, const gchar* message, GError* e);
 static gboolean identity_manager_view_visible_func (IdentityManagerView* self, GtkTreeModel* model, GtkTreeIter* iter);
 const gchar* id_card_get_issuer (IdCard* self);
-const gchar* id_card_get_display_name (IdCard* self);
-gchar** id_card_get_services (IdCard* self, int* result_length1);
+GeeArrayList* id_card_get_services (IdCard* self);
 static gboolean _identity_manager_view_visible_func_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self);
-static void identity_manager_view_search_entry_icon_press_cb (IdentityManagerView* self, GtkEntryIconPosition pos, GdkEvent* event);
 static void identity_manager_view_search_entry_text_changed_cb (IdentityManagerView* self);
 static void identity_manager_view_redraw_id_card_widgets (IdentityManagerView* self);
 static gboolean identity_manager_view_search_entry_key_press_event_cb (IdentityManagerView* self, GdkEventKey* e);
-static void identity_manager_view_update_password_cb (IdentityManagerView* self);
-GType id_card_widget_get_type (void) G_GNUC_CONST;
-IdCardWidget* custom_vbox_get_current_idcard (CustomVBox* self);
-IdCard* id_card_widget_get_id_card (IdCardWidget* self);
-GType add_password_dialog_get_type (void) G_GNUC_CONST;
-AddPasswordDialog* add_password_dialog_new (IdCard* id_card, IdentityRequest* request);
-AddPasswordDialog* add_password_dialog_construct (GType object_type, IdCard* id_card, IdentityRequest* request);
-const gchar* add_password_dialog_get_password (AddPasswordDialog* self);
-void id_card_set_password (IdCard* self, const gchar* value);
-gboolean add_password_dialog_get_remember (AddPasswordDialog* self);
-void id_card_set_store_password (IdCard* self, gboolean value);
-void id_card_set_temporary (IdCard* self, gboolean value);
-IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card);
-const gchar* id_card_get_nai (IdCard* self);
-void custom_vbox_set_current_idcard (CustomVBox* self, IdCardWidget* value);
-static void identity_manager_view_remove_id_card_widget (IdentityManagerView* self, IdCardWidget* id_card_widget);
+void custom_vbox_clear (CustomVBox* self);
 GeeLinkedList* identity_manager_model_get_card_list (IdentityManagerModel* self);
 static void identity_manager_view_add_id_card_data (IdentityManagerView* self, IdCard* id_card);
+GType id_card_widget_get_type (void) G_GNUC_CONST;
 static IdCardWidget* identity_manager_view_add_id_card_widget (IdentityManagerView* self, IdCard* id_card);
-static void identity_manager_view_fill_details (IdentityManagerView* self, IdCardWidget* id_card_widget);
-void id_card_widget_expand (IdCardWidget* self);
-#define ID_CARD_NO_IDENTITY "No Identity"
-const gchar* id_card_get_username (IdCard* self);
-const gchar* id_card_get_password (IdCard* self);
-gboolean id_card_get_store_password (IdCard* self);
-static void identity_manager_view_fill_services_vbox (IdentityManagerView* self, IdCard* id_card);
-static void identity_manager_view_show_details (IdentityManagerView* self, IdCard* id_card);
-static void identity_manager_view_details_identity_cb (IdentityManagerView* self, IdCardWidget* id_card_widget);
-GType add_identity_dialog_get_type (void) G_GNUC_CONST;
-static IdCard* identity_manager_view_get_id_card_data (IdentityManagerView* self, AddIdentityDialog* dialog);
-IdCard* id_card_new (void);
-IdCard* id_card_construct (GType object_type);
-const gchar* add_identity_dialog_get_display_name (AddIdentityDialog* self);
+GType identity_dialog_get_type (void) G_GNUC_CONST;
+static IdCard* identity_manager_view_update_id_card_data (IdentityManagerView* self, IdentityDialog* dialog, IdCard* id_card);
+const gchar* identity_dialog_get_display_name (IdentityDialog* self);
 void id_card_set_display_name (IdCard* self, const gchar* value);
-const gchar* add_identity_dialog_get_issuer (AddIdentityDialog* self);
+const gchar* identity_dialog_get_issuer (IdentityDialog* self);
 void id_card_set_issuer (IdCard* self, const gchar* value);
-const gchar* add_identity_dialog_get_username (AddIdentityDialog* self);
+const gchar* identity_dialog_get_username (IdentityDialog* self);
 void id_card_set_username (IdCard* self, const gchar* value);
-const gchar* add_identity_dialog_get_password (AddIdentityDialog* self);
-gboolean add_identity_dialog_get_store_password (AddIdentityDialog* self);
-void id_card_set_services (IdCard* self, gchar** value, int value_length1);
+const gchar* identity_dialog_get_password (IdentityDialog* self);
+void id_card_set_password (IdCard* self, const gchar* value);
+gboolean identity_dialog_get_store_password (IdentityDialog* self);
+void id_card_set_store_password (IdCard* self, gboolean value);
+void id_card_update_services_from_list (IdCard* self, GeeArrayList* services);
+GeeArrayList* identity_dialog_get_services (IdentityDialog* self);
+void id_card_clear_trust_anchor (IdCard* self);
 GdkPixbuf* get_pixbuf (IdCard* id);
-static void identity_manager_view_remove_id_card_data (IdentityManagerView* self, IdCard* id_card);
-IdCardWidget* id_card_widget_new (IdCard* id_card);
-IdCardWidget* id_card_widget_construct (GType object_type, IdCard* id_card);
+const gchar* id_card_get_username (IdCard* self);
+const gchar* id_card_get_password (IdCard* self);
+IdCardWidget* id_card_widget_new (IdCard* id_card, IdentityManagerView* manager_view);
+IdCardWidget* id_card_widget_construct (GType object_type, IdCard* id_card, IdentityManagerView* manager_view);
 void custom_vbox_add_id_card_widget (CustomVBox* self, IdCardWidget* id_card_widget);
-static void _identity_manager_view_details_identity_cb_id_card_widget_details_id (IdCardWidget* _sender, gpointer self);
-static void identity_manager_view_remove_identity_cb (IdentityManagerView* self, IdCardWidget* id_card_widget);
-static void _identity_manager_view_remove_identity_cb_id_card_widget_remove_id (IdCardWidget* _sender, gpointer self);
-static void __lambda6_ (IdentityManagerView* self, IdCardWidget* w);
-void identity_manager_view_send_identity_cb (IdentityManagerView* self, IdCard* id);
-static void ___lambda6__id_card_widget_send_id (IdCardWidget* _sender, gpointer self);
+static void identity_manager_view_widget_selected_cb (IdentityManagerView* self, IdCardWidget* id_card_widget);
+static void _identity_manager_view_widget_selected_cb_id_card_widget_expanded (IdCardWidget* _sender, gpointer self);
+static void identity_manager_view_widget_unselected_cb (IdentityManagerView* self, IdCardWidget* id_card_widget);
+static void _identity_manager_view_widget_unselected_cb_id_card_widget_collapsed (IdCardWidget* _sender, gpointer self);
+void id_card_widget_expand (IdCardWidget* self);
+IdCard* id_card_widget_get_id_card (IdCardWidget* self);
+gboolean id_card_is_no_identity (IdCard* self);
 void custom_vbox_receive_expanded_event (CustomVBox* self, IdCardWidget* id_card_widget);
-static void _custom_vbox_receive_expanded_event_id_card_widget_expanded (IdCardWidget* _sender, gpointer self);
-static void _identity_manager_view_fill_details_id_card_widget_expanded (IdCardWidget* _sender, gpointer self);
-gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard* id_card, gboolean force_flat_file_store);
+gboolean identity_manager_view_selection_in_progress (IdentityManagerView* self);
+void custom_vbox_receive_collapsed_event (CustomVBox* self, IdCardWidget* id_card_widget);
+gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard* id_card, gboolean force_flat_file_store, GeeArrayList** old_duplicates);
 IdCard* identity_manager_model_find_id_card (IdentityManagerModel* self, const gchar* nai, gboolean force_flat_file_store);
 gint id_card_Compare (IdCard* self, IdCard* other);
 GType id_card_diff_flags_get_type (void) G_GNUC_CONST;
-void identity_manager_model_add_card (IdentityManagerModel* self, IdCard* card, gboolean force_flat_file_store);
-static void identity_manager_view_add_identity_manual_cb (IdentityManagerView* self);
-AddIdentityDialog* add_identity_dialog_new (void);
-AddIdentityDialog* add_identity_dialog_construct (GType object_type);
-void custom_vbox_remove_id_card_widget (CustomVBox* self, IdCardWidget* id_card_widget);
-static void identity_manager_view_remove_identity (IdentityManagerView* self, IdCardWidget* id_card_widget);
+void identity_manager_model_add_card (IdentityManagerModel* self, IdCard* card, gboolean force_flat_file_store, GeeArrayList** old_duplicates);
+static void identity_manager_view_add_identity_cb (IdentityManagerView* self);
+IdentityDialog* identity_dialog_new (IdentityManagerView* parent);
+IdentityDialog* identity_dialog_construct (GType object_type, IdentityManagerView* parent);
+IdCard* id_card_new (void);
+IdCard* id_card_construct (GType object_type);
+static void identity_manager_view_edit_identity_cb (IdentityManagerView* self, IdCard* card);
+IdentityDialog* identity_dialog_new_with_idcard (IdCard* a_card, const gchar* title, IdentityManagerView* parent);
+IdentityDialog* identity_dialog_construct_with_idcard (GType object_type, IdCard* a_card, const gchar* title, IdentityManagerView* parent);
+IdCard* identity_manager_model_update_card (IdentityManagerModel* self, IdCard* card);
+static void identity_manager_view_remove_identity (IdentityManagerView* self, IdCard* id_card);
 gboolean identity_manager_model_remove_card (IdentityManagerModel* self, IdCard* card);
-void identity_manager_view_set_prompting_service (IdentityManagerView* self, const gchar* service);
+static void identity_manager_view_remove_identity_cb (IdentityManagerView* self, IdCard* id_card);
+gboolean warning_dialog_confirm (GtkWindow* parent, const gchar* message, const gchar* dialog_name);
+static void identity_manager_view_set_prompting_service (IdentityManagerView* self, const gchar* service);
+static void identity_manager_view_clear_selection_prompts (IdentityManagerView* self);
 void identity_manager_view_queue_identity_request (IdentityManagerView* self, IdentityRequest* request);
+IdCardWidget* custom_vbox_find_idcard_widget (CustomVBox* self, IdCard* card);
+void identity_manager_view_make_visible (IdentityManagerView* self);
 IdCard* identity_manager_view_check_add_password (IdentityManagerView* self, IdCard* identity, IdentityRequest* request, IdentityManagerModel* model);
-gboolean id_card_IsNoIdentity (IdCard* self);
-void identity_request_return_identity (IdentityRequest* self, IdCard* id_card);
-static void identity_manager_view_label_make_bold (IdentityManagerView* self, GtkLabel* label);
-static void _vala_PangoFontDescription_free (PangoFontDescription* self);
-static void ____lambda5_ (IdentityManagerView* self, GtkButton* remove_button);
-static void _g_slist_free__g_free0_ (GSList* self);
-static void _____lambda5__gtk_button_clicked (GtkButton* _sender, gpointer self);
+GType add_password_dialog_get_type (void) G_GNUC_CONST;
+AddPasswordDialog* add_password_dialog_new (IdCard* id_card, IdentityRequest* request);
+AddPasswordDialog* add_password_dialog_construct (GType object_type, IdCard* id_card, IdentityRequest* request);
+const gchar* add_password_dialog_get_password (AddPasswordDialog* self);
+void add_password_dialog_clear_password (AddPasswordDialog* self);
+gboolean add_password_dialog_get_remember (AddPasswordDialog* self);
+void id_card_set_temporary (IdCard* self, gboolean value);
+static void identity_manager_view_send_identity_cb (IdentityManagerView* self, IdCard* id);
+void identity_request_return_identity (IdentityRequest* self, IdCard* id_card, gboolean update_card);
 static void identity_manager_view_on_about_action (IdentityManagerView* self);
+static Block3Data* block3_data_ref (Block3Data* _data3_);
+static void block3_data_unref (void * _userdata_);
+static void __lambda6_ (Block3Data* _data3_, GtkDialog* a, gint b);
+static void ___lambda6__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
+void set_bg_color (GtkWidget* w);
 static GtkActionEntry* identity_manager_view_create_actions (IdentityManagerView* self, int* result_length1);
 static void _vala_array_add1 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
-static void _identity_manager_view_add_identity_manual_cb_gtk_action_callback (GtkAction* action, gpointer self);
-static void _vala_array_add2 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
-static void _gtk_main_quit_gtk_action_callback (GtkAction* action, gpointer self);
-static void _vala_array_add3 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
-static void _vala_array_add4 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
 static void _identity_manager_view_on_about_action_gtk_action_callback (GtkAction* action, gpointer self);
-static void _vala_array_add5 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void _vala_array_add2 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
 static void identity_manager_view_create_ui_manager (IdentityManagerView* self);
+void moonshot_logger_error (MoonshotLogger* self, const gchar* message, GError* e);
 static void identity_manager_view_set_atk_name_description (IdentityManagerView* self, GtkWidget* widget, const gchar* name, const gchar* description);
 GdkPixbuf* find_icon_sized (const gchar* name, GtkIconSize icon_size);
-static void _identity_manager_view_search_entry_icon_press_cb_gtk_entry_icon_press (GtkEntry* _sender, GtkEntryIconPosition p0, GdkEvent* p1, gpointer self);
 static void _identity_manager_view_search_entry_text_changed_cb_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
 static gboolean _identity_manager_view_search_entry_key_press_event_cb_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
 CustomVBox* custom_vbox_new (IdentityManagerView* window, gboolean homogeneous, gint spacing);
 CustomVBox* custom_vbox_construct (GType object_type, IdentityManagerView* window, gboolean homogeneous, gint spacing);
-static void _identity_manager_view_update_password_cb_gtk_button_clicked (GtkButton* _sender, gpointer self);
-static void identity_manager_view_set_atk_relation (GtkWidget* widget, GtkWidget* target_widget, AtkRelationType relationship);
-static void _gtk_main_quit_gtk_object_destroy (GtkObject* _sender, gpointer self);
+static void __lambda7_ (IdentityManagerView* self, GtkButton* w);
+static void ___lambda7__gtk_button_clicked (GtkButton* _sender, gpointer self);
+static GtkWidget* identity_manager_view_make_rigid (GtkButton* button);
+static void __lambda13_ (IdentityManagerView* self, GtkButton* w);
+static void identity_manager_view_import_identities_cb (IdentityManagerView* self);
+static void ___lambda13__gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void __lambda14_ (IdentityManagerView* self, GtkButton* w);
+static void ___lambda14__gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void __lambda15_ (IdentityManagerView* self, GtkButton* w);
+static void ___lambda15__gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void __lambda16_ (IdentityManagerView* self, GtkButton* w);
+static void ___lambda16__gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void __lambda17_ (IdentityManagerView* self);
+static void ___lambda17__gtk_object_destroy (GtkObject* _sender, gpointer self);
 static void _identity_manager_view_on_card_list_changed_identity_manager_model_card_list_changed (IdentityManagerModel* _sender, gpointer self);
+static gboolean __lambda18_ (IdentityManagerView* self);
+static gboolean identity_manager_view_confirm_quit (IdentityManagerView* self);
+static gboolean ___lambda18__gtk_widget_delete_event (GtkWidget* _sender, GdkEvent* event, gpointer self);
+GType web_provisioning_parser_get_type (void) G_GNUC_CONST;
+WebProvisioningParser* web_provisioning_parser_new (const gchar* path);
+WebProvisioningParser* web_provisioning_parser_construct (GType object_type, const gchar* path);
+void web_provisioning_parser_parse (WebProvisioningParser* self);
+IdCard** web_provisioning_parser_get_cards (WebProvisioningParser* self, int* result_length1);
+GType trust_anchor_get_type (void) G_GNUC_CONST;
+TrustAnchor* id_card_get_trust_anchor (IdCard* self);
+gboolean trust_anchor_is_empty (TrustAnchor* self);
+gchar* trust_anchor_format_datetime_now (void);
+void trust_anchor_set_datetime_added (TrustAnchor* self, const gchar* datetime);
+const gchar* trust_anchor_get_ca_cert (TrustAnchor* self);
+const gchar* trust_anchor_get_server_cert (TrustAnchor* self);
 static void identity_manager_view_finalize (GObject* obj);
 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
@@ -409,124 +471,393 @@ static GType identity_manager_view_columns_get_type (void) {
 
 
 static void _g_object_unref0_ (gpointer var) {
-#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        (var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
-#line 415 "moonshot-identity-management-view.c"
+#line 477 "moonshot-identity-management-view.c"
 }
 
 
 static void _g_queue_free__g_object_unref0_ (GQueue* self) {
-#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_queue_foreach (self, (GFunc) _g_object_unref0_, NULL);
-#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_queue_free (self);
-#line 424 "moonshot-identity-management-view.c"
+#line 486 "moonshot-identity-management-view.c"
 }
 
 
 static gpointer _identity_manager_app_ref0 (gpointer self) {
-#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return self ? identity_manager_app_ref (self) : NULL;
-#line 431 "moonshot-identity-management-view.c"
+#line 493 "moonshot-identity-management-view.c"
 }
 
 
 static gpointer _g_object_ref0 (gpointer self) {
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return self ? g_object_ref (self) : NULL;
-#line 438 "moonshot-identity-management-view.c"
-}
-
-
-static void _g_free0_ (gpointer var) {
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       var = (g_free (var), NULL);
-#line 445 "moonshot-identity-management-view.c"
+#line 500 "moonshot-identity-management-view.c"
 }
 
 
-IdentityManagerView* identity_manager_view_construct (GType object_type, IdentityManagerApp* app) {
+IdentityManagerView* identity_manager_view_construct (GType object_type, IdentityManagerApp* app, gboolean use_flat_file_store) {
        IdentityManagerView * self = NULL;
        IdentityManagerApp* _tmp0_ = NULL;
        IdentityManagerApp* _tmp1_ = NULL;
-       IdentityManagerApp* _tmp2_ = NULL;
-       IdentityManagerModel* _tmp3_ = NULL;
+       gboolean _tmp2_ = FALSE;
+       IdentityManagerApp* _tmp3_ = NULL;
        IdentityManagerModel* _tmp4_ = NULL;
-       GQueue* _tmp5_ = NULL;
-       GHashFunc _tmp6_ = NULL;
-       GEqualFunc _tmp7_ = NULL;
-       GHashTable* _tmp8_ = NULL;
-#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       IdentityManagerModel* _tmp5_ = NULL;
+       GQueue* _tmp6_ = NULL;
+       const gchar* _tmp7_ = NULL;
+#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (app != NULL, NULL);
-#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self = (IdentityManagerView*) g_object_new (object_type, NULL);
 #line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self = (IdentityManagerView*) g_object_new (object_type, NULL);
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = app;
-#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = _identity_manager_app_ref0 (_tmp0_);
-#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _identity_manager_app_unref0 (self->parent_app);
-#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 93 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self->parent_app = _tmp1_;
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = self->parent_app;
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _tmp2_->model;
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = _g_object_ref0 (_tmp3_);
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = use_flat_file_store;
+#line 94 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->use_flat_file_store = _tmp2_;
+#line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = self->parent_app;
+#line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = _tmp3_->model;
+#line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (self->identities_manager);
-#line 96 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->identities_manager = _tmp4_;
-#line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = g_queue_new ();
-#line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       __g_queue_free__g_object_unref0_0 (self->request_queue);
-#line 97 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->request_queue = _tmp5_;
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = g_direct_hash;
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = g_direct_equal;
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = g_hash_table_new_full (_tmp6_, _tmp7_, _g_object_unref0_, _g_free0_);
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_hash_table_unref0 (self->priv->service_button_map);
-#line 98 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->service_button_map = _tmp8_;
 #line 99 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_window_set_title ((GtkWindow*) self, "Moonshot Identity Selector");
+       self->identities_manager = _tmp5_;
 #line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_window_set_position ((GtkWindow*) self, GTK_WIN_POS_CENTER);
+       _tmp6_ = g_queue_new ();
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __g_queue_free__g_object_unref0_0 (self->priv->request_queue);
+#line 100 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->request_queue = _tmp6_;
 #line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_window_set_default_size ((GtkWindow*) self, IDENTITY_MANAGER_VIEW_WINDOW_WIDTH, IDENTITY_MANAGER_VIEW_WINDOW_HEIGHT);
+       _tmp7_ = _ ("Moonshot Identity Selector");
+#line 101 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_window_set_title ((GtkWindow*) self, _tmp7_);
 #line 102 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_build_ui (self);
+       gtk_window_set_position ((GtkWindow*) self, GTK_WIN_POS_CENTER);
 #line 103 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_setup_list_model (self);
+       gtk_window_set_default_size ((GtkWindow*) self, IDENTITY_MANAGER_VIEW_WINDOW_WIDTH, IDENTITY_MANAGER_VIEW_WINDOW_HEIGHT);
 #line 104 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_load_id_cards (self);
+       identity_manager_view_build_ui (self);
 #line 105 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_setup_list_model (self);
+#line 106 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_load_id_cards (self);
+#line 107 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_connect_signals (self);
-#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_report_duplicate_nais (self);
+#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return self;
-#line 514 "moonshot-identity-management-view.c"
+#line 566 "moonshot-identity-management-view.c"
 }
 
 
-IdentityManagerView* identity_manager_view_new (IdentityManagerApp* app) {
-#line 91 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       return identity_manager_view_construct (TYPE_IDENTITY_MANAGER_VIEW, app);
-#line 521 "moonshot-identity-management-view.c"
+IdentityManagerView* identity_manager_view_new (IdentityManagerApp* app, gboolean use_flat_file_store) {
+#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return identity_manager_view_construct (TYPE_IDENTITY_MANAGER_VIEW, app, use_flat_file_store);
+#line 573 "moonshot-identity-management-view.c"
 }
 
 
-void identity_manager_view_on_card_list_changed (IdentityManagerView* self) {
-#line 108 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void identity_manager_view_report_duplicate_nais (IdentityManagerView* self) {
+       GeeArrayList* duplicates = NULL;
+       IdentityManagerModel* _tmp0_ = NULL;
+       GeeArrayList* _tmp1_ = NULL;
+#line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (self != NULL);
+#line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->identities_manager;
+#line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_model_find_duplicate_nai_sets (_tmp0_, &_tmp1_);
+#line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (duplicates);
+#line 113 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       duplicates = _tmp1_;
+#line 591 "moonshot-identity-management-view.c"
+       {
+               GeeArrayList* _list_list = NULL;
+               GeeArrayList* _tmp2_ = NULL;
+               GeeArrayList* _tmp3_ = NULL;
+               gint _list_size = 0;
+               GeeArrayList* _tmp4_ = NULL;
+               gint _tmp5_ = 0;
+               gint _tmp6_ = 0;
+               gint _list_index = 0;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp2_ = duplicates;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _list_list = _tmp3_;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp4_ = _list_list;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = _tmp5_;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _list_size = _tmp6_;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _list_index = -1;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               while (TRUE) {
+#line 619 "moonshot-identity-management-view.c"
+                       gint _tmp7_ = 0;
+                       gint _tmp8_ = 0;
+                       gint _tmp9_ = 0;
+                       GeeArrayList* list = NULL;
+                       GeeArrayList* _tmp10_ = NULL;
+                       gint _tmp11_ = 0;
+                       gpointer _tmp12_ = NULL;
+                       gchar* message = NULL;
+                       const gchar* _tmp13_ = NULL;
+                       GeeArrayList* _tmp14_ = NULL;
+                       gpointer _tmp15_ = NULL;
+                       IdCard* _tmp16_ = NULL;
+                       const gchar* _tmp17_ = NULL;
+                       const gchar* _tmp18_ = NULL;
+                       gchar* _tmp19_ = NULL;
+                       gchar* _tmp20_ = NULL;
+                       const gchar* _tmp21_ = NULL;
+                       gchar* _tmp22_ = NULL;
+                       gchar* _tmp23_ = NULL;
+                       const gchar* _tmp24_ = NULL;
+                       gchar* _tmp25_ = NULL;
+                       gchar* _tmp26_ = NULL;
+                       GtkMessageDialog* msg_dialog = NULL;
+                       const gchar* _tmp49_ = NULL;
+                       GtkMessageDialog* _tmp50_ = NULL;
+                       GtkMessageDialog* _tmp51_ = NULL;
+                       GtkMessageDialog* _tmp52_ = NULL;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp7_ = _list_index;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _list_index = _tmp7_ + 1;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp8_ = _list_index;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp9_ = _list_size;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       if (!(_tmp8_ < _tmp9_)) {
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               break;
+#line 659 "moonshot-identity-management-view.c"
+                       }
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp10_ = _list_list;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp11_ = _list_index;
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       list = (GeeArrayList*) _tmp12_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp13_ = _ ("The following identities use the same Network Access Identifier (NAI)," \
+"\n" \
+"'%s'.");
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp14_ = list;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp15_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, 0);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp16_ = (IdCard*) _tmp15_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp17_ = id_card_get_nai (_tmp16_);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp18_ = _tmp17_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp19_ = g_strdup_printf (_tmp13_, _tmp18_);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp20_ = _tmp19_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp21_ = _ ("\n" \
+"\n" \
+"Duplicate NAIs are not allowed. Please remove identities you don't nee" \
+"d, or modify");
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp22_ = g_strconcat (_tmp20_, _tmp21_, NULL);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp23_ = _tmp22_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp24_ = _ (" user ID or issuer fields so that they are no longer the same NAI.");
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp25_ = g_strconcat (_tmp23_, _tmp24_, NULL);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp26_ = _tmp25_;
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_free0 (_tmp23_);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_free0 (_tmp20_);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_tmp16_);
+#line 115 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       message = _tmp26_;
+#line 705 "moonshot-identity-management-view.c"
+                       {
+                               GeeArrayList* _card_list = NULL;
+                               GeeArrayList* _tmp27_ = NULL;
+                               GeeArrayList* _tmp28_ = NULL;
+                               gint _card_size = 0;
+                               GeeArrayList* _tmp29_ = NULL;
+                               gint _tmp30_ = 0;
+                               gint _tmp31_ = 0;
+                               gint _card_index = 0;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp27_ = list;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp28_ = _g_object_ref0 (_tmp27_);
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _card_list = _tmp28_;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp29_ = _card_list;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp30_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp29_);
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp31_ = _tmp30_;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _card_size = _tmp31_;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _card_index = -1;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               while (TRUE) {
+#line 733 "moonshot-identity-management-view.c"
+                                       gint _tmp32_ = 0;
+                                       gint _tmp33_ = 0;
+                                       gint _tmp34_ = 0;
+                                       IdCard* card = NULL;
+                                       GeeArrayList* _tmp35_ = NULL;
+                                       gint _tmp36_ = 0;
+                                       gpointer _tmp37_ = NULL;
+                                       const gchar* _tmp38_ = NULL;
+                                       const gchar* _tmp39_ = NULL;
+                                       IdCard* _tmp40_ = NULL;
+                                       const gchar* _tmp41_ = NULL;
+                                       const gchar* _tmp42_ = NULL;
+                                       IdCard* _tmp43_ = NULL;
+                                       gchar* _tmp44_ = NULL;
+                                       gchar* _tmp45_ = NULL;
+                                       gchar* _tmp46_ = NULL;
+                                       gchar* _tmp47_ = NULL;
+                                       gchar* _tmp48_ = NULL;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp32_ = _card_index;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _card_index = _tmp32_ + 1;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp33_ = _card_index;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp34_ = _card_size;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (!(_tmp33_ < _tmp34_)) {
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               break;
+#line 764 "moonshot-identity-management-view.c"
+                                       }
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp35_ = _card_list;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp36_ = _card_index;
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp37_ = gee_abstract_list_get ((GeeAbstractList*) _tmp35_, _tmp36_);
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       card = (IdCard*) _tmp37_;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp38_ = message;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp39_ = _ ("\n\nDisplay Name: '%s'\nServices:\n     %s");
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp40_ = card;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp41_ = id_card_get_display_name (_tmp40_);
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp42_ = _tmp41_;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp43_ = card;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp44_ = id_card_get_services_string (_tmp43_, ",\n     ");
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp45_ = _tmp44_;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp46_ = g_strdup_printf (_tmp39_, _tmp42_, _tmp45_);
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp47_ = _tmp46_;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp48_ = g_strconcat (_tmp38_, _tmp47_, NULL);
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_free0 (message);
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       message = _tmp48_;
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_free0 (_tmp47_);
+#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_free0 (_tmp45_);
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_object_unref0 (card);
+#line 806 "moonshot-identity-management-view.c"
+                               }
+#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _g_object_unref0 (_card_list);
+#line 810 "moonshot-identity-management-view.c"
+                       }
+#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp49_ = message;
+#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp50_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", _tmp49_);
+#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       g_object_ref_sink (_tmp50_);
+#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       msg_dialog = _tmp50_;
+#line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp51_ = msg_dialog;
+#line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       gtk_dialog_run ((GtkDialog*) _tmp51_);
+#line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp52_ = msg_dialog;
+#line 129 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       gtk_object_destroy ((GtkObject*) _tmp52_);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (msg_dialog);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_free0 (message);
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (list);
+#line 834 "moonshot-identity-management-view.c"
+               }
+#line 114 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_list_list);
+#line 838 "moonshot-identity-management-view.c"
+       }
+#line 111 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (duplicates);
+#line 842 "moonshot-identity-management-view.c"
+}
+
+
+static void identity_manager_view_on_card_list_changed (IdentityManagerView* self) {
+       MoonshotLogger* _tmp0_ = NULL;
+#line 133 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 109 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, "on_card_list_changed", NULL);
+#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_load_id_cards (self);
-#line 530 "moonshot-identity-management-view.c"
+#line 856 "moonshot-identity-management-view.c"
 }
 
 
@@ -534,19 +865,19 @@ static gboolean string_contains (const gchar* self, const gchar* needle) {
        gboolean result = FALSE;
        const gchar* _tmp0_ = NULL;
        gchar* _tmp1_ = NULL;
-#line 1278 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1384 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        g_return_val_if_fail (self != NULL, FALSE);
-#line 1278 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1384 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        g_return_val_if_fail (needle != NULL, FALSE);
-#line 1279 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1385 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        _tmp0_ = needle;
-#line 1279 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1385 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
-#line 1279 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1385 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        result = _tmp1_ != NULL;
-#line 1279 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
+#line 1385 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
        return result;
-#line 550 "moonshot-identity-management-view.c"
+#line 876 "moonshot-identity-management-view.c"
 }
 
 
@@ -566,149 +897,149 @@ static gboolean identity_manager_view_visible_func (IdentityManagerView* self, G
        const gchar* _tmp15_ = NULL;
        gchar** _tmp16_ = NULL;
        gchar** _tmp17_ = NULL;
-#line 112 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 138 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (self != NULL, FALSE);
-#line 112 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 138 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (model != NULL, FALSE);
-#line 112 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 138 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (iter != NULL, FALSE);
-#line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 142 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = model;
-#line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 142 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = *iter;
-#line 116 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 142 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_tree_model_get (_tmp0_, &_tmp1_, IDENTITY_MANAGER_VIEW_COLUMNS_IDCARD_COL, &id_card, -1);
-#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = id_card;
-#line 119 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 145 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (_tmp2_ == NULL) {
-#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                result = FALSE;
-#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (id_card);
-#line 120 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                return result;
-#line 592 "moonshot-identity-management-view.c"
+#line 918 "moonshot-identity-management-view.c"
        }
-#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = self->priv->candidates;
-#line 122 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (_tmp3_ != NULL) {
-#line 598 "moonshot-identity-management-view.c"
+#line 924 "moonshot-identity-management-view.c"
                gboolean is_candidate = FALSE;
                GSList* _tmp4_ = NULL;
                gboolean _tmp8_ = FALSE;
-#line 124 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                is_candidate = FALSE;
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp4_ = self->priv->candidates;
-#line 606 "moonshot-identity-management-view.c"
+#line 932 "moonshot-identity-management-view.c"
                {
                        GSList* candidate_collection = NULL;
                        GSList* candidate_it = NULL;
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        candidate_collection = _tmp4_;
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        for (candidate_it = candidate_collection; candidate_it != NULL; candidate_it = candidate_it->next) {
-#line 614 "moonshot-identity-management-view.c"
+#line 940 "moonshot-identity-management-view.c"
                                IdCard* _tmp5_ = NULL;
                                IdCard* candidate = NULL;
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp5_ = _g_object_ref0 ((IdCard*) candidate_it->data);
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                candidate = _tmp5_;
-#line 621 "moonshot-identity-management-view.c"
+#line 947 "moonshot-identity-management-view.c"
                                {
                                        IdCard* _tmp6_ = NULL;
                                        IdCard* _tmp7_ = NULL;
-#line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp6_ = candidate;
-#line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp7_ = id_card;
-#line 127 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        if (_tmp6_ == _tmp7_) {
-#line 128 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 154 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                is_candidate = TRUE;
-#line 633 "moonshot-identity-management-view.c"
+#line 959 "moonshot-identity-management-view.c"
                                        }
-#line 125 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 151 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _g_object_unref0 (candidate);
-#line 637 "moonshot-identity-management-view.c"
+#line 963 "moonshot-identity-management-view.c"
                                }
                        }
                }
-#line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp8_ = is_candidate;
-#line 130 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                if (!_tmp8_) {
-#line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 157 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        result = FALSE;
-#line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 157 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _g_object_unref0 (id_card);
-#line 131 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 157 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        return result;
-#line 651 "moonshot-identity-management-view.c"
+#line 977 "moonshot-identity-management-view.c"
                }
        }
-#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp9_ = self->priv->search_entry;
-#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp10_ = gtk_entry_get_text (_tmp9_);
-#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp11_ = g_strdup (_tmp10_);
-#line 134 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        entry_text = _tmp11_;
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp13_ = entry_text;
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (_tmp13_ == NULL) {
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp12_ = TRUE;
-#line 668 "moonshot-identity-management-view.c"
+#line 994 "moonshot-identity-management-view.c"
        } else {
                const gchar* _tmp14_ = NULL;
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp14_ = entry_text;
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp12_ = g_strcmp0 (_tmp14_, "") == 0;
-#line 675 "moonshot-identity-management-view.c"
+#line 1001 "moonshot-identity-management-view.c"
        }
-#line 135 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (_tmp12_) {
-#line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                result = TRUE;
-#line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_free0 (entry_text);
-#line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (id_card);
-#line 137 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 163 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                return result;
-#line 687 "moonshot-identity-management-view.c"
+#line 1013 "moonshot-identity-management-view.c"
        }
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp15_ = entry_text;
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp17_ = _tmp16_ = g_strsplit (_tmp15_, " ", 0);
-#line 693 "moonshot-identity-management-view.c"
+#line 1019 "moonshot-identity-management-view.c"
        {
                gchar** search_text_collection = NULL;
                gint search_text_collection_length1 = 0;
                gint _search_text_collection_size_ = 0;
                gint search_text_it = 0;
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                search_text_collection = _tmp17_;
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                search_text_collection_length1 = _vala_array_length (_tmp16_);
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                for (search_text_it = 0; search_text_it < _vala_array_length (_tmp16_); search_text_it = search_text_it + 1) {
-#line 705 "moonshot-identity-management-view.c"
+#line 1031 "moonshot-identity-management-view.c"
                        gchar* _tmp18_ = NULL;
                        gchar* search_text = NULL;
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _tmp18_ = g_strdup (search_text_collection[search_text_it]);
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        search_text = _tmp18_;
-#line 712 "moonshot-identity-management-view.c"
+#line 1038 "moonshot-identity-management-view.c"
                        {
                                const gchar* _tmp19_ = NULL;
                                gchar* search_text_casefold = NULL;
@@ -721,35 +1052,35 @@ static gboolean identity_manager_view_visible_func (IdentityManagerView* self, G
                                const gchar* _tmp33_ = NULL;
                                const gchar* _tmp34_ = NULL;
                                IdCard* _tmp42_ = NULL;
-                               gchar** _tmp43_ = NULL;
-                               gint _tmp43__length1 = 0;
-                               gchar** _tmp44_ = NULL;
-                               gint _tmp44__length1 = 0;
-#line 142 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               GeeArrayList* _tmp43_ = NULL;
+                               GeeArrayList* _tmp44_ = NULL;
+                               gint _tmp45_ = 0;
+                               gint _tmp46_ = 0;
+#line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp19_ = search_text;
-#line 142 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                if (g_strcmp0 (_tmp19_, "") == 0) {
-#line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _g_free0 (search_text);
-#line 143 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 169 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        continue;
-#line 737 "moonshot-identity-management-view.c"
+#line 1063 "moonshot-identity-management-view.c"
                                }
-#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 172 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp20_ = search_text;
-#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp21_ = g_utf8_casefold (_tmp20_, (gssize) (-1));
-#line 146 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 172 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp21_ = g_utf8_casefold (_tmp20_, (gssize) -1);
+#line 172 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                search_text_casefold = _tmp21_;
-#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp22_ = id_card;
-#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp23_ = id_card_get_issuer (_tmp22_);
-#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp24_ = _tmp23_;
-#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                if (_tmp24_ != NULL) {
-#line 753 "moonshot-identity-management-view.c"
+#line 1079 "moonshot-identity-management-view.c"
                                        gchar* issuer_casefold = NULL;
                                        IdCard* _tmp25_ = NULL;
                                        const gchar* _tmp26_ = NULL;
@@ -758,55 +1089,55 @@ static gboolean identity_manager_view_visible_func (IdentityManagerView* self, G
                                        const gchar* _tmp29_ = NULL;
                                        const gchar* _tmp30_ = NULL;
                                        gboolean _tmp31_ = FALSE;
-#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp25_ = id_card;
-#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp26_ = id_card_get_issuer (_tmp25_);
-#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp27_ = _tmp26_;
-#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp28_ = g_strdup (_tmp27_);
-#line 150 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 176 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        issuer_casefold = _tmp28_;
-#line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp29_ = issuer_casefold;
-#line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp30_ = search_text_casefold;
-#line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp31_ = string_contains (_tmp29_, _tmp30_);
-#line 152 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        if (_tmp31_) {
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                result = TRUE;
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (issuer_casefold);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (search_text_casefold);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (search_text);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                search_text_collection = (_vala_array_free (search_text_collection, search_text_collection_length1, (GDestroyNotify) g_free), NULL);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (entry_text);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_object_unref0 (id_card);
-#line 153 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 179 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                return result;
-#line 796 "moonshot-identity-management-view.c"
+#line 1122 "moonshot-identity-management-view.c"
                                        }
-#line 148 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 174 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _g_free0 (issuer_casefold);
-#line 800 "moonshot-identity-management-view.c"
+#line 1126 "moonshot-identity-management-view.c"
                                }
-#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp32_ = id_card;
-#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp33_ = id_card_get_display_name (_tmp32_);
-#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp34_ = _tmp33_;
-#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                if (_tmp34_ != NULL) {
-#line 810 "moonshot-identity-management-view.c"
+#line 1136 "moonshot-identity-management-view.c"
                                        gchar* display_name_casefold = NULL;
                                        IdCard* _tmp35_ = NULL;
                                        const gchar* _tmp36_ = NULL;
@@ -815,169 +1146,204 @@ static gboolean identity_manager_view_visible_func (IdentityManagerView* self, G
                                        const gchar* _tmp39_ = NULL;
                                        const gchar* _tmp40_ = NULL;
                                        gboolean _tmp41_ = FALSE;
-#line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp35_ = id_card;
-#line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp36_ = id_card_get_display_name (_tmp35_);
-#line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp37_ = _tmp36_;
-#line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp38_ = g_utf8_casefold (_tmp37_, (gssize) (-1));
-#line 158 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp38_ = g_utf8_casefold (_tmp37_, (gssize) -1);
+#line 184 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        display_name_casefold = _tmp38_;
-#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp39_ = display_name_casefold;
-#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp40_ = search_text_casefold;
-#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _tmp41_ = string_contains (_tmp39_, _tmp40_);
-#line 160 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 186 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        if (_tmp41_) {
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                result = TRUE;
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (display_name_casefold);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (search_text_casefold);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (search_text);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                search_text_collection = (_vala_array_free (search_text_collection, search_text_collection_length1, (GDestroyNotify) g_free), NULL);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_free0 (entry_text);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                _g_object_unref0 (id_card);
-#line 161 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                return result;
-#line 853 "moonshot-identity-management-view.c"
+#line 1179 "moonshot-identity-management-view.c"
                                        }
-#line 156 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 182 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                        _g_free0 (display_name_casefold);
-#line 857 "moonshot-identity-management-view.c"
+#line 1183 "moonshot-identity-management-view.c"
                                }
-#line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp42_ = id_card;
-#line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp43_ = id_card_get_services (_tmp42_, &_tmp43__length1);
-#line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp43_ = id_card_get_services (_tmp42_);
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _tmp44_ = _tmp43_;
-#line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp44__length1 = _tmp43__length1;
-#line 164 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               if (_tmp44__length1 > 0) {
-#line 869 "moonshot-identity-management-view.c"
-                                       IdCard* _tmp45_ = NULL;
-                                       gchar** _tmp46_ = NULL;
-                                       gint _tmp46__length1 = 0;
-                                       gchar** _tmp47_ = NULL;
-                                       gint _tmp47__length1 = 0;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp45_ = id_card;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp46_ = id_card_get_services (_tmp45_, &_tmp46__length1);
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp47_ = _tmp46_;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp47__length1 = _tmp46__length1;
-#line 883 "moonshot-identity-management-view.c"
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp45_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp44_);
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp46_ = _tmp45_;
+#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               if (_tmp46_ > 0) {
+#line 1197 "moonshot-identity-management-view.c"
                                        {
-                                               gchar** service_collection = NULL;
-                                               gint service_collection_length1 = 0;
-                                               gint _service_collection_size_ = 0;
-                                               gint service_it = 0;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               service_collection = _tmp47_;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               service_collection_length1 = _tmp47__length1;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               for (service_it = 0; service_it < _tmp47__length1; service_it = service_it + 1) {
-#line 895 "moonshot-identity-management-view.c"
-                                                       gchar* _tmp48_ = NULL;
+                                               GeeArrayList* _service_list = NULL;
+                                               IdCard* _tmp47_ = NULL;
+                                               GeeArrayList* _tmp48_ = NULL;
+                                               GeeArrayList* _tmp49_ = NULL;
+                                               GeeArrayList* _tmp50_ = NULL;
+                                               gint _service_size = 0;
+                                               GeeArrayList* _tmp51_ = NULL;
+                                               gint _tmp52_ = 0;
+                                               gint _tmp53_ = 0;
+                                               gint _service_index = 0;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp47_ = id_card;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp48_ = id_card_get_services (_tmp47_);
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp49_ = _tmp48_;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp50_ = _g_object_ref0 (_tmp49_);
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _service_list = _tmp50_;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp51_ = _service_list;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp52_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp51_);
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp53_ = _tmp52_;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _service_size = _tmp53_;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _service_index = -1;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               while (TRUE) {
+#line 1231 "moonshot-identity-management-view.c"
+                                                       gint _tmp54_ = 0;
+                                                       gint _tmp55_ = 0;
+                                                       gint _tmp56_ = 0;
                                                        gchar* service = NULL;
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       _tmp48_ = g_strdup (service_collection[service_it]);
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       service = _tmp48_;
-#line 902 "moonshot-identity-management-view.c"
-                                                       {
-                                                               gchar* service_casefold = NULL;
-                                                               const gchar* _tmp49_ = NULL;
-                                                               gchar* _tmp50_ = NULL;
-                                                               const gchar* _tmp51_ = NULL;
-                                                               const gchar* _tmp52_ = NULL;
-                                                               gboolean _tmp53_ = FALSE;
-#line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               _tmp49_ = service;
-#line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               _tmp50_ = g_utf8_casefold (_tmp49_, (gssize) (-1));
-#line 168 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               service_casefold = _tmp50_;
-#line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               _tmp51_ = service_casefold;
-#line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               _tmp52_ = search_text_casefold;
-#line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               _tmp53_ = string_contains (_tmp51_, _tmp52_);
-#line 170 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                               if (_tmp53_) {
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       result = TRUE;
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_free0 (service_casefold);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_free0 (service);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_free0 (search_text_casefold);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_free0 (search_text);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       search_text_collection = (_vala_array_free (search_text_collection, search_text_collection_length1, (GDestroyNotify) g_free), NULL);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_free0 (entry_text);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       _g_object_unref0 (id_card);
-#line 171 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                                       return result;
-#line 942 "moonshot-identity-management-view.c"
-                                                               }
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       GeeArrayList* _tmp57_ = NULL;
+                                                       gint _tmp58_ = 0;
+                                                       gpointer _tmp59_ = NULL;
+                                                       gchar* service_casefold = NULL;
+                                                       const gchar* _tmp60_ = NULL;
+                                                       gchar* _tmp61_ = NULL;
+                                                       const gchar* _tmp62_ = NULL;
+                                                       const gchar* _tmp63_ = NULL;
+                                                       gboolean _tmp64_ = FALSE;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp54_ = _service_index;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _service_index = _tmp54_ + 1;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp55_ = _service_index;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp56_ = _service_size;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       if (!(_tmp55_ < _tmp56_)) {
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               break;
+#line 1257 "moonshot-identity-management-view.c"
+                                                       }
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp57_ = _service_list;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp58_ = _service_index;
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp59_ = gee_abstract_list_get ((GeeAbstractList*) _tmp57_, _tmp58_);
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       service = (gchar*) _tmp59_;
+#line 194 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp60_ = service;
+#line 194 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp61_ = g_utf8_casefold (_tmp60_, (gssize) -1);
+#line 194 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       service_casefold = _tmp61_;
+#line 196 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp62_ = service_casefold;
+#line 196 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp63_ = search_text_casefold;
+#line 196 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _tmp64_ = string_contains (_tmp62_, _tmp63_);
+#line 196 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       if (_tmp64_) {
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               result = TRUE;
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                                _g_free0 (service_casefold);
-#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                                _g_free0 (service);
-#line 948 "moonshot-identity-management-view.c"
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               _g_object_unref0 (_service_list);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               _g_free0 (search_text_casefold);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               _g_free0 (search_text);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               search_text_collection = (_vala_array_free (search_text_collection, search_text_collection_length1, (GDestroyNotify) g_free), NULL);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               _g_free0 (entry_text);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               _g_object_unref0 (id_card);
+#line 197 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                               return result;
+#line 1301 "moonshot-identity-management-view.c"
                                                        }
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _g_free0 (service_casefold);
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                                       _g_free0 (service);
+#line 1307 "moonshot-identity-management-view.c"
                                                }
+#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_object_unref0 (_service_list);
+#line 1311 "moonshot-identity-management-view.c"
                                        }
                                }
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _g_free0 (search_text_casefold);
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _g_free0 (search_text);
-#line 957 "moonshot-identity-management-view.c"
+#line 1318 "moonshot-identity-management-view.c"
                        }
                }
-#line 140 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 166 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                search_text_collection = (_vala_array_free (search_text_collection, search_text_collection_length1, (GDestroyNotify) g_free), NULL);
-#line 962 "moonshot-identity-management-view.c"
+#line 1323 "moonshot-identity-management-view.c"
        }
-#line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        result = FALSE;
-#line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_free0 (entry_text);
-#line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (id_card);
-#line 175 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 201 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return result;
-#line 972 "moonshot-identity-management-view.c"
+#line 1333 "moonshot-identity-management-view.c"
 }
 
 
 static gboolean _identity_manager_view_visible_func_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self) {
        gboolean result;
        result = identity_manager_view_visible_func ((IdentityManagerView*) self, model, iter);
-#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return result;
-#line 981 "moonshot-identity-management-view.c"
+#line 1342 "moonshot-identity-management-view.c"
 }
 
 
@@ -986,87 +1352,39 @@ static void identity_manager_view_setup_list_model (IdentityManagerView* self) {
        GtkListStore* _tmp1_ = NULL;
        GtkTreeModelFilter* _tmp2_ = NULL;
        GtkTreeModelFilter* _tmp3_ = NULL;
-#line 178 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 204 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 180 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = gtk_list_store_new ((gint) IDENTITY_MANAGER_VIEW_COLUMNS_N_COLUMNS, TYPE_ID_CARD, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-#line 180 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 206 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = gtk_list_store_new ((gint) IDENTITY_MANAGER_VIEW_COLUMNS_N_COLUMNS, TYPE_ID_CARD, gdk_pixbuf_get_type (), G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+#line 206 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self->priv->listmodel = _tmp0_;
-#line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = self->priv->listmodel;
-#line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = (GtkTreeModelFilter*) gtk_tree_model_filter_new ((GtkTreeModel*) _tmp1_, NULL);
-#line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (self->priv->filter);
-#line 185 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self->priv->filter = _tmp2_;
-#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = self->priv->filter;
-#line 187 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 213 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_tree_model_filter_set_visible_func (_tmp3_, _identity_manager_view_visible_func_gtk_tree_model_filter_visible_func, g_object_ref (self), g_object_unref);
-#line 1008 "moonshot-identity-management-view.c"
-}
-
-
-static void identity_manager_view_search_entry_icon_press_cb (IdentityManagerView* self, GtkEntryIconPosition pos, GdkEvent* event) {
-       GtkEntryIconPosition _tmp0_ = 0;
-#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 190 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (event != NULL);
-#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = pos;
-#line 192 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp0_ == GTK_ENTRY_ICON_PRIMARY) {
-#line 194 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               g_print ("Search entry icon pressed\n");
-#line 1024 "moonshot-identity-management-view.c"
-       } else {
-               GtkEntry* _tmp1_ = NULL;
-#line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp1_ = self->priv->search_entry;
-#line 198 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_entry_set_text (_tmp1_, "");
-#line 1031 "moonshot-identity-management-view.c"
-       }
+#line 1369 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_search_entry_text_changed_cb (IdentityManagerView* self) {
        GtkTreeModelFilter* _tmp0_ = NULL;
-       gboolean has_text = FALSE;
-       GtkEntry* _tmp1_ = NULL;
-       guint16 _tmp2_ = 0U;
-       GtkEntry* _tmp3_ = NULL;
-       GtkEntry* _tmp4_ = NULL;
-       GtkVBox* _tmp5_ = NULL;
-#line 202 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 204 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = self->priv->filter;
-#line 204 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 218 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_tree_model_filter_refilter (_tmp0_);
-#line 205 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 219 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_redraw_id_card_widgets (self);
-#line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = self->priv->search_entry;
-#line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = gtk_entry_get_text_length (_tmp1_);
-#line 207 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       has_text = ((gint) _tmp2_) > 0;
-#line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = self->priv->search_entry;
-#line 208 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_sensitive (_tmp3_, GTK_ENTRY_ICON_PRIMARY, has_text);
-#line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = self->priv->search_entry;
-#line 209 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_sensitive (_tmp4_, GTK_ENTRY_ICON_SECONDARY, has_text);
-#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = self->priv->vbox_right;
-#line 211 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_visible ((GtkWidget*) _tmp5_, FALSE);
-#line 1070 "moonshot-identity-management-view.c"
+#line 1383 "moonshot-identity-management-view.c"
 }
 
 
@@ -1075,1066 +1393,765 @@ static gboolean identity_manager_view_search_entry_key_press_event_cb (IdentityM
        GdkEventKey _tmp0_ = {0};
        guint _tmp1_ = 0U;
        const gchar* _tmp2_ = NULL;
-#line 214 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (self != NULL, FALSE);
-#line 214 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 222 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (e != NULL, FALSE);
-#line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = *e;
-#line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = _tmp0_.keyval;
-#line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = gdk_keyval_name (_tmp1_);
-#line 216 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (g_strcmp0 (_tmp2_, "Escape") == 0) {
-#line 1091 "moonshot-identity-management-view.c"
+#line 1404 "moonshot-identity-management-view.c"
                GtkEntry* _tmp3_ = NULL;
-#line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp3_ = self->priv->search_entry;
-#line 217 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 225 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                gtk_entry_set_text (_tmp3_, "");
-#line 1097 "moonshot-identity-management-view.c"
+#line 1410 "moonshot-identity-management-view.c"
        }
-#line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        result = FALSE;
-#line 221 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return result;
-#line 1103 "moonshot-identity-management-view.c"
+#line 1416 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_update_password_cb (IdentityManagerView* self) {
-       CustomVBox* _tmp0_ = NULL;
-       IdCardWidget* _tmp1_ = NULL;
-       IdCardWidget* _tmp2_ = NULL;
-#line 224 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static const gchar* string_to_string (const gchar* self) {
+       const gchar* result = NULL;
+#line 1420 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+       g_return_val_if_fail (self != NULL, NULL);
+#line 1421 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+       result = self;
+#line 1421 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+       return result;
+#line 1428 "moonshot-identity-management-view.c"
+}
+
+
+static void identity_manager_view_load_id_cards (IdentityManagerView* self) {
+       MoonshotLogger* _tmp0_ = NULL;
+       CustomVBox* _tmp1_ = NULL;
+       GtkListStore* _tmp2_ = NULL;
+       GeeLinkedList* card_list = NULL;
+       IdentityManagerModel* _tmp3_ = NULL;
+       GeeLinkedList* _tmp4_ = NULL;
+       GeeLinkedList* _tmp5_ = NULL;
+#line 232 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->custom_vbox;
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = custom_vbox_get_current_idcard (_tmp0_);
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _tmp1_;
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp2_ != NULL) {
-#line 1121 "moonshot-identity-management-view.c"
-               IdCard* identity = NULL;
-               CustomVBox* _tmp3_ = NULL;
-               IdCardWidget* _tmp4_ = NULL;
-               IdCardWidget* _tmp5_ = NULL;
-               IdCard* _tmp6_ = NULL;
-               IdCard* _tmp7_ = NULL;
-               IdCard* _tmp8_ = NULL;
-               AddPasswordDialog* dialog = NULL;
-               IdCard* _tmp9_ = NULL;
-               AddPasswordDialog* _tmp10_ = NULL;
-               gint _result_ = 0;
-               AddPasswordDialog* _tmp11_ = NULL;
-               gint _tmp12_ = 0;
-               gint _tmp13_ = 0;
-               AddPasswordDialog* _tmp29_ = NULL;
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp3_ = self->priv->custom_vbox;
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp4_ = custom_vbox_get_current_idcard (_tmp3_);
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp5_ = _tmp4_;
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp6_ = id_card_widget_get_id_card (_tmp5_);
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp7_ = _tmp6_;
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp8_ = _g_object_ref0 (_tmp7_);
-#line 227 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity = _tmp8_;
-#line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = identity;
-#line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp10_ = add_password_dialog_new (_tmp9_, NULL);
-#line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               g_object_ref_sink (_tmp10_);
-#line 228 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               dialog = _tmp10_;
-#line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp11_ = dialog;
-#line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp12_ = gtk_dialog_run ((GtkDialog*) _tmp11_);
-#line 229 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _result_ = _tmp12_;
-#line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp13_ = _result_;
-#line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               switch (_tmp13_) {
-#line 231 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       case GTK_RESPONSE_OK:
-#line 1171 "moonshot-identity-management-view.c"
-                       {
-                               IdCard* _tmp14_ = NULL;
-                               AddPasswordDialog* _tmp15_ = NULL;
-                               const gchar* _tmp16_ = NULL;
-                               const gchar* _tmp17_ = NULL;
-                               IdCard* _tmp18_ = NULL;
-                               AddPasswordDialog* _tmp19_ = NULL;
-                               gboolean _tmp20_ = FALSE;
-                               gboolean _tmp21_ = FALSE;
-                               AddPasswordDialog* _tmp22_ = NULL;
-                               gboolean _tmp23_ = FALSE;
-                               gboolean _tmp24_ = FALSE;
-                               IdentityManagerModel* _tmp26_ = NULL;
-                               IdCard* _tmp27_ = NULL;
-                               IdCard* _tmp28_ = NULL;
-#line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp14_ = identity;
 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp15_ = dialog;
+       _tmp0_ = identity_manager_view_logger;
 #line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp16_ = add_password_dialog_get_password (_tmp15_);
-#line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp17_ = _tmp16_;
-#line 233 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               id_card_set_password (_tmp14_, _tmp17_);
-#line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp18_ = identity;
-#line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp19_ = dialog;
-#line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp20_ = add_password_dialog_get_remember (_tmp19_);
-#line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp21_ = _tmp20_;
-#line 234 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               id_card_set_store_password (_tmp18_, _tmp21_);
-#line 235 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp22_ = dialog;
-#line 235 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp23_ = add_password_dialog_get_remember (_tmp22_);
+       moonshot_logger_trace (_tmp0_, "load_id_cards", NULL);
 #line 235 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp24_ = _tmp23_;
+       _tmp1_ = self->priv->custom_vbox;
 #line 235 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               if (_tmp24_) {
-#line 1215 "moonshot-identity-management-view.c"
-                                       IdCard* _tmp25_ = NULL;
+       custom_vbox_clear (_tmp1_);
 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp25_ = identity;
+       _tmp2_ = self->priv->listmodel;
 #line 236 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       id_card_set_temporary (_tmp25_, FALSE);
-#line 1221 "moonshot-identity-management-view.c"
-                               }
-#line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp26_ = self->identities_manager;
+       gtk_list_store_clear (_tmp2_);
 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp27_ = identity;
+       _tmp3_ = self->identities_manager;
 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp28_ = identity_manager_model_update_card (_tmp26_, _tmp27_);
+       _tmp4_ = identity_manager_model_get_card_list (_tmp3_);
 #line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _g_object_unref0 (identity);
-#line 237 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               identity = _tmp28_;
+       card_list = _tmp4_;
 #line 238 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = card_list;
+#line 238 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp5_ == NULL) {
+#line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (card_list);
+#line 239 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               return;
+#line 1468 "moonshot-identity-management-view.c"
+       }
+       {
+               GeeLinkedList* _id_card_list = NULL;
+               GeeLinkedList* _tmp6_ = NULL;
+               GeeLinkedList* _tmp7_ = NULL;
+               gint _id_card_size = 0;
+               GeeLinkedList* _tmp8_ = NULL;
+               gint _tmp9_ = 0;
+               gint _tmp10_ = 0;
+               gint _id_card_index = 0;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = card_list;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _id_card_list = _tmp7_;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp8_ = _id_card_list;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp8_);
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = _tmp9_;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _id_card_size = _tmp10_;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _id_card_index = -1;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               while (TRUE) {
+#line 1497 "moonshot-identity-management-view.c"
+                       gint _tmp11_ = 0;
+                       gint _tmp12_ = 0;
+                       gint _tmp13_ = 0;
+                       IdCard* id_card = NULL;
+                       GeeLinkedList* _tmp14_ = NULL;
+                       gint _tmp15_ = 0;
+                       gpointer _tmp16_ = NULL;
+                       MoonshotLogger* _tmp17_ = NULL;
+                       IdCard* _tmp18_ = NULL;
+                       const gchar* _tmp19_ = NULL;
+                       const gchar* _tmp20_ = NULL;
+                       const gchar* _tmp21_ = NULL;
+                       gchar* _tmp22_ = NULL;
+                       gchar* _tmp23_ = NULL;
+                       IdCard* _tmp24_ = NULL;
+                       IdCard* _tmp25_ = NULL;
+                       IdCardWidget* _tmp26_ = NULL;
+                       IdCardWidget* _tmp27_ = NULL;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp11_ = _id_card_index;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _id_card_index = _tmp11_ + 1;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp12_ = _id_card_index;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp13_ = _id_card_size;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       if (!(_tmp12_ < _tmp13_)) {
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                break;
-#line 1235 "moonshot-identity-management-view.c"
-                       }
-                       default:
-                       {
-#line 240 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               break;
-#line 1241 "moonshot-identity-management-view.c"
+#line 1528 "moonshot-identity-management-view.c"
                        }
-               }
 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp29_ = dialog;
+                       _tmp14_ = _id_card_list;
 #line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_object_destroy ((GtkObject*) _tmp29_);
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (dialog);
-#line 226 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (identity);
-#line 1252 "moonshot-identity-management-view.c"
+                       _tmp15_ = _id_card_index;
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, _tmp15_);
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       id_card = (IdCard*) _tmp16_;
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp17_ = identity_manager_view_logger;
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp18_ = id_card;
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp19_ = id_card_get_display_name (_tmp18_);
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp20_ = _tmp19_;
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp21_ = string_to_string (_tmp20_);
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp22_ = g_strconcat ("load_id_cards: Loading card with display name '", _tmp21_, "'", NULL);
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp23_ = _tmp22_;
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       moonshot_logger_trace (_tmp17_, _tmp23_, NULL);
+#line 243 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_free0 (_tmp23_);
+#line 244 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp24_ = id_card;
+#line 244 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       identity_manager_view_add_id_card_data (self, _tmp24_);
+#line 245 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp25_ = id_card;
+#line 245 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp26_ = identity_manager_view_add_id_card_widget (self, _tmp25_);
+#line 245 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp27_ = _tmp26_;
+#line 245 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_tmp27_);
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (id_card);
+#line 1570 "moonshot-identity-management-view.c"
+               }
+#line 242 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_id_card_list);
+#line 1574 "moonshot-identity-management-view.c"
        }
+#line 232 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (card_list);
+#line 1578 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_load_id_cards (IdentityManagerView* self) {
-       gchar* current_idcard_nai = NULL;
-       CustomVBox* _tmp0_ = NULL;
-       IdCardWidget* _tmp1_ = NULL;
-       IdCardWidget* _tmp2_ = NULL;
-       GList* children = NULL;
-       CustomVBox* _tmp12_ = NULL;
-       GList* _tmp13_ = NULL;
-       GList* _tmp14_ = NULL;
-       GtkListStore* _tmp16_ = NULL;
-       GeeLinkedList* card_list = NULL;
-       IdentityManagerModel* _tmp17_ = NULL;
-       GeeLinkedList* _tmp18_ = NULL;
-       GeeLinkedList* _tmp19_ = NULL;
-       CustomVBox* _tmp42_ = NULL;
-       IdCardWidget* _tmp43_ = NULL;
-       IdCardWidget* _tmp44_ = NULL;
-#line 246 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 247 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       current_idcard_nai = NULL;
-#line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->custom_vbox;
-#line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = custom_vbox_get_current_idcard (_tmp0_);
-#line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _tmp1_;
-#line 248 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp2_ != NULL) {
-#line 1286 "moonshot-identity-management-view.c"
-               CustomVBox* _tmp3_ = NULL;
-               IdCardWidget* _tmp4_ = NULL;
-               IdCardWidget* _tmp5_ = NULL;
-               IdCard* _tmp6_ = NULL;
-               IdCard* _tmp7_ = NULL;
-               const gchar* _tmp8_ = NULL;
-               const gchar* _tmp9_ = NULL;
-               gchar* _tmp10_ = NULL;
-               CustomVBox* _tmp11_ = NULL;
+static IdCard* identity_manager_view_update_id_card_data (IdentityManagerView* self, IdentityDialog* dialog, IdCard* id_card) {
+       IdCard* result = NULL;
+       IdCard* _tmp0_ = NULL;
+       IdentityDialog* _tmp1_ = NULL;
+       const gchar* _tmp2_ = NULL;
+       const gchar* _tmp3_ = NULL;
+       IdCard* _tmp4_ = NULL;
+       IdentityDialog* _tmp5_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       const gchar* _tmp7_ = NULL;
+       IdCard* _tmp8_ = NULL;
+       IdentityDialog* _tmp9_ = NULL;
+       const gchar* _tmp10_ = NULL;
+       const gchar* _tmp11_ = NULL;
+       IdCard* _tmp12_ = NULL;
+       IdentityDialog* _tmp13_ = NULL;
+       const gchar* _tmp14_ = NULL;
+       const gchar* _tmp15_ = NULL;
+       IdCard* _tmp16_ = NULL;
+       IdentityDialog* _tmp17_ = NULL;
+       gboolean _tmp18_ = FALSE;
+       gboolean _tmp19_ = FALSE;
+       IdCard* _tmp20_ = NULL;
+       IdentityDialog* _tmp21_ = NULL;
+       GeeArrayList* _tmp22_ = NULL;
+       GeeArrayList* _tmp23_ = NULL;
+       IdentityDialog* _tmp24_ = NULL;
+       gboolean _tmp25_ = FALSE;
+       IdCard* _tmp27_ = NULL;
+       IdCard* _tmp28_ = NULL;
 #line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp3_ = self->priv->custom_vbox;
+       g_return_val_if_fail (self != NULL, NULL);
 #line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp4_ = custom_vbox_get_current_idcard (_tmp3_);
+       g_return_val_if_fail (dialog != NULL, NULL);
 #line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp5_ = _tmp4_;
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp6_ = id_card_widget_get_id_card (_tmp5_);
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp7_ = _tmp6_;
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp8_ = id_card_get_nai (_tmp7_);
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = _tmp8_;
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp10_ = g_strdup (_tmp9_);
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_free0 (current_idcard_nai);
-#line 249 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               current_idcard_nai = _tmp10_;
-#line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp11_ = self->priv->custom_vbox;
-#line 250 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               custom_vbox_set_current_idcard (_tmp11_, NULL);
-#line 1320 "moonshot-identity-management-view.c"
-       }
+       g_return_val_if_fail (id_card != NULL, NULL);
+#line 251 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = id_card;
+#line 251 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = dialog;
+#line 251 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = identity_dialog_get_display_name (_tmp1_);
+#line 251 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_;
+#line 251 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_set_display_name (_tmp0_, _tmp3_);
+#line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = id_card;
+#line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = dialog;
 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = self->priv->custom_vbox;
+       _tmp6_ = identity_dialog_get_issuer (_tmp5_);
 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = gtk_container_get_children ((GtkContainer*) _tmp12_);
+       _tmp7_ = _tmp6_;
 #line 252 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       children = _tmp13_;
+       id_card_set_issuer (_tmp4_, _tmp7_);
 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = children;
-#line 1330 "moonshot-identity-management-view.c"
-       {
-               GList* id_card_widget_collection = NULL;
-               GList* id_card_widget_it = NULL;
+       _tmp8_ = id_card;
 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               id_card_widget_collection = _tmp14_;
+       _tmp9_ = dialog;
 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               for (id_card_widget_it = id_card_widget_collection; id_card_widget_it != NULL; id_card_widget_it = id_card_widget_it->next) {
-#line 1338 "moonshot-identity-management-view.c"
-                       GtkWidget* id_card_widget = NULL;
+       _tmp10_ = identity_dialog_get_username (_tmp9_);
 #line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card_widget = (GtkWidget*) id_card_widget_it->data;
-#line 1342 "moonshot-identity-management-view.c"
-                       {
-                               GtkWidget* _tmp15_ = NULL;
+       _tmp11_ = _tmp10_;
+#line 253 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_set_username (_tmp8_, _tmp11_);
 #line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp15_ = id_card_widget;
+       _tmp12_ = id_card;
 #line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               identity_manager_view_remove_id_card_widget (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_ID_CARD_WIDGET, IdCardWidget));
-#line 1349 "moonshot-identity-management-view.c"
-                       }
-               }
-       }
-#line 256 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16_ = self->priv->listmodel;
-#line 256 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_list_store_clear (_tmp16_);
+       _tmp13_ = dialog;
+#line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = identity_dialog_get_password (_tmp13_);
+#line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = _tmp14_;
+#line 254 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_set_password (_tmp12_, _tmp15_);
+#line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp16_ = id_card;
+#line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp17_ = dialog;
+#line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp18_ = identity_dialog_get_store_password (_tmp17_);
+#line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp19_ = _tmp18_;
+#line 255 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_set_store_password (_tmp16_, _tmp19_);
 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17_ = self->identities_manager;
+       _tmp20_ = id_card;
 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp18_ = identity_manager_model_get_card_list (_tmp17_);
+       _tmp21_ = dialog;
 #line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       card_list = _tmp18_;
-#line 258 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp19_ = card_list;
-#line 258 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp19_ == NULL) {
-#line 259 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (card_list);
+       _tmp22_ = identity_dialog_get_services (_tmp21_);
+#line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp23_ = _tmp22_;
+#line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_update_services_from_list (_tmp20_, _tmp23_);
+#line 257 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp23_);
 #line 259 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_list_free0 (children);
+       _tmp24_ = dialog;
 #line 259 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_free0 (current_idcard_nai);
+       _tmp25_ = _tmp24_->clear_trust_anchor;
 #line 259 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               return;
-#line 1375 "moonshot-identity-management-view.c"
+       if (_tmp25_) {
+#line 1686 "moonshot-identity-management-view.c"
+               IdCard* _tmp26_ = NULL;
+#line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp26_ = id_card;
+#line 260 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               id_card_clear_trust_anchor (_tmp26_);
+#line 1692 "moonshot-identity-management-view.c"
        }
-       {
-               GeeLinkedList* _id_card_list = NULL;
-               GeeLinkedList* _tmp20_ = NULL;
-               GeeLinkedList* _tmp21_ = NULL;
-               gint _id_card_size = 0;
-               GeeLinkedList* _tmp22_ = NULL;
-               gint _tmp23_ = 0;
-               gint _tmp24_ = 0;
-               gint _id_card_index = 0;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp20_ = card_list;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp21_ = _g_object_ref0 (_tmp20_);
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _id_card_list = _tmp21_;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp22_ = _id_card_list;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp23_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp22_);
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp24_ = _tmp23_;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _id_card_size = _tmp24_;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _id_card_index = -1;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               while (TRUE) {
-#line 1404 "moonshot-identity-management-view.c"
-                       gint _tmp25_ = 0;
-                       gint _tmp26_ = 0;
-                       gint _tmp27_ = 0;
-                       IdCard* id_card = NULL;
-                       GeeLinkedList* _tmp28_ = NULL;
-                       gint _tmp29_ = 0;
-                       gpointer _tmp30_ = NULL;
-                       IdCard* _tmp31_ = NULL;
-                       IdCardWidget* id_card_widget = NULL;
-                       IdCard* _tmp32_ = NULL;
-                       IdCardWidget* _tmp33_ = NULL;
-                       IdCardWidget* _tmp34_ = NULL;
-                       IdCard* _tmp35_ = NULL;
-                       IdCard* _tmp36_ = NULL;
-                       const gchar* _tmp37_ = NULL;
-                       const gchar* _tmp38_ = NULL;
-                       const gchar* _tmp39_ = NULL;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp25_ = _id_card_index;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _id_card_index = _tmp25_ + 1;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp26_ = _id_card_index;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp27_ = _id_card_size;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       if (!(_tmp26_ < _tmp27_)) {
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               break;
-#line 1434 "moonshot-identity-management-view.c"
-                       }
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp28_ = _id_card_list;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp29_ = _id_card_index;
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp30_ = gee_abstract_list_get ((GeeAbstractList*) _tmp28_, _tmp29_);
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card = (IdCard*) _tmp30_;
 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp31_ = id_card;
+       _tmp27_ = id_card;
 #line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       identity_manager_view_add_id_card_data (self, _tmp31_);
-#line 264 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp32_ = id_card;
-#line 264 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp33_ = identity_manager_view_add_id_card_widget (self, _tmp32_);
-#line 264 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card_widget = _tmp33_;
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp34_ = id_card_widget;
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp35_ = id_card_widget_get_id_card (_tmp34_);
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp36_ = _tmp35_;
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp37_ = id_card_get_nai (_tmp36_);
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp38_ = _tmp37_;
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp39_ = current_idcard_nai;
-#line 265 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       if (g_strcmp0 (_tmp38_, _tmp39_) == 0) {
-#line 1468 "moonshot-identity-management-view.c"
-                               IdCardWidget* _tmp40_ = NULL;
-                               IdCardWidget* _tmp41_ = NULL;
+       _tmp28_ = _g_object_ref0 (_tmp27_);
+#line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = _tmp28_;
+#line 263 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 1702 "moonshot-identity-management-view.c"
+}
+
+
+static void identity_manager_view_add_id_card_data (IdentityManagerView* self, IdCard* id_card) {
+       GtkTreeIter iter = {0};
+       GdkPixbuf* pixbuf = NULL;
+       GtkListStore* _tmp0_ = NULL;
+       GtkTreeIter _tmp1_ = {0};
+       IdCard* _tmp2_ = NULL;
+       GdkPixbuf* _tmp3_ = NULL;
+       GtkListStore* _tmp4_ = NULL;
+       GtkTreeIter _tmp5_ = {0};
+       IdCard* _tmp6_ = NULL;
+       IdCard* _tmp7_ = NULL;
+       const gchar* _tmp8_ = NULL;
+       const gchar* _tmp9_ = NULL;
+       IdCard* _tmp10_ = NULL;
+       const gchar* _tmp11_ = NULL;
+       const gchar* _tmp12_ = NULL;
+       IdCard* _tmp13_ = NULL;
+       const gchar* _tmp14_ = NULL;
+       const gchar* _tmp15_ = NULL;
 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp40_ = id_card_widget;
+       g_return_if_fail (self != NULL);
 #line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               identity_manager_view_fill_details (self, _tmp40_);
-#line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp41_ = id_card_widget;
-#line 267 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               id_card_widget_expand (_tmp41_);
-#line 1479 "moonshot-identity-management-view.c"
-                       }
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _g_object_unref0 (id_card_widget);
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _g_object_unref0 (id_card);
-#line 1485 "moonshot-identity-management-view.c"
-               }
-#line 262 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (_id_card_list);
-#line 1489 "moonshot-identity-management-view.c"
-       }
-#line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp42_ = self->priv->custom_vbox;
+       g_return_if_fail (id_card != NULL);
 #line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp43_ = custom_vbox_get_current_idcard (_tmp42_);
+       _tmp0_ = self->priv->listmodel;
 #line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp44_ = _tmp43_;
+       gtk_list_store_append (_tmp0_, &_tmp1_);
 #line 270 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp44_ == NULL) {
+       iter = _tmp1_;
 #line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_view_fill_details (self, NULL);
-#line 1501 "moonshot-identity-management-view.c"
-       }
-#line 246 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (card_list);
-#line 246 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_list_free0 (children);
-#line 246 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_free0 (current_idcard_nai);
-#line 1509 "moonshot-identity-management-view.c"
+       _tmp2_ = id_card;
+#line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = get_pixbuf (_tmp2_);
+#line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (pixbuf);
+#line 271 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       pixbuf = _tmp3_;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = self->priv->listmodel;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = iter;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = id_card;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = id_card;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = id_card_get_issuer (_tmp7_);
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = _tmp8_;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = id_card;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = id_card_get_username (_tmp10_);
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = _tmp11_;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = id_card;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = id_card_get_password (_tmp13_);
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = _tmp14_;
+#line 272 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_list_store_set (_tmp4_, &_tmp5_, IDENTITY_MANAGER_VIEW_COLUMNS_IDCARD_COL, _tmp6_, IDENTITY_MANAGER_VIEW_COLUMNS_LOGO_COL, pixbuf, IDENTITY_MANAGER_VIEW_COLUMNS_ISSUER_COL, _tmp9_, IDENTITY_MANAGER_VIEW_COLUMNS_USERNAME_COL, _tmp12_, IDENTITY_MANAGER_VIEW_COLUMNS_PASSWORD_COL, _tmp15_, -1);
+#line 266 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (pixbuf);
+#line 1771 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_fill_details (IdentityManagerView* self, IdCardWidget* id_card_widget) {
-       GList* vr_children = NULL;
-       GtkVBox* _tmp0_ = NULL;
-       GList* _tmp1_ = NULL;
-       GList* _tmp2_ = NULL;
-       IdCardWidget* _tmp5_ = NULL;
-#line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 276 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->vbox_right;
-#line 276 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = gtk_container_get_children ((GtkContainer*) _tmp0_);
-#line 276 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       vr_children = _tmp1_;
-#line 277 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = vr_children;
-#line 1529 "moonshot-identity-management-view.c"
-       {
-               GList* vr_child_collection = NULL;
-               GList* vr_child_it = NULL;
-#line 277 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               vr_child_collection = _tmp2_;
-#line 277 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               for (vr_child_it = vr_child_collection; vr_child_it != NULL; vr_child_it = vr_child_it->next) {
-#line 1537 "moonshot-identity-management-view.c"
-                       GtkWidget* vr_child = NULL;
-#line 277 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       vr_child = (GtkWidget*) vr_child_it->data;
-#line 1541 "moonshot-identity-management-view.c"
-                       {
-                               GtkVBox* _tmp3_ = NULL;
-                               GtkWidget* _tmp4_ = NULL;
-#line 278 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp3_ = self->priv->vbox_right;
-#line 278 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp4_ = vr_child;
-#line 278 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_container_remove ((GtkContainer*) _tmp3_, _tmp4_);
-#line 1551 "moonshot-identity-management-view.c"
-                       }
-               }
-       }
-#line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = id_card_widget;
-#line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp5_ != NULL) {
-#line 1559 "moonshot-identity-management-view.c"
-               IdCard* id_card = NULL;
-               IdCardWidget* _tmp6_ = NULL;
-               IdCard* _tmp7_ = NULL;
-               IdCard* _tmp8_ = NULL;
-               IdCard* _tmp9_ = NULL;
-               IdCard* _tmp10_ = NULL;
-               const gchar* _tmp11_ = NULL;
-               const gchar* _tmp12_ = NULL;
-               GtkVBox* _tmp34_ = NULL;
-               GtkVBox* _tmp35_ = NULL;
-               GList* children = NULL;
-               GtkVBox* _tmp36_ = NULL;
-               GList* _tmp37_ = NULL;
-               GList* _tmp38_ = NULL;
-               IdCardWidget* _tmp41_ = NULL;
-               IdCard* _tmp42_ = NULL;
-               IdCard* _tmp43_ = NULL;
-#line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp6_ = id_card_widget;
-#line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp7_ = id_card_widget_get_id_card (_tmp6_);
-#line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp8_ = _tmp7_;
+static void _identity_manager_view_widget_selected_cb_id_card_widget_expanded (IdCardWidget* _sender, gpointer self) {
+#line 294 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_widget_selected_cb ((IdentityManagerView*) self, _sender);
+#line 1778 "moonshot-identity-management-view.c"
+}
+
+
+static void _identity_manager_view_widget_unselected_cb_id_card_widget_collapsed (IdCardWidget* _sender, gpointer self) {
+#line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_widget_unselected_cb ((IdentityManagerView*) self, _sender);
+#line 1785 "moonshot-identity-management-view.c"
+}
+
+
+static IdCardWidget* identity_manager_view_add_id_card_widget (IdentityManagerView* self, IdCard* id_card) {
+       IdCardWidget* result = NULL;
+       IdCard* _tmp0_ = NULL;
+       const gchar* _tmp2_ = NULL;
+       IdCard* _tmp3_ = NULL;
+       MoonshotLogger* _tmp7_ = NULL;
+       IdCard* _tmp8_ = NULL;
+       const gchar* _tmp9_ = NULL;
+       const gchar* _tmp10_ = NULL;
+       gchar* _tmp11_ = NULL;
+       gchar* _tmp12_ = NULL;
+       IdCardWidget* id_card_widget = NULL;
+       IdCard* _tmp13_ = NULL;
+       IdCardWidget* _tmp14_ = NULL;
+       CustomVBox* _tmp15_ = NULL;
+       IdCardWidget* _tmp16_ = NULL;
+       IdCardWidget* _tmp17_ = NULL;
+       IdCardWidget* _tmp18_ = NULL;
+       gboolean _tmp19_ = FALSE;
+       IdCard* _tmp20_ = NULL;
 #line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = _g_object_ref0 (_tmp8_);
+       g_return_val_if_fail (self != NULL, NULL);
 #line 280 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               id_card = _tmp9_;
-#line 281 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp10_ = id_card;
-#line 281 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp11_ = id_card_get_display_name (_tmp10_);
-#line 281 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp12_ = _tmp11_;
-#line 281 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               if (g_strcmp0 (_tmp12_, ID_CARD_NO_IDENTITY) == 0) {
-#line 1595 "moonshot-identity-management-view.c"
-                       GtkVBox* _tmp13_ = NULL;
-                       GtkLabel* _tmp14_ = NULL;
-#line 282 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp13_ = self->priv->vbox_right;
+       g_return_val_if_fail (id_card != NULL, NULL);
 #line 282 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp14_ = self->priv->no_identity_title;
+       _tmp0_ = id_card;
 #line 282 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_box_pack_start ((GtkBox*) _tmp13_, (GtkWidget*) _tmp14_, FALSE, TRUE, (guint) 0);
-#line 1604 "moonshot-identity-management-view.c"
-               } else {
-                       GtkEntry* _tmp15_ = NULL;
-                       IdCard* _tmp16_ = NULL;
-                       const gchar* _tmp17_ = NULL;
-                       const gchar* _tmp18_ = NULL;
-                       GtkEntry* _tmp19_ = NULL;
-                       IdCard* _tmp20_ = NULL;
-                       const gchar* _tmp21_ = NULL;
-                       const gchar* _tmp22_ = NULL;
-                       const gchar* _tmp23_ = NULL;
-                       IdCard* _tmp24_ = NULL;
-                       const gchar* _tmp25_ = NULL;
-                       const gchar* _tmp26_ = NULL;
-                       GtkEntry* _tmp27_ = NULL;
-                       GtkVBox* _tmp28_ = NULL;
-                       GtkVBox* _tmp29_ = NULL;
-                       GtkCheckButton* _tmp30_ = NULL;
-                       IdCard* _tmp31_ = NULL;
-                       gboolean _tmp32_ = FALSE;
-                       gboolean _tmp33_ = FALSE;
-#line 284 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp15_ = self->priv->issuer_entry;
-#line 284 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp16_ = id_card;
-#line 284 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp17_ = id_card_get_issuer (_tmp16_);
+       if (_tmp0_ == NULL) {
+#line 1817 "moonshot-identity-management-view.c"
+               MoonshotLogger* _tmp1_ = NULL;
+#line 283 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp1_ = identity_manager_view_logger;
+#line 283 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               moonshot_logger_trace (_tmp1_, "add_id_card_widget: id_card == null; returning.", NULL);
 #line 284 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp18_ = _tmp17_;
+               result = NULL;
 #line 284 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_entry_set_text (_tmp15_, _tmp18_);
-#line 285 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp19_ = self->priv->username_entry;
-#line 285 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp20_ = id_card;
-#line 285 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp21_ = id_card_get_username (_tmp20_);
-#line 285 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp22_ = _tmp21_;
-#line 285 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_entry_set_text (_tmp19_, _tmp22_);
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp24_ = id_card;
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp25_ = id_card_get_password (_tmp24_);
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp26_ = _tmp25_;
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp23_ = _tmp26_;
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       if (_tmp23_ == NULL) {
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp23_ = "";
-#line 1657 "moonshot-identity-management-view.c"
-                       }
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp27_ = self->priv->password_entry;
-#line 286 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_entry_set_text (_tmp27_, _tmp23_);
+               return result;
+#line 1827 "moonshot-identity-management-view.c"
+       }
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = self->priv->selected_card;
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp3_ == NULL) {
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp2_ = "[null selection]";
+#line 1835 "moonshot-identity-management-view.c"
+       } else {
+               IdCard* _tmp4_ = NULL;
+               const gchar* _tmp5_ = NULL;
+               const gchar* _tmp6_ = NULL;
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp4_ = self->priv->selected_card;
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp5_ = id_card_get_nai (_tmp4_);
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = _tmp5_;
+#line 289 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp2_ = _tmp6_;
+#line 1848 "moonshot-identity-management-view.c"
+       }
 #line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp28_ = self->priv->vbox_right;
+       _tmp7_ = identity_manager_view_logger;
 #line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp29_ = self->priv->login_vbox;
+       _tmp8_ = id_card;
 #line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_box_pack_start ((GtkBox*) _tmp28_, (GtkWidget*) _tmp29_, FALSE, TRUE, (guint) 0);
-#line 288 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp30_ = self->priv->remember_checkbutton;
-#line 288 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp31_ = id_card;
-#line 288 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp32_ = id_card_get_store_password (_tmp31_);
-#line 288 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp33_ = _tmp32_;
-#line 288 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_toggle_button_set_active ((GtkToggleButton*) _tmp30_, _tmp33_);
-#line 1679 "moonshot-identity-management-view.c"
-               }
-#line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp34_ = self->priv->vbox_right;
-#line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp35_ = self->priv->services_vbox;
-#line 290 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_box_pack_start ((GtkBox*) _tmp34_, (GtkWidget*) _tmp35_, FALSE, TRUE, (guint) 0);
+       _tmp9_ = id_card_get_nai (_tmp8_);
+#line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = _tmp9_;
+#line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = g_strdup_printf ("add_id_card_widget: id_card.nai='%s'; selected nai='%s'", _tmp10_, _tmp2_);
+#line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = _tmp11_;
+#line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp7_, _tmp12_, NULL);
+#line 287 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp12_);
 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp36_ = self->priv->services_internal_vbox;
+       _tmp13_ = id_card;
 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp37_ = gtk_container_get_children ((GtkContainer*) _tmp36_);
+       _tmp14_ = id_card_widget_new (_tmp13_, self);
 #line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               children = _tmp37_;
-#line 293 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp38_ = children;
-#line 1695 "moonshot-identity-management-view.c"
-               {
-                       GList* hbox_collection = NULL;
-                       GList* hbox_it = NULL;
+       g_object_ref_sink (_tmp14_);
+#line 292 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_card_widget = _tmp14_;
 #line 293 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       hbox_collection = _tmp38_;
+       _tmp15_ = self->priv->custom_vbox;
 #line 293 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       for (hbox_it = hbox_collection; hbox_it != NULL; hbox_it = hbox_it->next) {
-#line 1703 "moonshot-identity-management-view.c"
-                               GtkWidget* hbox = NULL;
+       _tmp16_ = id_card_widget;
 #line 293 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               hbox = (GtkWidget*) hbox_it->data;
-#line 1707 "moonshot-identity-management-view.c"
-                               {
-                                       GtkVBox* _tmp39_ = NULL;
-                                       GtkWidget* _tmp40_ = NULL;
-#line 294 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp39_ = self->priv->services_internal_vbox;
+       custom_vbox_add_id_card_widget (_tmp15_, _tmp16_);
 #line 294 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp40_ = hbox;
+       _tmp17_ = id_card_widget;
 #line 294 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       gtk_container_remove ((GtkContainer*) _tmp39_, _tmp40_);
-#line 1717 "moonshot-identity-management-view.c"
-                               }
-                       }
-               }
-#line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp41_ = id_card_widget;
+       g_signal_connect_object (_tmp17_, "expanded", (GCallback) _identity_manager_view_widget_selected_cb_id_card_widget_expanded, self, 0);
 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp42_ = id_card_widget_get_id_card (_tmp41_);
+       _tmp18_ = id_card_widget;
 #line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp43_ = _tmp42_;
-#line 295 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_view_fill_services_vbox (self, _tmp43_);
-#line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_list_free0 (children);
-#line 279 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (id_card);
-#line 1733 "moonshot-identity-management-view.c"
+       g_signal_connect_object (_tmp18_, "collapsed", (GCallback) _identity_manager_view_widget_unselected_cb_id_card_widget_collapsed, self, 0);
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp20_ = self->priv->selected_card;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp20_ != NULL) {
+#line 1892 "moonshot-identity-management-view.c"
+               IdCard* _tmp21_ = NULL;
+               const gchar* _tmp22_ = NULL;
+               const gchar* _tmp23_ = NULL;
+               IdCard* _tmp24_ = NULL;
+               const gchar* _tmp25_ = NULL;
+               const gchar* _tmp26_ = NULL;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp21_ = self->priv->selected_card;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp22_ = id_card_get_nai (_tmp21_);
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = _tmp22_;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24_ = id_card;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp25_ = id_card_get_nai (_tmp24_);
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp26_ = _tmp25_;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = g_strcmp0 (_tmp23_, _tmp26_) == 0;
+#line 1913 "moonshot-identity-management-view.c"
+       } else {
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = FALSE;
+#line 1917 "moonshot-identity-management-view.c"
        }
-#line 274 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_list_free0 (vr_children);
-#line 1737 "moonshot-identity-management-view.c"
-}
-
-
-static void identity_manager_view_show_details (IdentityManagerView* self, IdCard* id_card) {
-       GtkVBox* _tmp0_ = NULL;
-       GtkVBox* _tmp1_ = NULL;
-       gboolean _tmp2_ = FALSE;
-       GtkVBox* _tmp3_ = NULL;
-       gboolean _tmp4_ = FALSE;
+#line 297 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp19_) {
+#line 1921 "moonshot-identity-management-view.c"
+               MoonshotLogger* _tmp27_ = NULL;
+               IdCardWidget* _tmp28_ = NULL;
+               IdCard* _tmp29_ = NULL;
+               IdCard* _tmp30_ = NULL;
+#line 298 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp27_ = identity_manager_view_logger;
+#line 298 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               moonshot_logger_trace (_tmp27_, "add_id_card_widget: Expanding selected idcard widget", NULL);
 #line 299 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
+               _tmp28_ = id_card_widget;
 #line 299 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card != NULL);
-#line 301 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->vbox_right;
-#line 301 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = self->priv->vbox_right;
-#line 301 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = gtk_widget_get_visible ((GtkWidget*) _tmp1_);
-#line 301 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_visible ((GtkWidget*) _tmp0_, !_tmp2_);
-#line 303 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = self->priv->vbox_right;
-#line 303 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = gtk_widget_get_visible ((GtkWidget*) _tmp3_);
-#line 303 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp4_ == FALSE) {
-#line 305 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_window_resize ((GtkWindow*) self, IDENTITY_MANAGER_VIEW_WINDOW_WIDTH, IDENTITY_MANAGER_VIEW_WINDOW_HEIGHT);
-#line 1767 "moonshot-identity-management-view.c"
+               id_card_widget_expand (_tmp28_);
+#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp29_ = id_card;
+#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp30_ = _g_object_ref0 (_tmp29_);
+#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (self->priv->selected_card);
+#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               self->priv->selected_card = _tmp30_;
+#line 1942 "moonshot-identity-management-view.c"
        }
+#line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = id_card_widget;
+#line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 1948 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_details_identity_cb (IdentityManagerView* self, IdCardWidget* id_card_widget) {
-       IdCardWidget* _tmp0_ = NULL;
+static void identity_manager_view_widget_selected_cb (IdentityManagerView* self, IdCardWidget* id_card_widget) {
+       MoonshotLogger* _tmp0_ = NULL;
        IdCardWidget* _tmp1_ = NULL;
        IdCard* _tmp2_ = NULL;
        IdCard* _tmp3_ = NULL;
-#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       const gchar* _tmp4_ = NULL;
+       const gchar* _tmp5_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       gchar* _tmp7_ = NULL;
+       gchar* _tmp8_ = NULL;
+       IdCardWidget* _tmp9_ = NULL;
+       IdCard* _tmp10_ = NULL;
+       IdCard* _tmp11_ = NULL;
+       IdCard* _tmp12_ = NULL;
+       gboolean allow_removes = FALSE;
+       IdCardWidget* _tmp13_ = NULL;
+       IdCard* _tmp14_ = NULL;
+       IdCard* _tmp15_ = NULL;
+       gboolean _tmp16_ = FALSE;
+       GtkButton* _tmp17_ = NULL;
+       gboolean _tmp18_ = FALSE;
+       GtkButton* _tmp19_ = NULL;
+       CustomVBox* _tmp20_ = NULL;
+       IdCardWidget* _tmp21_ = NULL;
+       gboolean _tmp22_ = FALSE;
+#line 314 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 309 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 314 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (id_card_widget != NULL);
-#line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card_widget;
-#line 311 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_fill_details (self, _tmp0_);
-#line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = id_card_widget;
-#line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = id_card_widget_get_id_card (_tmp1_);
-#line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = _tmp2_;
-#line 312 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_show_details (self, _tmp3_);
-#line 1793 "moonshot-identity-management-view.c"
-}
-
-
-static IdCard* identity_manager_view_get_id_card_data (IdentityManagerView* self, AddIdentityDialog* dialog) {
-       IdCard* result = NULL;
-       IdCard* id_card = NULL;
-       IdCard* _tmp0_ = NULL;
-       AddIdentityDialog* _tmp1_ = NULL;
-       const gchar* _tmp2_ = NULL;
-       const gchar* _tmp3_ = NULL;
-       AddIdentityDialog* _tmp4_ = NULL;
-       const gchar* _tmp5_ = NULL;
-       const gchar* _tmp6_ = NULL;
-       AddIdentityDialog* _tmp7_ = NULL;
-       const gchar* _tmp8_ = NULL;
-       const gchar* _tmp9_ = NULL;
-       AddIdentityDialog* _tmp10_ = NULL;
-       const gchar* _tmp11_ = NULL;
-       const gchar* _tmp12_ = NULL;
-       AddIdentityDialog* _tmp13_ = NULL;
-       gboolean _tmp14_ = FALSE;
-       gboolean _tmp15_ = FALSE;
-       gchar** _tmp16_ = NULL;
-       gchar** _tmp17_ = NULL;
-       gint _tmp17__length1 = 0;
-#line 315 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (self != NULL, NULL);
-#line 315 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (dialog != NULL, NULL);
-#line 317 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card_new ();
-#line 317 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card = _tmp0_;
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = id_card_get_display_name (_tmp3_);
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _tmp4_;
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = string_to_string (_tmp5_);
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = g_strconcat ("widget_selected_cb: id_card_widget.id_card.display_name='", _tmp6_, "'", NULL);
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = _tmp7_;
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, _tmp8_, NULL);
+#line 316 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp8_);
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = id_card_widget;
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = id_card_widget_get_id_card (_tmp9_);
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = _tmp10_;
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = _g_object_ref0 (_tmp11_);
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->selected_card);
+#line 318 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->selected_card = _tmp12_;
 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = dialog;
+       _tmp13_ = id_card_widget;
 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = add_identity_dialog_get_display_name (_tmp1_);
+       _tmp14_ = id_card_widget_get_id_card (_tmp13_);
 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _tmp2_;
+       _tmp15_ = _tmp14_;
 #line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_display_name (id_card, _tmp3_);
-#line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = dialog;
+       _tmp16_ = id_card_is_no_identity (_tmp15_);
+#line 319 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       allow_removes = !_tmp16_;
 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = add_identity_dialog_get_issuer (_tmp4_);
+       _tmp17_ = self->priv->remove_button;
 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = _tmp5_;
+       _tmp18_ = allow_removes;
 #line 320 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_issuer (id_card, _tmp6_);
-#line 321 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = dialog;
-#line 321 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = add_identity_dialog_get_username (_tmp7_);
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp17_, _tmp18_);
 #line 321 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = _tmp8_;
+       _tmp19_ = self->priv->edit_button;
 #line 321 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_username (id_card, _tmp9_);
-#line 322 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = dialog;
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp19_, TRUE);
 #line 322 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = add_identity_dialog_get_password (_tmp10_);
+       _tmp20_ = self->priv->custom_vbox;
 #line 322 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = _tmp11_;
+       _tmp21_ = id_card_widget;
 #line 322 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_password (id_card, _tmp12_);
-#line 323 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = dialog;
-#line 323 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = add_identity_dialog_get_store_password (_tmp13_);
-#line 323 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = _tmp14_;
-#line 323 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_store_password (id_card, _tmp15_);
-#line 324 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16_ = g_new0 (gchar*, 0 + 1);
-#line 324 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17_ = _tmp16_;
+       custom_vbox_receive_expanded_event (_tmp20_, _tmp21_);
 #line 324 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17__length1 = 0;
+       _tmp22_ = identity_manager_view_selection_in_progress (self);
 #line 324 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_set_services (id_card, _tmp17_, 0);
-#line 324 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17_ = (_vala_array_free (_tmp17_, _tmp17__length1, (GDestroyNotify) g_free), NULL);
-#line 326 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       result = id_card;
-#line 326 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       return result;
-#line 1881 "moonshot-identity-management-view.c"
+       if (_tmp22_) {
+#line 2045 "moonshot-identity-management-view.c"
+               GtkButton* _tmp23_ = NULL;
+#line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = self->priv->send_button;
+#line 325 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               gtk_widget_set_sensitive ((GtkWidget*) _tmp23_, TRUE);
+#line 2051 "moonshot-identity-management-view.c"
+       }
 }
 
 
-static void identity_manager_view_add_id_card_data (IdentityManagerView* self, IdCard* id_card) {
-       GtkTreeIter iter = {0};
-       GdkPixbuf* pixbuf = NULL;
-       GtkListStore* _tmp0_ = NULL;
-       GtkTreeIter _tmp1_ = {0};
+static void identity_manager_view_widget_unselected_cb (IdentityManagerView* self, IdCardWidget* id_card_widget) {
+       MoonshotLogger* _tmp0_ = NULL;
+       IdCardWidget* _tmp1_ = NULL;
        IdCard* _tmp2_ = NULL;
-       GdkPixbuf* _tmp3_ = NULL;
-       GtkListStore* _tmp4_ = NULL;
-       GtkTreeIter _tmp5_ = {0};
-       IdCard* _tmp6_ = NULL;
-       IdCard* _tmp7_ = NULL;
-       const gchar* _tmp8_ = NULL;
-       const gchar* _tmp9_ = NULL;
-       IdCard* _tmp10_ = NULL;
-       const gchar* _tmp11_ = NULL;
-       const gchar* _tmp12_ = NULL;
-       IdCard* _tmp13_ = NULL;
-       const gchar* _tmp14_ = NULL;
-       const gchar* _tmp15_ = NULL;
-#line 329 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       IdCard* _tmp3_ = NULL;
+       const gchar* _tmp4_ = NULL;
+       const gchar* _tmp5_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       gchar* _tmp7_ = NULL;
+       gchar* _tmp8_ = NULL;
+       GtkButton* _tmp9_ = NULL;
+       GtkButton* _tmp10_ = NULL;
+       CustomVBox* _tmp11_ = NULL;
+       IdCardWidget* _tmp12_ = NULL;
+       GtkButton* _tmp13_ = NULL;
+#line 328 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 329 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card != NULL);
-#line 333 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->listmodel;
+#line 328 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (id_card_widget != NULL);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = id_card_widget;
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = id_card_widget_get_id_card (_tmp1_);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_;
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = id_card_get_display_name (_tmp3_);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _tmp4_;
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = string_to_string (_tmp5_);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = g_strconcat ("widget_unselected_cb: id_card_widget.id_card.display_name='", _tmp6_, "'", NULL);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = _tmp7_;
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, _tmp8_, NULL);
+#line 330 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp8_);
+#line 332 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->selected_card);
+#line 332 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->selected_card = NULL;
 #line 333 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_list_store_append (_tmp0_, &_tmp1_);
+       _tmp9_ = self->priv->remove_button;
 #line 333 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       iter = _tmp1_;
-#line 334 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = id_card;
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp9_, FALSE);
 #line 334 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = get_pixbuf (_tmp2_);
-#line 334 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (pixbuf);
+       _tmp10_ = self->priv->edit_button;
 #line 334 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       pixbuf = _tmp3_;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = self->priv->listmodel;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = iter;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = id_card;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = id_card;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = id_card_get_issuer (_tmp7_);
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = _tmp8_;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = id_card;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = id_card_get_username (_tmp10_);
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp10_, FALSE);
 #line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = _tmp11_;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = id_card;
-#line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = id_card_get_password (_tmp13_);
+       _tmp11_ = self->priv->custom_vbox;
 #line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = _tmp14_;
+       _tmp12_ = id_card_widget;
 #line 335 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_list_store_set (_tmp4_, &_tmp5_, IDENTITY_MANAGER_VIEW_COLUMNS_IDCARD_COL, _tmp6_, IDENTITY_MANAGER_VIEW_COLUMNS_LOGO_COL, pixbuf, IDENTITY_MANAGER_VIEW_COLUMNS_ISSUER_COL, _tmp9_, IDENTITY_MANAGER_VIEW_COLUMNS_USERNAME_COL, _tmp12_, IDENTITY_MANAGER_VIEW_COLUMNS_PASSWORD_COL, _tmp15_, -1);
-#line 329 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (pixbuf);
-#line 1950 "moonshot-identity-management-view.c"
+       custom_vbox_receive_collapsed_event (_tmp11_, _tmp12_);
+#line 337 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = self->priv->send_button;
+#line 337 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp13_, FALSE);
+#line 2119 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_remove_id_card_data (IdentityManagerView* self, IdCard* id_card) {
-       GtkTreeIter iter = {0};
-       gchar* issuer = NULL;
-       GtkListStore* _tmp0_ = NULL;
-       GtkTreeIter _tmp1_ = {0};
-       gboolean _tmp2_ = FALSE;
-#line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card != NULL);
-#line 348 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->listmodel;
-#line 348 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp0_, &_tmp1_);
-#line 348 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       iter = _tmp1_;
-#line 348 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp2_) {
-#line 1972 "moonshot-identity-management-view.c"
-               {
-                       gboolean _tmp3_ = FALSE;
-#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp3_ = TRUE;
-#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       while (TRUE) {
-#line 1979 "moonshot-identity-management-view.c"
-                               GtkListStore* _tmp6_ = NULL;
-                               GtkTreeIter _tmp7_ = {0};
-                               IdCard* _tmp8_ = NULL;
-                               const gchar* _tmp9_ = NULL;
-                               const gchar* _tmp10_ = NULL;
-                               const gchar* _tmp11_ = NULL;
-#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               if (!_tmp3_) {
-#line 1988 "moonshot-identity-management-view.c"
-                                       GtkListStore* _tmp4_ = NULL;
-                                       gboolean _tmp5_ = FALSE;
-#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp4_ = self->priv->listmodel;
-#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp5_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp4_, &iter);
-#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       if (!_tmp5_) {
-#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               break;
-#line 1999 "moonshot-identity-management-view.c"
-                                       }
-                               }
-#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp3_ = FALSE;
-#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp6_ = self->priv->listmodel;
-#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp7_ = iter;
-#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_tree_model_get ((GtkTreeModel*) _tmp6_, &_tmp7_, IDENTITY_MANAGER_VIEW_COLUMNS_ISSUER_COL, &issuer, -1);
-#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp8_ = id_card;
-#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp9_ = id_card_get_issuer (_tmp8_);
-#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp10_ = _tmp9_;
-#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp11_ = issuer;
-#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               if (g_strcmp0 (_tmp10_, _tmp11_) == 0) {
-#line 2020 "moonshot-identity-management-view.c"
-                                       GtkListStore* _tmp12_ = NULL;
-                                       GtkTreeIter _tmp13_ = {0};
-#line 357 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp12_ = self->priv->listmodel;
-#line 357 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp13_ = iter;
-#line 357 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       gtk_list_store_remove (_tmp12_, &_tmp13_);
-#line 358 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       break;
-#line 2031 "moonshot-identity-management-view.c"
-                               }
-                       }
-               }
+static gchar* bool_to_string (gboolean self) {
+       gchar* result = NULL;
+#line 37 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+       if (self) {
+#line 2127 "moonshot-identity-management-view.c"
+               gchar* _tmp0_ = NULL;
+#line 38 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               _tmp0_ = g_strdup ("true");
+#line 38 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               result = _tmp0_;
+#line 38 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               return result;
+#line 2135 "moonshot-identity-management-view.c"
+       } else {
+               gchar* _tmp1_ = NULL;
+#line 40 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               _tmp1_ = g_strdup ("false");
+#line 40 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               result = _tmp1_;
+#line 40 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
+               return result;
+#line 2144 "moonshot-identity-management-view.c"
        }
-#line 343 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_free0 (issuer);
-#line 2038 "moonshot-identity-management-view.c"
-}
-
-
-static void _identity_manager_view_details_identity_cb_id_card_widget_details_id (IdCardWidget* _sender, gpointer self) {
-#line 369 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_details_identity_cb ((IdentityManagerView*) self, _sender);
-#line 2045 "moonshot-identity-management-view.c"
-}
-
-
-static void _identity_manager_view_remove_identity_cb_id_card_widget_remove_id (IdCardWidget* _sender, gpointer self) {
-#line 370 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_remove_identity_cb ((IdentityManagerView*) self, _sender);
-#line 2052 "moonshot-identity-management-view.c"
-}
-
-
-static void __lambda6_ (IdentityManagerView* self, IdCardWidget* w) {
-       IdCardWidget* _tmp0_ = NULL;
-       IdCard* _tmp1_ = NULL;
-       IdCard* _tmp2_ = NULL;
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (w != NULL);
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = w;
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_widget_get_id_card (_tmp0_);
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _tmp1_;
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_send_identity_cb (self, _tmp2_);
-#line 2070 "moonshot-identity-management-view.c"
-}
-
-
-static void ___lambda6__id_card_widget_send_id (IdCardWidget* _sender, gpointer self) {
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       __lambda6_ ((IdentityManagerView*) self, _sender);
-#line 2077 "moonshot-identity-management-view.c"
-}
-
-
-static void _custom_vbox_receive_expanded_event_id_card_widget_expanded (IdCardWidget* _sender, gpointer self) {
-#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       custom_vbox_receive_expanded_event ((CustomVBox*) self, _sender);
-#line 2084 "moonshot-identity-management-view.c"
-}
-
-
-static void _identity_manager_view_fill_details_id_card_widget_expanded (IdCardWidget* _sender, gpointer self) {
-#line 373 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_fill_details ((IdentityManagerView*) self, _sender);
-#line 2091 "moonshot-identity-management-view.c"
-}
-
-
-static IdCardWidget* identity_manager_view_add_id_card_widget (IdentityManagerView* self, IdCard* id_card) {
-       IdCardWidget* result = NULL;
-       IdCardWidget* id_card_widget = NULL;
-       IdCard* _tmp0_ = NULL;
-       IdCardWidget* _tmp1_ = NULL;
-       CustomVBox* _tmp2_ = NULL;
-       CustomVBox* _tmp3_ = NULL;
-#line 365 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (self != NULL, NULL);
-#line 365 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (id_card != NULL, NULL);
-#line 367 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card;
-#line 367 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_widget_new (_tmp0_);
-#line 367 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp1_);
-#line 367 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card_widget = _tmp1_;
-#line 368 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = self->priv->custom_vbox;
-#line 368 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       custom_vbox_add_id_card_widget (_tmp2_, id_card_widget);
-#line 369 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (id_card_widget, "details-id", (GCallback) _identity_manager_view_details_identity_cb_id_card_widget_details_id, self, 0);
-#line 370 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (id_card_widget, "remove-id", (GCallback) _identity_manager_view_remove_identity_cb_id_card_widget_remove_id, self, 0);
-#line 371 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (id_card_widget, "send-id", (GCallback) ___lambda6__id_card_widget_send_id, self, 0);
-#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = self->priv->custom_vbox;
-#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (id_card_widget, "expanded", (GCallback) _custom_vbox_receive_expanded_event_id_card_widget_expanded, _tmp3_, 0);
-#line 373 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (id_card_widget, "expanded", (GCallback) _identity_manager_view_fill_details_id_card_widget_expanded, self, 0);
-#line 374 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       result = id_card_widget;
-#line 374 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       return result;
-#line 2134 "moonshot-identity-management-view.c"
 }
 
 
-gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard* id_card, gboolean force_flat_file_store) {
+gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard* id_card, gboolean force_flat_file_store, GeeArrayList** old_duplicates) {
+       GeeArrayList* _vala_old_duplicates = NULL;
        gboolean result = FALSE;
        GtkMessageDialog* dialog = NULL;
        IdCard* prev_id = NULL;
@@ -2144,1665 +2161,1552 @@ gboolean identity_manager_view_add_identity (IdentityManagerView* self, IdCard*
        const gchar* _tmp3_ = NULL;
        gboolean _tmp4_ = FALSE;
        IdCard* _tmp5_ = NULL;
-       IdCard* _tmp6_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       IdCard* _tmp7_ = NULL;
+       MoonshotLogger* _tmp11_ = NULL;
+       gboolean _tmp12_ = FALSE;
+       gchar* _tmp13_ = NULL;
+       gchar* _tmp14_ = NULL;
+       IdCard* _tmp15_ = NULL;
+       const gchar* _tmp16_ = NULL;
+       const gchar* _tmp17_ = NULL;
+       gchar* _tmp18_ = NULL;
+       gchar* _tmp19_ = NULL;
+       IdCard* _tmp20_ = NULL;
        gint ret = 0;
-       GtkMessageDialog* _tmp36_ = NULL;
-       gint _tmp37_ = 0;
-       GtkMessageDialog* _tmp38_ = NULL;
-       gint _tmp39_ = 0;
-#line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       GtkMessageDialog* _tmp57_ = NULL;
+       gint _tmp58_ = 0;
+       GtkMessageDialog* _tmp59_ = NULL;
+       gint _tmp60_ = 0;
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (self != NULL, FALSE);
-#line 377 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (id_card != NULL, FALSE);
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = self->identities_manager;
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = id_card;
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = id_card_get_nai (_tmp1_);
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = _tmp2_;
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp4_ = force_flat_file_store;
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp5_ = identity_manager_model_find_id_card (_tmp0_, _tmp3_, _tmp4_);
-#line 387 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 350 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        prev_id = _tmp5_;
-#line 388 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = prev_id;
-#line 388 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp6_ != NULL) {
-#line 2176 "moonshot-identity-management-view.c"
-               gint flags = 0;
-               IdCard* _tmp7_ = NULL;
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = prev_id;
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp7_ != NULL) {
+#line 2199 "moonshot-identity-management-view.c"
                IdCard* _tmp8_ = NULL;
-               gint _tmp9_ = 0;
-               gint _tmp10_ = 0;
-#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp7_ = prev_id;
-#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp8_ = id_card;
-#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = id_card_Compare (_tmp7_, _tmp8_);
-#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               flags = _tmp9_;
-#line 390 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp10_ = flags;
-#line 390 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               if (_tmp10_ == 0) {
-#line 391 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               const gchar* _tmp9_ = NULL;
+               const gchar* _tmp10_ = NULL;
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp8_ = prev_id;
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = id_card_get_display_name (_tmp8_);
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = _tmp9_;
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = _tmp10_;
+#line 2211 "moonshot-identity-management-view.c"
+       } else {
+#line 352 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = "null";
+#line 2215 "moonshot-identity-management-view.c"
+       }
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = identity_manager_view_logger;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = force_flat_file_store;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = bool_to_string (_tmp12_);
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = _tmp13_;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = id_card;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp16_ = id_card_get_display_name (_tmp15_);
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp17_ = _tmp16_;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp18_ = g_strdup_printf ("add_identity(flat=%s, card='%s'): find_id_card returned %s", _tmp14_, _tmp17_, _tmp6_);
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp19_ = _tmp18_;
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp11_, _tmp19_, NULL);
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp19_);
+#line 351 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp14_);
+#line 353 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp20_ = prev_id;
+#line 353 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp20_ != NULL) {
+#line 2245 "moonshot-identity-management-view.c"
+               gint flags = 0;
+               IdCard* _tmp21_ = NULL;
+               IdCard* _tmp22_ = NULL;
+               gint _tmp23_ = 0;
+               MoonshotLogger* _tmp24_ = NULL;
+               gint _tmp25_ = 0;
+               gchar* _tmp26_ = NULL;
+               gchar* _tmp27_ = NULL;
+               gchar* _tmp28_ = NULL;
+               gchar* _tmp29_ = NULL;
+               gint _tmp30_ = 0;
+#line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp21_ = prev_id;
+#line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp22_ = id_card;
+#line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = id_card_Compare (_tmp21_, _tmp22_);
+#line 354 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               flags = _tmp23_;
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24_ = identity_manager_view_logger;
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp25_ = flags;
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp26_ = g_strdup_printf ("%i", _tmp25_);
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp27_ = _tmp26_;
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp28_ = g_strconcat ("add_identity: compare returned ", _tmp27_, NULL);
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp29_ = _tmp28_;
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               moonshot_logger_trace (_tmp24_, _tmp29_, NULL);
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp29_);
+#line 355 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp27_);
+#line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp30_ = flags;
+#line 356 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (_tmp30_ == 0) {
+#line 357 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       if ((&_vala_old_duplicates) != NULL) {
+#line 2289 "moonshot-identity-management-view.c"
+                               GeeArrayList* _tmp31_ = NULL;
+#line 358 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp31_ = gee_array_list_new (TYPE_ID_CARD, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 358 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _g_object_unref0 (_vala_old_duplicates);
+#line 358 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _vala_old_duplicates = _tmp31_;
+#line 2297 "moonshot-identity-management-view.c"
+                       }
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        result = FALSE;
-#line 391 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _g_object_unref0 (prev_id);
-#line 391 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _g_object_unref0 (dialog);
-#line 391 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       if (old_duplicates) {
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               *old_duplicates = _vala_old_duplicates;
+#line 2309 "moonshot-identity-management-view.c"
+                       } else {
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _g_object_unref0 (_vala_old_duplicates);
+#line 2313 "moonshot-identity-management-view.c"
+                       }
+#line 361 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        return result;
-#line 2202 "moonshot-identity-management-view.c"
+#line 2317 "moonshot-identity-management-view.c"
                } else {
-                       gint _tmp11_ = 0;
-#line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp11_ = flags;
-#line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       if ((_tmp11_ & (1 << ID_CARD_DIFF_FLAGS_DISPLAY_NAME)) != 0) {
-#line 2209 "moonshot-identity-management-view.c"
-                               const gchar* _tmp12_ = NULL;
-                               IdCard* _tmp13_ = NULL;
-                               const gchar* _tmp14_ = NULL;
-                               const gchar* _tmp15_ = NULL;
-                               IdCard* _tmp16_ = NULL;
-                               const gchar* _tmp17_ = NULL;
-                               const gchar* _tmp18_ = NULL;
-                               IdCard* _tmp19_ = NULL;
-                               const gchar* _tmp20_ = NULL;
-                               const gchar* _tmp21_ = NULL;
-                               GtkMessageDialog* _tmp22_ = NULL;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp12_ = _ ("Would you like to replace ID Card '%s' using nai '%s' with the new ID " \
+                       gint _tmp32_ = 0;
+#line 362 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp32_ = flags;
+#line 362 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       if ((_tmp32_ & (1 << ID_CARD_DIFF_FLAGS_DISPLAY_NAME)) != 0) {
+#line 2324 "moonshot-identity-management-view.c"
+                               const gchar* _tmp33_ = NULL;
+                               IdCard* _tmp34_ = NULL;
+                               const gchar* _tmp35_ = NULL;
+                               const gchar* _tmp36_ = NULL;
+                               IdCard* _tmp37_ = NULL;
+                               const gchar* _tmp38_ = NULL;
+                               const gchar* _tmp39_ = NULL;
+                               IdCard* _tmp40_ = NULL;
+                               const gchar* _tmp41_ = NULL;
+                               const gchar* _tmp42_ = NULL;
+                               GtkMessageDialog* _tmp43_ = NULL;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp33_ = _ ("Would you like to replace ID Card '%s' using nai '%s' with the new ID " \
 "Card '%s'?");
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp13_ = prev_id;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp14_ = id_card_get_display_name (_tmp13_);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp15_ = _tmp14_;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp16_ = prev_id;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp17_ = id_card_get_nai (_tmp16_);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp18_ = _tmp17_;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp19_ = id_card;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp20_ = id_card_get_display_name (_tmp19_);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp21_ = _tmp20_;
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp22_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp12_, _tmp15_, _tmp18_, _tmp21_);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_object_ref_sink (_tmp22_);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp34_ = prev_id;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp35_ = id_card_get_display_name (_tmp34_);
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp36_ = _tmp35_;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp37_ = prev_id;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp38_ = id_card_get_nai (_tmp37_);
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp39_ = _tmp38_;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp40_ = id_card;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp41_ = id_card_get_display_name (_tmp40_);
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp42_ = _tmp41_;
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp43_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp33_, _tmp36_, _tmp39_, _tmp42_);
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               g_object_ref_sink (_tmp43_);
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _g_object_unref0 (dialog);
-#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               dialog = _tmp22_;
-#line 2249 "moonshot-identity-management-view.c"
+#line 363 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               dialog = _tmp43_;
+#line 2364 "moonshot-identity-management-view.c"
                        } else {
-                               const gchar* _tmp23_ = NULL;
-                               IdCard* _tmp24_ = NULL;
-                               const gchar* _tmp25_ = NULL;
-                               const gchar* _tmp26_ = NULL;
-                               IdCard* _tmp27_ = NULL;
-                               const gchar* _tmp28_ = NULL;
-                               const gchar* _tmp29_ = NULL;
-                               GtkMessageDialog* _tmp30_ = NULL;
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp23_ = _ ("Would you like to update ID Card '%s' using nai '%s'?");
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp24_ = id_card;
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp25_ = id_card_get_display_name (_tmp24_);
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp26_ = _tmp25_;
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp27_ = id_card;
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp28_ = id_card_get_nai (_tmp27_);
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp29_ = _tmp28_;
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp30_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp23_, _tmp26_, _tmp29_);
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_object_ref_sink (_tmp30_);
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               const gchar* _tmp44_ = NULL;
+                               IdCard* _tmp45_ = NULL;
+                               const gchar* _tmp46_ = NULL;
+                               const gchar* _tmp47_ = NULL;
+                               IdCard* _tmp48_ = NULL;
+                               const gchar* _tmp49_ = NULL;
+                               const gchar* _tmp50_ = NULL;
+                               GtkMessageDialog* _tmp51_ = NULL;
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp44_ = _ ("Would you like to update ID Card '%s' using nai '%s'?");
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp45_ = id_card;
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp46_ = id_card_get_display_name (_tmp45_);
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp47_ = _tmp46_;
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp48_ = id_card;
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp49_ = id_card_get_nai (_tmp48_);
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp50_ = _tmp49_;
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp51_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp44_, _tmp47_, _tmp50_);
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               g_object_ref_sink (_tmp51_);
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                _g_object_unref0 (dialog);
-#line 402 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               dialog = _tmp30_;
-#line 2281 "moonshot-identity-management-view.c"
+#line 372 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               dialog = _tmp51_;
+#line 2396 "moonshot-identity-management-view.c"
                        }
                }
        } else {
-               const gchar* _tmp31_ = NULL;
-               IdCard* _tmp32_ = NULL;
-               const gchar* _tmp33_ = NULL;
-               const gchar* _tmp34_ = NULL;
-               GtkMessageDialog* _tmp35_ = NULL;
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp31_ = _ ("Would you like to add '%s' ID Card to the ID Card Organizer?");
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp32_ = id_card;
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp33_ = id_card_get_display_name (_tmp32_);
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp34_ = _tmp33_;
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp35_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp31_, _tmp34_);
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               g_object_ref_sink (_tmp35_);
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               const gchar* _tmp52_ = NULL;
+               IdCard* _tmp53_ = NULL;
+               const gchar* _tmp54_ = NULL;
+               const gchar* _tmp55_ = NULL;
+               GtkMessageDialog* _tmp56_ = NULL;
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp52_ = _ ("Would you like to add '%s' ID Card to the ID Card Organizer?");
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp53_ = id_card;
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp54_ = id_card_get_display_name (_tmp53_);
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp55_ = _tmp54_;
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp56_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp52_, _tmp55_);
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               g_object_ref_sink (_tmp56_);
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (dialog);
-#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               dialog = _tmp35_;
-#line 2306 "moonshot-identity-management-view.c"
+#line 381 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               dialog = _tmp56_;
+#line 2421 "moonshot-identity-management-view.c"
        }
-#line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp36_ = dialog;
-#line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp37_ = gtk_dialog_run ((GtkDialog*) _tmp36_);
-#line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       ret = _tmp37_;
-#line 419 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp38_ = dialog;
-#line 419 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_object_destroy ((GtkObject*) _tmp38_);
-#line 422 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp39_ = ret;
-#line 422 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp39_ == ((gint) GTK_RESPONSE_YES)) {
-#line 2322 "moonshot-identity-management-view.c"
-               IdentityManagerModel* _tmp40_ = NULL;
-               IdCard* _tmp41_ = NULL;
-               gboolean _tmp42_ = FALSE;
-#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp40_ = self->identities_manager;
-#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp41_ = id_card;
-#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp42_ = force_flat_file_store;
-#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_model_add_card (_tmp40_, _tmp41_, _tmp42_);
-#line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 388 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp57_ = dialog;
+#line 388 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp58_ = gtk_dialog_run ((GtkDialog*) _tmp57_);
+#line 388 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       ret = _tmp58_;
+#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp59_ = dialog;
+#line 389 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_object_destroy ((GtkObject*) _tmp59_);
+#line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp60_ = ret;
+#line 392 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp60_ == ((gint) GTK_RESPONSE_YES)) {
+#line 2437 "moonshot-identity-management-view.c"
+               IdentityManagerModel* _tmp61_ = NULL;
+               IdCard* _tmp62_ = NULL;
+               gboolean _tmp63_ = FALSE;
+               GeeArrayList* _tmp64_ = NULL;
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp61_ = self->identities_manager;
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp62_ = id_card;
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp63_ = force_flat_file_store;
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               identity_manager_model_add_card (_tmp61_, _tmp62_, _tmp63_, &_tmp64_);
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_vala_old_duplicates);
+#line 393 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _vala_old_duplicates = _tmp64_;
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                result = TRUE;
-#line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (prev_id);
-#line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (dialog);
-#line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (old_duplicates) {
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       *old_duplicates = _vala_old_duplicates;
+#line 2464 "moonshot-identity-management-view.c"
+               } else {
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_vala_old_duplicates);
+#line 2468 "moonshot-identity-management-view.c"
+               }
+#line 394 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               return result;
+#line 2472 "moonshot-identity-management-view.c"
+       } else {
+#line 397 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if ((&_vala_old_duplicates) != NULL) {
+#line 2476 "moonshot-identity-management-view.c"
+                       GeeArrayList* _tmp65_ = NULL;
+#line 398 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp65_ = gee_array_list_new (TYPE_ID_CARD, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 398 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_vala_old_duplicates);
+#line 398 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _vala_old_duplicates = _tmp65_;
+#line 2484 "moonshot-identity-management-view.c"
+               }
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               result = FALSE;
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (prev_id);
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (dialog);
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (old_duplicates) {
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       *old_duplicates = _vala_old_duplicates;
+#line 2496 "moonshot-identity-management-view.c"
+               } else {
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_vala_old_duplicates);
+#line 2500 "moonshot-identity-management-view.c"
+               }
+#line 400 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                return result;
-#line 2342 "moonshot-identity-management-view.c"
+#line 2504 "moonshot-identity-management-view.c"
        }
-#line 427 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       result = FALSE;
-#line 427 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (prev_id);
-#line 427 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (dialog);
-#line 427 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       return result;
-#line 2352 "moonshot-identity-management-view.c"
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (old_duplicates) {
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               *old_duplicates = _vala_old_duplicates;
+#line 2514 "moonshot-identity-management-view.c"
+       } else {
+#line 340 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_vala_old_duplicates);
+#line 2518 "moonshot-identity-management-view.c"
+       }
 }
 
 
-static void identity_manager_view_add_identity_manual_cb (IdentityManagerView* self) {
-       AddIdentityDialog* dialog = NULL;
-       AddIdentityDialog* _tmp0_ = NULL;
+static void identity_manager_view_add_identity_cb (IdentityManagerView* self) {
+       IdentityDialog* dialog = NULL;
+       IdentityDialog* _tmp0_ = NULL;
        gint _result_ = 0;
        gint _tmp5_ = 0;
-       AddIdentityDialog* _tmp10_ = NULL;
-#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       IdentityDialog* _tmp12_ = NULL;
+#line 404 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 432 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = add_identity_dialog_new ();
-#line 432 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 406 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_dialog_new (self);
+#line 406 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_object_ref_sink (_tmp0_);
-#line 432 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 406 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        dialog = _tmp0_;
-#line 433 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 407 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _result_ = (gint) GTK_RESPONSE_CANCEL;
-#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        while (TRUE) {
-#line 2374 "moonshot-identity-management-view.c"
-               AddIdentityDialog* _tmp1_ = NULL;
+#line 2541 "moonshot-identity-management-view.c"
+               IdentityDialog* _tmp1_ = NULL;
                gboolean _tmp2_ = FALSE;
-               AddIdentityDialog* _tmp3_ = NULL;
+               IdentityDialog* _tmp3_ = NULL;
                gint _tmp4_ = 0;
-#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp1_ = dialog;
-#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp2_ = _tmp1_->complete;
-#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                if (!(!_tmp2_)) {
-#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 408 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        break;
-#line 2387 "moonshot-identity-management-view.c"
+#line 2554 "moonshot-identity-management-view.c"
                }
-#line 435 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp3_ = dialog;
-#line 435 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp4_ = gtk_dialog_run ((GtkDialog*) _tmp3_);
-#line 435 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 409 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _result_ = _tmp4_;
-#line 2395 "moonshot-identity-management-view.c"
+#line 2562 "moonshot-identity-management-view.c"
        }
-#line 437 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp5_ = _result_;
-#line 437 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        switch (_tmp5_) {
-#line 437 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 411 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                case GTK_RESPONSE_OK:
-#line 2403 "moonshot-identity-management-view.c"
+#line 2570 "moonshot-identity-management-view.c"
                {
                        IdentityManagerModel* _tmp6_ = NULL;
-                       AddIdentityDialog* _tmp7_ = NULL;
+                       IdentityDialog* _tmp7_ = NULL;
                        IdCard* _tmp8_ = NULL;
                        IdCard* _tmp9_ = NULL;
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       IdCard* _tmp10_ = NULL;
+                       IdCard* _tmp11_ = NULL;
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _tmp6_ = self->identities_manager;
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _tmp7_ = dialog;
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp8_ = identity_manager_view_get_id_card_data (self, _tmp7_);
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp8_ = id_card_new ();
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _tmp9_ = _tmp8_;
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       identity_manager_model_add_card (_tmp6_, _tmp9_, FALSE);
-#line 439 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp10_ = identity_manager_view_update_id_card_data (self, _tmp7_, _tmp9_);
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp11_ = _tmp10_;
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       identity_manager_model_add_card (_tmp6_, _tmp11_, FALSE, NULL);
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_tmp11_);
+#line 413 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        _g_object_unref0 (_tmp9_);
-#line 440 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 414 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        break;
-#line 2423 "moonshot-identity-management-view.c"
+#line 2598 "moonshot-identity-management-view.c"
                }
                default:
                {
-#line 442 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 416 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                        break;
-#line 2429 "moonshot-identity-management-view.c"
+#line 2604 "moonshot-identity-management-view.c"
                }
        }
-#line 444 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = dialog;
-#line 444 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_object_destroy ((GtkObject*) _tmp10_);
-#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = dialog;
+#line 418 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_object_destroy ((GtkObject*) _tmp12_);
+#line 404 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (dialog);
-#line 2438 "moonshot-identity-management-view.c"
+#line 2613 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_remove_id_card_widget (IdentityManagerView* self, IdCardWidget* id_card_widget) {
-       CustomVBox* _tmp0_ = NULL;
-       IdCardWidget* _tmp1_ = NULL;
-#line 447 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void identity_manager_view_edit_identity_cb (IdentityManagerView* self, IdCard* card) {
+       IdentityDialog* dialog = NULL;
+       IdCard* _tmp0_ = NULL;
+       const gchar* _tmp1_ = NULL;
+       IdentityDialog* _tmp2_ = NULL;
+       gint _result_ = 0;
+       gint _tmp7_ = 0;
+       IdentityDialog* _tmp15_ = NULL;
+#line 421 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 447 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card_widget != NULL);
-#line 448 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->custom_vbox;
-#line 448 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_widget;
-#line 448 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       custom_vbox_remove_id_card_widget (_tmp0_, _tmp1_);
-#line 2455 "moonshot-identity-management-view.c"
+#line 421 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (card != NULL);
+#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = card;
+#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = _ ("Edit Identity");
+#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = identity_dialog_new_with_idcard (_tmp0_, _tmp1_, self);
+#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp2_);
+#line 423 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       dialog = _tmp2_;
+#line 424 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _result_ = (gint) GTK_RESPONSE_CANCEL;
+#line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       while (TRUE) {
+#line 2643 "moonshot-identity-management-view.c"
+               IdentityDialog* _tmp3_ = NULL;
+               gboolean _tmp4_ = FALSE;
+               IdentityDialog* _tmp5_ = NULL;
+               gint _tmp6_ = 0;
+#line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp3_ = dialog;
+#line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp4_ = _tmp3_->complete;
+#line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (!(!_tmp4_)) {
+#line 425 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       break;
+#line 2656 "moonshot-identity-management-view.c"
+               }
+#line 426 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp5_ = dialog;
+#line 426 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = gtk_dialog_run ((GtkDialog*) _tmp5_);
+#line 426 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _result_ = _tmp6_;
+#line 2664 "moonshot-identity-management-view.c"
+       }
+#line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = _result_;
+#line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       switch (_tmp7_) {
+#line 428 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               case GTK_RESPONSE_OK:
+#line 2672 "moonshot-identity-management-view.c"
+               {
+                       IdentityManagerModel* _tmp8_ = NULL;
+                       IdentityDialog* _tmp9_ = NULL;
+                       IdCard* _tmp10_ = NULL;
+                       IdCard* _tmp11_ = NULL;
+                       IdCard* _tmp12_ = NULL;
+                       IdCard* _tmp13_ = NULL;
+                       IdCard* _tmp14_ = NULL;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp8_ = self->identities_manager;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp9_ = dialog;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp10_ = card;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp11_ = identity_manager_view_update_id_card_data (self, _tmp9_, _tmp10_);
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp12_ = _tmp11_;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp13_ = identity_manager_model_update_card (_tmp8_, _tmp12_);
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp14_ = _tmp13_;
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_tmp14_);
+#line 430 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (_tmp12_);
+#line 433 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       identity_manager_view_report_duplicate_nais (self);
+#line 434 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       break;
+#line 2703 "moonshot-identity-management-view.c"
+               }
+               default:
+               {
+#line 436 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       break;
+#line 2709 "moonshot-identity-management-view.c"
+               }
+       }
+#line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = dialog;
+#line 438 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_object_destroy ((GtkObject*) _tmp15_);
+#line 421 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (dialog);
+#line 2718 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_remove_identity (IdentityManagerView* self, IdCardWidget* id_card_widget) {
-       IdCard* id_card = NULL;
-       IdCardWidget* _tmp0_ = NULL;
+static void identity_manager_view_remove_identity (IdentityManagerView* self, IdCard* id_card) {
+       MoonshotLogger* _tmp0_ = NULL;
        IdCard* _tmp1_ = NULL;
-       IdCard* _tmp2_ = NULL;
-       IdCard* _tmp3_ = NULL;
-       IdCardWidget* _tmp4_ = NULL;
-       IdentityManagerModel* _tmp5_ = NULL;
-#line 451 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       const gchar* _tmp2_ = NULL;
+       const gchar* _tmp3_ = NULL;
+       const gchar* _tmp4_ = NULL;
+       gchar* _tmp5_ = NULL;
+       gchar* _tmp6_ = NULL;
+       IdentityManagerModel* _tmp7_ = NULL;
+       IdCard* _tmp8_ = NULL;
+       GtkButton* _tmp9_ = NULL;
+       GtkButton* _tmp10_ = NULL;
+       GtkButton* _tmp11_ = NULL;
+#line 441 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
+#line 441 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (id_card != NULL);
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = id_card;
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = id_card_get_display_name (_tmp1_);
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_;
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = string_to_string (_tmp3_);
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = g_strconcat ("remove_identity: id_card.display_name='", _tmp4_, "'", NULL);
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = _tmp5_;
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, _tmp6_, NULL);
+#line 443 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp6_);
+#line 445 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->selected_card);
+#line 445 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->selected_card = NULL;
+#line 446 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = self->identities_manager;
+#line 446 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = id_card;
+#line 446 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_model_remove_card (_tmp7_, _tmp8_);
+#line 449 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = self->priv->edit_button;
+#line 449 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp9_, FALSE);
+#line 450 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = self->priv->remove_button;
+#line 450 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp10_, FALSE);
 #line 451 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card_widget != NULL);
-#line 453 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card_widget;
-#line 453 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_widget_get_id_card (_tmp0_);
-#line 453 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _tmp1_;
-#line 453 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _g_object_ref0 (_tmp2_);
-#line 453 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card = _tmp3_;
-#line 454 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = id_card_widget;
-#line 454 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_remove_id_card_widget (self, _tmp4_);
-#line 456 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = self->identities_manager;
-#line 456 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_model_remove_card (_tmp5_, id_card);
+       _tmp11_ = self->priv->send_button;
 #line 451 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (id_card);
-#line 2491 "moonshot-identity-management-view.c"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp11_, FALSE);
+#line 2779 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_redraw_id_card_widgets (IdentityManagerView* self) {
        GtkTreeIter iter = {0};
        IdCard* id_card = NULL;
-       GList* children = NULL;
        CustomVBox* _tmp0_ = NULL;
-       GList* _tmp1_ = NULL;
-       GList* _tmp2_ = NULL;
-       GtkTreeModelFilter* _tmp4_ = NULL;
-       GtkTreeIter _tmp5_ = {0};
-       gboolean _tmp6_ = FALSE;
-#line 459 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       GtkTreeModelFilter* _tmp1_ = NULL;
+       GtkTreeIter _tmp2_ = {0};
+       gboolean _tmp3_ = FALSE;
+#line 454 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 464 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 459 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = self->priv->custom_vbox;
-#line 464 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = gtk_container_get_children ((GtkContainer*) _tmp0_);
-#line 464 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       children = _tmp1_;
-#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = children;
-#line 2515 "moonshot-identity-management-view.c"
-       {
-               GList* id_card_widget_collection = NULL;
-               GList* id_card_widget_it = NULL;
-#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               id_card_widget_collection = _tmp2_;
-#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               for (id_card_widget_it = id_card_widget_collection; id_card_widget_it != NULL; id_card_widget_it = id_card_widget_it->next) {
-#line 2523 "moonshot-identity-management-view.c"
-                       GtkWidget* id_card_widget = NULL;
-#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card_widget = (GtkWidget*) id_card_widget_it->data;
-#line 2527 "moonshot-identity-management-view.c"
-                       {
-                               GtkWidget* _tmp3_ = NULL;
-#line 466 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp3_ = id_card_widget;
-#line 466 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               identity_manager_view_remove_id_card_widget (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_ID_CARD_WIDGET, IdCardWidget));
-#line 2534 "moonshot-identity-management-view.c"
-                       }
-               }
-       }
-#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = self->priv->filter;
-#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp4_, &_tmp5_);
-#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       iter = _tmp5_;
-#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp6_) {
-#line 2546 "moonshot-identity-management-view.c"
+#line 459 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       custom_vbox_clear (_tmp0_);
+#line 461 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = self->priv->filter;
+#line 461 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp1_, &_tmp2_);
+#line 461 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       iter = _tmp2_;
+#line 461 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp3_) {
+#line 2804 "moonshot-identity-management-view.c"
                {
-                       gboolean _tmp7_ = FALSE;
+                       gboolean _tmp4_ = FALSE;
+#line 463 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp4_ = TRUE;
+#line 463 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       while (TRUE) {
+#line 2811 "moonshot-identity-management-view.c"
+                               GtkTreeModelFilter* _tmp7_ = NULL;
+                               GtkTreeIter _tmp8_ = {0};
+                               IdCard* _tmp9_ = NULL;
+                               IdCardWidget* _tmp10_ = NULL;
+                               IdCardWidget* _tmp11_ = NULL;
+#line 463 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               if (!_tmp4_) {
+#line 2819 "moonshot-identity-management-view.c"
+                                       GtkTreeModelFilter* _tmp5_ = NULL;
+                                       gboolean _tmp6_ = FALSE;
 #line 470 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp7_ = TRUE;
+                                       _tmp5_ = self->priv->filter;
 #line 470 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       while (TRUE) {
-#line 2553 "moonshot-identity-management-view.c"
-                               GtkTreeModelFilter* _tmp10_ = NULL;
-                               GtkTreeIter _tmp11_ = {0};
-                               IdCard* _tmp12_ = NULL;
-                               IdCardWidget* _tmp13_ = NULL;
-                               IdCardWidget* _tmp14_ = NULL;
+                                       _tmp6_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp5_, &iter);
+#line 470 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (!_tmp6_) {
 #line 470 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               if (!_tmp7_) {
-#line 2561 "moonshot-identity-management-view.c"
-                                       GtkTreeModelFilter* _tmp8_ = NULL;
-                                       gboolean _tmp9_ = FALSE;
-#line 477 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp8_ = self->priv->filter;
-#line 477 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp9_ = gtk_tree_model_iter_next ((GtkTreeModel*) _tmp8_, &iter);
-#line 477 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       if (!_tmp9_) {
-#line 477 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                                                break;
-#line 2572 "moonshot-identity-management-view.c"
+#line 2830 "moonshot-identity-management-view.c"
                                        }
                                }
-#line 470 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp7_ = FALSE;
-#line 472 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp10_ = self->priv->filter;
-#line 472 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp11_ = iter;
-#line 472 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_tree_model_get ((GtkTreeModel*) _tmp10_, &_tmp11_, IDENTITY_MANAGER_VIEW_COLUMNS_IDCARD_COL, &id_card, -1);
-#line 475 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp12_ = id_card;
-#line 475 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp13_ = identity_manager_view_add_id_card_widget (self, _tmp12_);
-#line 475 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp14_ = _tmp13_;
-#line 475 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _g_object_unref0 (_tmp14_);
-#line 2591 "moonshot-identity-management-view.c"
+#line 463 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp4_ = FALSE;
+#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp7_ = self->priv->filter;
+#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp8_ = iter;
+#line 465 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               gtk_tree_model_get ((GtkTreeModel*) _tmp7_, &_tmp8_, IDENTITY_MANAGER_VIEW_COLUMNS_IDCARD_COL, &id_card, -1);
+#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp9_ = id_card;
+#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp10_ = identity_manager_view_add_id_card_widget (self, _tmp9_);
+#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp11_ = _tmp10_;
+#line 468 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _g_object_unref0 (_tmp11_);
+#line 2849 "moonshot-identity-management-view.c"
                        }
                }
        }
-#line 459 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_list_free0 (children);
-#line 459 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 454 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (id_card);
-#line 2599 "moonshot-identity-management-view.c"
+#line 2855 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_remove_identity_cb (IdentityManagerView* self, IdCardWidget* id_card_widget) {
-       IdCard* id_card = NULL;
-       IdCardWidget* _tmp0_ = NULL;
-       IdCard* _tmp1_ = NULL;
-       IdCard* _tmp2_ = NULL;
-       IdCard* _tmp3_ = NULL;
-       GtkMessageDialog* dialog = NULL;
-       const gchar* _tmp4_ = NULL;
+static void identity_manager_view_remove_identity_cb (IdentityManagerView* self, IdCard* id_card) {
+       gboolean remove = FALSE;
+       const gchar* _tmp0_ = NULL;
+       gchar* _tmp1_ = NULL;
+       gchar* _tmp2_ = NULL;
+       gchar* _tmp3_ = NULL;
+       gchar* _tmp4_ = NULL;
        IdCard* _tmp5_ = NULL;
        const gchar* _tmp6_ = NULL;
        const gchar* _tmp7_ = NULL;
-       GtkMessageDialog* _tmp8_ = NULL;
-       gint _result_ = 0;
-       GtkMessageDialog* _tmp9_ = NULL;
-       gint _tmp10_ = 0;
-       gint _tmp11_ = 0;
-       GtkMessageDialog* _tmp13_ = NULL;
-#line 481 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gchar* _tmp8_ = NULL;
+       gchar* _tmp9_ = NULL;
+       gchar* _tmp10_ = NULL;
+       gchar* _tmp11_ = NULL;
+       const gchar* _tmp12_ = NULL;
+       gchar* _tmp13_ = NULL;
+       gchar* _tmp14_ = NULL;
+       gboolean _tmp15_ = FALSE;
+       gboolean _tmp16_ = FALSE;
+       gboolean _tmp17_ = FALSE;
+#line 474 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 481 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card_widget != NULL);
-#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card_widget;
-#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_widget_get_id_card (_tmp0_);
-#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 474 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (id_card != NULL);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = _ ("You are about to remove the identity '%s'.");
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = g_strconcat ("<span font-weight='heavy'>", _tmp0_, NULL);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = _tmp1_;
-#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _g_object_ref0 (_tmp2_);
-#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       id_card = _tmp3_;
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = _ ("Are you sure you want to delete %s ID Card?");
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = g_strconcat (_tmp2_, "</span>", NULL);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = _tmp3_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp5_ = id_card;
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = id_card_get_issuer (_tmp5_);
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = id_card_get_display_name (_tmp5_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp7_ = _tmp6_;
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp4_, _tmp7_);
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp8_);
-#line 485 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       dialog = _tmp8_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = g_markup_printf_escaped (_tmp4_, _tmp7_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = _tmp8_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = g_strconcat (_tmp9_, "\n\n", NULL);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = _tmp10_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = _ ("Are you sure you want to do this?");
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = g_strconcat (_tmp11_, _tmp12_, NULL);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = _tmp13_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = warning_dialog_confirm ((GtkWindow*) self, _tmp14_, "delete_idcard");
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp16_ = _tmp15_;
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp14_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp11_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp9_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp4_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp2_);
+#line 476 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       remove = _tmp16_;
+#line 482 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp17_ = remove;
+#line 482 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp17_) {
+#line 2933 "moonshot-identity-management-view.c"
+               IdCard* _tmp18_ = NULL;
+#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp18_ = id_card;
+#line 483 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               identity_manager_view_remove_identity (self, _tmp18_);
+#line 2939 "moonshot-identity-management-view.c"
+       }
+}
+
+
+static void identity_manager_view_set_prompting_service (IdentityManagerView* self, const gchar* service) {
+       GtkLabel* prompting_service = NULL;
+       const gchar* _tmp0_ = NULL;
+       const gchar* _tmp1_ = NULL;
+       gchar* _tmp2_ = NULL;
+       gchar* _tmp3_ = NULL;
+       GtkLabel* _tmp4_ = NULL;
+       GtkLabel* _tmp5_ = NULL;
+       GtkLabel* selection_prompt = NULL;
+       const gchar* _tmp6_ = NULL;
+       GtkLabel* _tmp7_ = NULL;
+       GtkVBox* _tmp8_ = NULL;
+       GtkVBox* _tmp9_ = NULL;
+       GtkVBox* _tmp10_ = NULL;
+#line 486 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (self != NULL);
+#line 486 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (service != NULL);
+#line 488 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_clear_selection_prompts (self);
 #line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = dialog;
+       _tmp0_ = _ ("Identity requested for service:\n%s");
 #line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = gtk_dialog_run ((GtkDialog*) _tmp9_);
+       _tmp1_ = service;
 #line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _result_ = _tmp10_;
-#line 491 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = _result_;
-#line 491 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       switch (_tmp11_) {
+       _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_);
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_;
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = (GtkLabel*) gtk_label_new (_tmp3_);
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp4_);
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _tmp4_;
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp3_);
+#line 490 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       prompting_service = _tmp5_;
 #line 491 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               case GTK_RESPONSE_YES:
-#line 2660 "moonshot-identity-management-view.c"
-               {
-                       IdCardWidget* _tmp12_ = NULL;
-#line 493 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp12_ = id_card_widget;
-#line 493 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       identity_manager_view_remove_identity (self, _tmp12_);
+       gtk_label_set_line_wrap (prompting_service, TRUE);
 #line 494 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       break;
-#line 2669 "moonshot-identity-management-view.c"
-               }
-               default:
-               {
+       gtk_misc_set_alignment ((GtkMisc*) prompting_service, (gfloat) 0, (gfloat) 0.5);
 #line 496 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       break;
-#line 2675 "moonshot-identity-management-view.c"
-               }
-       }
-#line 498 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = dialog;
-#line 498 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_object_destroy ((GtkObject*) _tmp13_);
-#line 481 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (dialog);
-#line 481 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (id_card);
-#line 2686 "moonshot-identity-management-view.c"
+       _tmp6_ = _ ("Select your identity:");
+#line 496 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = (GtkLabel*) gtk_label_new (_tmp6_);
+#line 496 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp7_);
+#line 496 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       selection_prompt = _tmp7_;
+#line 497 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_misc_set_alignment ((GtkMisc*) selection_prompt, (gfloat) 0, (gfloat) 1);
+#line 499 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = self->priv->service_prompt_vbox;
+#line 499 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp8_, (GtkWidget*) prompting_service, FALSE, FALSE, (guint) 12);
+#line 500 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = self->priv->service_prompt_vbox;
+#line 500 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp9_, (GtkWidget*) selection_prompt, FALSE, FALSE, (guint) 2);
+#line 501 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = self->priv->service_prompt_vbox;
+#line 501 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_show_all ((GtkWidget*) _tmp10_);
+#line 486 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (selection_prompt);
+#line 486 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (prompting_service);
+#line 3012 "moonshot-identity-management-view.c"
 }
 
 
-void identity_manager_view_set_prompting_service (IdentityManagerView* self, const gchar* service) {
-       GtkLabel* _tmp0_ = NULL;
-       const gchar* _tmp1_ = NULL;
-       const gchar* _tmp2_ = NULL;
-       gchar* _tmp3_ = NULL;
-       gchar* _tmp4_ = NULL;
-#line 501 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void identity_manager_view_clear_selection_prompts (IdentityManagerView* self) {
+       GList* list = NULL;
+       GtkVBox* _tmp0_ = NULL;
+       GList* _tmp1_ = NULL;
+       GList* _tmp2_ = NULL;
+#line 504 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 501 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (service != NULL);
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->prompting_service;
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = _ ("Identity requested for service: %s");
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = service;
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = g_strdup_printf (_tmp1_, _tmp2_);
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = _tmp3_;
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_label_set_label (_tmp0_, _tmp4_);
-#line 503 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_free0 (_tmp4_);
-#line 2714 "moonshot-identity-management-view.c"
+#line 506 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->priv->service_prompt_vbox;
+#line 506 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = gtk_container_get_children ((GtkContainer*) _tmp0_);
+#line 506 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       list = _tmp1_;
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = list;
+#line 3031 "moonshot-identity-management-view.c"
+       {
+               GList* w_collection = NULL;
+               GList* w_it = NULL;
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               w_collection = _tmp2_;
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
+#line 3039 "moonshot-identity-management-view.c"
+                       GtkWidget* _tmp3_ = NULL;
+                       GtkWidget* w = NULL;
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp3_ = _g_object_ref0 ((GtkWidget*) w_it->data);
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       w = _tmp3_;
+#line 3046 "moonshot-identity-management-view.c"
+                       {
+                               GtkVBox* _tmp4_ = NULL;
+                               GtkWidget* _tmp5_ = NULL;
+#line 509 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp4_ = self->priv->service_prompt_vbox;
+#line 509 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp5_ = w;
+#line 509 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               gtk_container_remove ((GtkContainer*) _tmp4_, _tmp5_);
+#line 507 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _g_object_unref0 (w);
+#line 3058 "moonshot-identity-management-view.c"
+                       }
+               }
+       }
+#line 504 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_list_free0 (list);
+#line 3064 "moonshot-identity-management-view.c"
 }
 
 
 void identity_manager_view_queue_identity_request (IdentityManagerView* self, IdentityRequest* request) {
-       GQueue* _tmp0_ = NULL;
-       gboolean _tmp1_ = FALSE;
-       GQueue* _tmp7_ = NULL;
-       IdentityRequest* _tmp8_ = NULL;
-       IdentityRequest* _tmp9_ = NULL;
-#line 506 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gboolean queue_was_empty = FALSE;
+       gboolean _tmp0_ = FALSE;
+       GQueue* _tmp1_ = NULL;
+       IdentityRequest* _tmp2_ = NULL;
+       IdentityRequest* _tmp3_ = NULL;
+       gboolean _tmp4_ = FALSE;
+#line 514 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 506 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (request != NULL);
-#line 508 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->request_queue;
-#line 508 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = g_queue_is_empty (_tmp0_);
-#line 508 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp1_) {
-#line 2734 "moonshot-identity-management-view.c"
-               IdentityRequest* _tmp2_ = NULL;
-               GSList* _tmp3_ = NULL;
-               GtkTreeModelFilter* _tmp4_ = NULL;
-               IdentityRequest* _tmp5_ = NULL;
-               const gchar* _tmp6_ = NULL;
-#line 510 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp2_ = request;
-#line 510 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp3_ = _tmp2_->candidates;
-#line 510 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               self->priv->candidates = _tmp3_;
-#line 511 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp4_ = self->priv->filter;
-#line 511 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_tree_model_filter_refilter (_tmp4_);
-#line 512 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_view_redraw_id_card_widgets (self);
-#line 513 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp5_ = request;
-#line 513 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp6_ = _tmp5_->service;
-#line 513 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_view_set_prompting_service (self, _tmp6_);
 #line 514 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_widget_show ((GtkWidget*) self);
-#line 2760 "moonshot-identity-management-view.c"
-       }
-#line 516 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = self->request_queue;
-#line 516 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = request;
+       g_return_if_fail (request != NULL);
 #line 516 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = _g_object_ref0 (_tmp8_);
+       _tmp0_ = identity_manager_view_selection_in_progress (self);
 #line 516 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_queue_push_tail (_tmp7_, _tmp9_);
-#line 2770 "moonshot-identity-management-view.c"
-}
-
-
-IdCard* identity_manager_view_check_add_password (IdentityManagerView* self, IdCard* identity, IdentityRequest* request, IdentityManagerModel* model) {
-       IdCard* result = NULL;
-       IdCard* retval = NULL;
-       IdCard* _tmp0_ = NULL;
-       IdCard* _tmp1_ = NULL;
-       gboolean _tmp2_ = FALSE;
-       IdCard* _tmp3_ = NULL;
-       const gchar* _tmp4_ = NULL;
-       const gchar* _tmp5_ = NULL;
-       gboolean idcard_has_pw = FALSE;
-       gboolean _tmp9_ = FALSE;
-       IdentityRequest* _tmp10_ = NULL;
-       const gchar* _tmp11_ = NULL;
-       gboolean request_has_pw = FALSE;
-       gboolean _tmp14_ = FALSE;
-       gboolean _tmp15_ = FALSE;
-#line 519 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (self != NULL, NULL);
-#line 519 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (identity != NULL, NULL);
+       queue_was_empty = !_tmp0_;
+#line 517 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = self->priv->request_queue;
+#line 517 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = request;
+#line 517 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 517 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_queue_push_tail (_tmp1_, _tmp3_);
 #line 519 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (request != NULL, NULL);
+       _tmp4_ = queue_was_empty;
 #line 519 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_val_if_fail (model != NULL, NULL);
+       if (_tmp4_) {
+#line 3095 "moonshot-identity-management-view.c"
+               IdentityRequest* _tmp5_ = NULL;
+               GSList* _tmp6_ = NULL;
+               GtkTreeModelFilter* _tmp7_ = NULL;
+               IdentityRequest* _tmp8_ = NULL;
+               const gchar* _tmp9_ = NULL;
+               GtkCheckButton* _tmp10_ = NULL;
+               CustomVBox* _tmp11_ = NULL;
+               IdCard* _tmp12_ = NULL;
+               IdCardWidget* _tmp13_ = NULL;
+               IdCardWidget* _tmp14_ = NULL;
+               gboolean _tmp15_ = FALSE;
 #line 521 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = identity;
+               _tmp5_ = request;
 #line 521 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = _g_object_ref0 (_tmp0_);
+               _tmp6_ = _tmp5_->candidates;
 #line 521 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       retval = _tmp1_;
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = identity;
+               self->priv->candidates = _tmp6_;
 #line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = id_card_get_password (_tmp3_);
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = _tmp4_;
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp5_ != NULL) {
-#line 2812 "moonshot-identity-management-view.c"
-               IdCard* _tmp6_ = NULL;
-               const gchar* _tmp7_ = NULL;
-               const gchar* _tmp8_ = NULL;
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp6_ = identity;
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp7_ = id_card_get_password (_tmp6_);
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp8_ = _tmp7_;
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp2_ = g_strcmp0 (_tmp8_, "") != 0;
-#line 2824 "moonshot-identity-management-view.c"
-       } else {
-#line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp2_ = FALSE;
-#line 2828 "moonshot-identity-management-view.c"
-       }
+               _tmp7_ = self->priv->filter;
 #line 522 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       idcard_has_pw = _tmp2_;
+               gtk_tree_model_filter_refilter (_tmp7_);
 #line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = request;
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = _tmp10_->password;
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp11_ != NULL) {
-#line 2838 "moonshot-identity-management-view.c"
-               IdentityRequest* _tmp12_ = NULL;
-               const gchar* _tmp13_ = NULL;
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp12_ = request;
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp13_ = _tmp12_->password;
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = g_strcmp0 (_tmp13_, "") != 0;
-#line 2847 "moonshot-identity-management-view.c"
-       } else {
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp9_ = FALSE;
-#line 2851 "moonshot-identity-management-view.c"
-       }
-#line 523 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       request_has_pw = _tmp9_;
-#line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = idcard_has_pw;
-#line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (!_tmp15_) {
-#line 2859 "moonshot-identity-management-view.c"
-               IdCard* _tmp16_ = NULL;
-               gboolean _tmp17_ = FALSE;
-#line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp16_ = identity;
-#line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp17_ = id_card_IsNoIdentity (_tmp16_);
+               identity_manager_view_redraw_id_card_widgets (self);
 #line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp14_ = !_tmp17_;
-#line 2868 "moonshot-identity-management-view.c"
-       } else {
+               _tmp8_ = request;
 #line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp14_ = FALSE;
-#line 2872 "moonshot-identity-management-view.c"
-       }
+               _tmp9_ = _tmp8_->service;
 #line 524 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp14_) {
-#line 2876 "moonshot-identity-management-view.c"
-               gboolean _tmp18_ = FALSE;
+               identity_manager_view_set_prompting_service (self, _tmp9_);
 #line 525 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp18_ = request_has_pw;
+               _tmp10_ = self->remember_identity_binding;
 #line 525 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               if (_tmp18_) {
-#line 2882 "moonshot-identity-management-view.c"
-                       IdCard* _tmp19_ = NULL;
-                       IdentityRequest* _tmp20_ = NULL;
-                       const gchar* _tmp21_ = NULL;
-                       IdentityManagerModel* _tmp22_ = NULL;
-                       IdCard* _tmp23_ = NULL;
-                       IdCard* _tmp24_ = NULL;
-#line 526 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp19_ = identity;
-#line 526 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp20_ = request;
-#line 526 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp21_ = _tmp20_->password;
-#line 526 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card_set_password (_tmp19_, _tmp21_);
+               gtk_widget_show ((GtkWidget*) _tmp10_);
 #line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp22_ = model;
+               _tmp11_ = self->priv->custom_vbox;
 #line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp23_ = identity;
+               _tmp12_ = self->priv->selected_card;
 #line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp24_ = identity_manager_model_update_card (_tmp22_, _tmp23_);
+               _tmp13_ = custom_vbox_find_idcard_widget (_tmp11_, _tmp12_);
 #line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _g_object_unref0 (retval);
+               _tmp14_ = _tmp13_;
 #line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       retval = _tmp24_;
-#line 2907 "moonshot-identity-management-view.c"
-               } else {
-                       AddPasswordDialog* dialog = NULL;
-                       IdCard* _tmp25_ = NULL;
-                       IdentityRequest* _tmp26_ = NULL;
-                       AddPasswordDialog* _tmp27_ = NULL;
-                       gint _result_ = 0;
-                       AddPasswordDialog* _tmp28_ = NULL;
-                       gint _tmp29_ = 0;
-                       gint _tmp30_ = 0;
-                       AddPasswordDialog* _tmp46_ = NULL;
-#line 529 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp25_ = identity;
-#line 529 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp26_ = request;
-#line 529 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp27_ = add_password_dialog_new (_tmp25_, _tmp26_);
+               _tmp15_ = _tmp14_ != NULL;
+#line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_tmp14_);
+#line 527 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (_tmp15_) {
+#line 3143 "moonshot-identity-management-view.c"
+                       GtkButton* _tmp16_ = NULL;
 #line 529 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       g_object_ref_sink (_tmp27_);
+                       _tmp16_ = self->priv->send_button;
 #line 529 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       dialog = _tmp27_;
-#line 530 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp28_ = dialog;
-#line 530 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp29_ = gtk_dialog_run ((GtkDialog*) _tmp28_);
-#line 530 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _result_ = _tmp29_;
-#line 532 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp30_ = _result_;
-#line 532 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       switch (_tmp30_) {
-#line 532 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               case GTK_RESPONSE_OK:
-#line 2940 "moonshot-identity-management-view.c"
-                               {
-                                       IdCard* _tmp31_ = NULL;
-                                       AddPasswordDialog* _tmp32_ = NULL;
-                                       const gchar* _tmp33_ = NULL;
-                                       const gchar* _tmp34_ = NULL;
-                                       IdCard* _tmp35_ = NULL;
-                                       AddPasswordDialog* _tmp36_ = NULL;
-                                       gboolean _tmp37_ = FALSE;
-                                       gboolean _tmp38_ = FALSE;
-                                       AddPasswordDialog* _tmp39_ = NULL;
-                                       gboolean _tmp40_ = FALSE;
-                                       gboolean _tmp41_ = FALSE;
-                                       IdentityManagerModel* _tmp43_ = NULL;
-                                       IdCard* _tmp44_ = NULL;
-                                       IdCard* _tmp45_ = NULL;
-#line 534 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp31_ = identity;
-#line 534 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp32_ = dialog;
-#line 534 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp33_ = add_password_dialog_get_password (_tmp32_);
-#line 534 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp34_ = _tmp33_;
-#line 534 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       id_card_set_password (_tmp31_, _tmp34_);
-#line 535 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp35_ = identity;
-#line 535 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp36_ = dialog;
-#line 535 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp37_ = add_password_dialog_get_remember (_tmp36_);
-#line 535 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp38_ = _tmp37_;
-#line 535 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       id_card_set_store_password (_tmp35_, _tmp38_);
-#line 536 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp39_ = dialog;
-#line 536 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp40_ = add_password_dialog_get_remember (_tmp39_);
-#line 536 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp41_ = _tmp40_;
-#line 536 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       if (_tmp41_) {
-#line 2984 "moonshot-identity-management-view.c"
-                                               IdCard* _tmp42_ = NULL;
-#line 537 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp42_ = identity;
-#line 537 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               id_card_set_temporary (_tmp42_, FALSE);
-#line 2990 "moonshot-identity-management-view.c"
-                                       }
-#line 538 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp43_ = model;
-#line 538 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp44_ = identity;
-#line 538 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp45_ = identity_manager_model_update_card (_tmp43_, _tmp44_);
-#line 538 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _g_object_unref0 (retval);
-#line 538 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       retval = _tmp45_;
-#line 539 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       break;
-#line 3004 "moonshot-identity-management-view.c"
-                               }
-                               default:
-                               {
-#line 541 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       identity = NULL;
-#line 542 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       break;
-#line 3012 "moonshot-identity-management-view.c"
-                               }
-                       }
-#line 544 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp46_ = dialog;
-#line 544 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_object_destroy ((GtkObject*) _tmp46_);
-#line 525 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _g_object_unref0 (dialog);
-#line 3021 "moonshot-identity-management-view.c"
+                       gtk_widget_set_sensitive ((GtkWidget*) _tmp16_, TRUE);
+#line 3149 "moonshot-identity-management-view.c"
                }
+#line 532 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               identity_manager_view_make_visible (self);
+#line 3153 "moonshot-identity-management-view.c"
        }
+}
+
+
+/** Makes the window visible, or at least, notifies the user that the window
+     * wants to be visible.
+     *
+     * This differs from show() in that show() does not guarantee that the 
+     * window will be moved to the foreground. Actually, neither does this
+     * method, because the user's settings and window manager may affect the
+     * behavior significantly.
+     */
+void identity_manager_view_make_visible (IdentityManagerView* self) {
+#line 545 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (self != NULL);
 #line 547 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       result = retval;
-#line 547 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       return result;
-#line 3028 "moonshot-identity-management-view.c"
+       gtk_window_set_urgency_hint ((GtkWindow*) self, TRUE);
+#line 548 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_window_present ((GtkWindow*) self);
+#line 3173 "moonshot-identity-management-view.c"
 }
 
 
-void identity_manager_view_send_identity_cb (IdentityManagerView* self, IdCard* id) {
-       IdCard* identity = NULL;
-       IdCard* _tmp0_ = NULL;
+IdCard* identity_manager_view_check_add_password (IdentityManagerView* self, IdCard* identity, IdentityRequest* request, IdentityManagerModel* model) {
+       IdCard* result = NULL;
+       MoonshotLogger* _tmp0_ = NULL;
+       IdCard* retval = NULL;
        IdCard* _tmp1_ = NULL;
-       GQueue* _tmp2_ = NULL;
-       guint _tmp3_ = 0U;
-       IdentityRequest* request = NULL;
-       GQueue* _tmp4_ = NULL;
-       gpointer _tmp5_ = NULL;
-       IdCard* _tmp6_ = NULL;
-       IdentityRequest* _tmp7_ = NULL;
-       IdentityManagerModel* _tmp8_ = NULL;
-       IdCard* _tmp9_ = NULL;
-       GQueue* _tmp10_ = NULL;
-       gboolean _tmp11_ = FALSE;
-       GtkTreeModelFilter* _tmp23_ = NULL;
-       gboolean _tmp24_ = FALSE;
-       IdCard* _tmp25_ = NULL;
-       IdentityRequest* _tmp31_ = NULL;
-       IdCard* _tmp32_ = NULL;
-#line 550 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 550 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id != NULL);
-#line 552 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id;
-#line 552 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = _g_object_ref0 (_tmp0_);
-#line 552 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity = _tmp1_;
-#line 553 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = self->request_queue;
+       IdCard* _tmp2_ = NULL;
+       gboolean _tmp3_ = FALSE;
+       IdCard* _tmp4_ = NULL;
+       const gchar* _tmp5_ = NULL;
+       const gchar* _tmp6_ = NULL;
+       gboolean idcard_has_pw = FALSE;
+       gboolean _tmp10_ = FALSE;
+       IdentityRequest* _tmp11_ = NULL;
+       const gchar* _tmp12_ = NULL;
+       gboolean request_has_pw = FALSE;
+       gboolean _tmp15_ = FALSE;
+       gboolean _tmp16_ = FALSE;
+#line 551 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (self != NULL, NULL);
+#line 551 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (identity != NULL, NULL);
+#line 551 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (request != NULL, NULL);
+#line 551 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (model != NULL, NULL);
 #line 553 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _tmp2_->length;
+       _tmp0_ = identity_manager_view_logger;
 #line 553 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (_tmp3_ > ((guint) 0));
+       moonshot_logger_trace (_tmp0_, "check_add_password", NULL);
+#line 554 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = identity;
+#line 554 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 554 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       retval = _tmp2_;
 #line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->candidates = NULL;
+       _tmp4_ = identity;
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = id_card_get_password (_tmp4_);
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = _tmp5_;
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp6_ != NULL) {
+#line 3220 "moonshot-identity-management-view.c"
+               IdCard* _tmp7_ = NULL;
+               const gchar* _tmp8_ = NULL;
+               const gchar* _tmp9_ = NULL;
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp7_ = identity;
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp8_ = id_card_get_password (_tmp7_);
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = _tmp8_;
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp3_ = g_strcmp0 (_tmp9_, "") != 0;
+#line 3232 "moonshot-identity-management-view.c"
+       } else {
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp3_ = FALSE;
+#line 3236 "moonshot-identity-management-view.c"
+       }
+#line 555 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       idcard_has_pw = _tmp3_;
+#line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = request;
+#line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = _tmp11_->password;
+#line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp12_ != NULL) {
+#line 3246 "moonshot-identity-management-view.c"
+               IdentityRequest* _tmp13_ = NULL;
+               const gchar* _tmp14_ = NULL;
+#line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp13_ = request;
 #line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = self->request_queue;
+               _tmp14_ = _tmp13_->password;
 #line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = g_queue_pop_head (_tmp4_);
+               _tmp10_ = g_strcmp0 (_tmp14_, "") != 0;
+#line 3255 "moonshot-identity-management-view.c"
+       } else {
+#line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = FALSE;
+#line 3259 "moonshot-identity-management-view.c"
+       }
 #line 556 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       request = (IdentityRequest*) _tmp5_;
+       request_has_pw = _tmp10_;
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = identity;
+       _tmp16_ = idcard_has_pw;
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = request;
+       if (!_tmp16_) {
+#line 3267 "moonshot-identity-management-view.c"
+               IdCard* _tmp17_ = NULL;
+               gboolean _tmp18_ = FALSE;
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = self->identities_manager;
+               _tmp17_ = identity;
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = identity_manager_view_check_add_password (self, _tmp6_, _tmp7_, _tmp8_);
+               _tmp18_ = id_card_is_no_identity (_tmp17_);
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (identity);
+               _tmp15_ = !_tmp18_;
+#line 3276 "moonshot-identity-management-view.c"
+       } else {
 #line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity = _tmp9_;
-#line 558 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = self->request_queue;
+               _tmp15_ = FALSE;
+#line 3280 "moonshot-identity-management-view.c"
+       }
+#line 557 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp15_) {
+#line 3284 "moonshot-identity-management-view.c"
+               gboolean _tmp19_ = FALSE;
 #line 558 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = g_queue_is_empty (_tmp10_);
+               _tmp19_ = request_has_pw;
 #line 558 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp11_) {
-#line 3094 "moonshot-identity-management-view.c"
-               GtkLabel* _tmp12_ = NULL;
-               const gchar* _tmp13_ = NULL;
-               IdentityManagerApp* _tmp14_ = NULL;
-               gboolean _tmp15_ = FALSE;
+               if (_tmp19_) {
+#line 3290 "moonshot-identity-management-view.c"
+                       IdCard* _tmp20_ = NULL;
+                       IdentityRequest* _tmp21_ = NULL;
+                       const gchar* _tmp22_ = NULL;
+                       IdentityManagerModel* _tmp23_ = NULL;
+                       IdCard* _tmp24_ = NULL;
+                       IdCard* _tmp25_ = NULL;
+#line 559 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp20_ = identity;
+#line 559 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp21_ = request;
+#line 559 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp22_ = _tmp21_->password;
+#line 559 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       id_card_set_password (_tmp20_, _tmp22_);
 #line 560 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               self->priv->candidates = NULL;
-#line 561 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp12_ = self->priv->prompting_service;
-#line 561 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp13_ = _ ("");
-#line 561 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_label_set_label (_tmp12_, _tmp13_);
+                       _tmp23_ = model;
+#line 560 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp24_ = identity;
+#line 560 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp25_ = identity_manager_model_update_card (_tmp23_, _tmp24_);
+#line 560 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (retval);
+#line 560 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       retval = _tmp25_;
+#line 3315 "moonshot-identity-management-view.c"
+               } else {
+                       AddPasswordDialog* dialog = NULL;
+                       IdCard* _tmp26_ = NULL;
+                       IdentityRequest* _tmp27_ = NULL;
+                       AddPasswordDialog* _tmp28_ = NULL;
+                       gint _result_ = 0;
+                       AddPasswordDialog* _tmp29_ = NULL;
+                       gint _tmp30_ = 0;
+                       gint _tmp31_ = 0;
+                       AddPasswordDialog* _tmp48_ = NULL;
+                       AddPasswordDialog* _tmp49_ = NULL;
+#line 562 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp26_ = identity;
+#line 562 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp27_ = request;
 #line 562 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp14_ = self->parent_app;
+                       _tmp28_ = add_password_dialog_new (_tmp26_, _tmp27_);
 #line 562 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp15_ = _tmp14_->explicitly_launched;
+                       g_object_ref_sink (_tmp28_);
 #line 562 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               if (!_tmp15_) {
+                       dialog = _tmp28_;
+#line 563 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp29_ = dialog;
+#line 563 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp30_ = gtk_dialog_run ((GtkDialog*) _tmp29_);
+#line 563 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _result_ = _tmp30_;
+#line 565 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp31_ = _result_;
+#line 565 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       switch (_tmp31_) {
+#line 565 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               case GTK_RESPONSE_OK:
+#line 3349 "moonshot-identity-management-view.c"
+                               {
+                                       IdCard* _tmp32_ = NULL;
+                                       AddPasswordDialog* _tmp33_ = NULL;
+                                       const gchar* _tmp34_ = NULL;
+                                       const gchar* _tmp35_ = NULL;
+                                       AddPasswordDialog* _tmp36_ = NULL;
+                                       IdCard* _tmp37_ = NULL;
+                                       AddPasswordDialog* _tmp38_ = NULL;
+                                       gboolean _tmp39_ = FALSE;
+                                       gboolean _tmp40_ = FALSE;
+                                       AddPasswordDialog* _tmp41_ = NULL;
+                                       gboolean _tmp42_ = FALSE;
+                                       gboolean _tmp43_ = FALSE;
+                                       IdentityManagerModel* _tmp45_ = NULL;
+                                       IdCard* _tmp46_ = NULL;
+                                       IdCard* _tmp47_ = NULL;
 #line 567 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       gtk_widget_hide ((GtkWidget*) self);
-#line 3115 "moonshot-identity-management-view.c"
-               }
-       } else {
-               IdentityRequest* next = NULL;
-               GQueue* _tmp16_ = NULL;
-               gconstpointer _tmp17_ = NULL;
-               IdentityRequest* _tmp18_ = NULL;
-               IdentityRequest* _tmp19_ = NULL;
-               GSList* _tmp20_ = NULL;
-               IdentityRequest* _tmp21_ = NULL;
-               const gchar* _tmp22_ = NULL;
-#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp16_ = self->request_queue;
-#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp17_ = g_queue_peek_head (_tmp16_);
-#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp18_ = _g_object_ref0 ((IdentityRequest*) _tmp17_);
-#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               next = _tmp18_;
-#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp19_ = next;
-#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp20_ = _tmp19_->candidates;
-#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               self->priv->candidates = _tmp20_;
-#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp21_ = next;
-#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp22_ = _tmp21_->service;
-#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               identity_manager_view_set_prompting_service (self, _tmp22_);
-#line 558 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (next);
-#line 3148 "moonshot-identity-management-view.c"
-       }
-#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp23_ = self->priv->filter;
-#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_tree_model_filter_refilter (_tmp23_);
-#line 575 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_redraw_id_card_widgets (self);
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp25_ = identity;
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp25_ != NULL) {
-#line 3160 "moonshot-identity-management-view.c"
-               IdCard* _tmp26_ = NULL;
-               gboolean _tmp27_ = FALSE;
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp26_ = identity;
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp27_ = id_card_IsNoIdentity (_tmp26_);
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp24_ = !_tmp27_;
-#line 3169 "moonshot-identity-management-view.c"
-       } else {
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp24_ = FALSE;
-#line 3173 "moonshot-identity-management-view.c"
-       }
-#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp24_) {
-#line 3177 "moonshot-identity-management-view.c"
-               IdentityManagerApp* _tmp28_ = NULL;
-               IdCard* _tmp29_ = NULL;
-               IdCard* _tmp30_ = NULL;
-#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp28_ = self->parent_app;
-#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp29_ = identity;
-#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp30_ = _g_object_ref0 (_tmp29_);
-#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (_tmp28_->default_id_card);
-#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp28_->default_id_card = _tmp30_;
-#line 3191 "moonshot-identity-management-view.c"
-       }
-#line 580 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp31_ = request;
-#line 580 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp32_ = identity;
-#line 580 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_request_return_identity (_tmp31_, _tmp32_);
-#line 550 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (request);
-#line 550 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (identity);
-#line 3203 "moonshot-identity-management-view.c"
-}
-
-
-static void _vala_PangoFontDescription_free (PangoFontDescription* self) {
-#line 583 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_boxed_free (pango_font_description_get_type (), self);
-#line 3210 "moonshot-identity-management-view.c"
-}
-
-
-static void identity_manager_view_label_make_bold (IdentityManagerView* self, GtkLabel* label) {
-       PangoFontDescription* font_desc = NULL;
-       PangoFontDescription* _tmp0_ = NULL;
-       GtkLabel* _tmp1_ = NULL;
-#line 583 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (self != NULL);
-#line 583 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (label != NULL);
-#line 585 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = pango_font_description_new ();
-#line 585 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       font_desc = _tmp0_;
-#line 587 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
-#line 594 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = label;
-#line 594 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_modify_font ((GtkWidget*) _tmp1_, font_desc);
-#line 583 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       __vala_PangoFontDescription_free0 (font_desc);
-#line 3234 "moonshot-identity-management-view.c"
-}
-
-
-static void _g_slist_free__g_free0_ (GSList* self) {
-#line 640 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_slist_foreach (self, (GFunc) _g_free0_, NULL);
-#line 640 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_slist_free (self);
-#line 3243 "moonshot-identity-management-view.c"
-}
-
-
-static void ____lambda5_ (IdentityManagerView* self, GtkButton* remove_button) {
-       gchar* candidate = NULL;
-       GHashTable* _tmp0_ = NULL;
-       GtkButton* _tmp1_ = NULL;
-       gconstpointer _tmp2_ = NULL;
-       gchar* _tmp3_ = NULL;
-       const gchar* _tmp4_ = NULL;
-       GtkMessageDialog* dialog = NULL;
-       const gchar* _tmp5_ = NULL;
-       CustomVBox* _tmp6_ = NULL;
-       IdCardWidget* _tmp7_ = NULL;
-       IdCardWidget* _tmp8_ = NULL;
-       IdCard* _tmp9_ = NULL;
-       IdCard* _tmp10_ = NULL;
-       const gchar* _tmp11_ = NULL;
-       const gchar* _tmp12_ = NULL;
-       const gchar* _tmp13_ = NULL;
-       GtkMessageDialog* _tmp14_ = NULL;
-       gint ret = 0;
-       GtkMessageDialog* _tmp15_ = NULL;
-       gint _tmp16_ = 0;
-       GtkMessageDialog* _tmp17_ = NULL;
-       gint _tmp18_ = 0;
-#line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (remove_button != NULL);
-#line 624 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = self->priv->service_button_map;
-#line 624 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = remove_button;
-#line 624 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = g_hash_table_lookup (_tmp0_, _tmp1_);
-#line 624 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = g_strdup ((const gchar*) _tmp2_);
-#line 624 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       candidate = _tmp3_;
-#line 625 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = candidate;
-#line 625 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp4_ == NULL) {
-#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_free0 (candidate);
-#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               return;
-#line 3290 "moonshot-identity-management-view.c"
-       }
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = _ ("Are you sure you want to stop '%s' ID Card from being used with %s?");
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = self->priv->custom_vbox;
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = custom_vbox_get_current_idcard (_tmp6_);
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = _tmp7_;
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = id_card_widget_get_id_card (_tmp8_);
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = _tmp9_;
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = id_card_get_display_name (_tmp10_);
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = _tmp11_;
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = candidate;
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp5_, _tmp12_, _tmp13_);
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp14_);
-#line 627 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       dialog = _tmp14_;
-#line 634 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = dialog;
-#line 634 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16_ = gtk_dialog_run ((GtkDialog*) _tmp15_);
-#line 634 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       ret = _tmp16_;
-#line 635 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17_ = dialog;
-#line 635 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_hide ((GtkWidget*) _tmp17_);
-#line 637 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp18_ = ret;
-#line 637 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if (_tmp18_ == ((gint) GTK_RESPONSE_YES)) {
-#line 3330 "moonshot-identity-management-view.c"
-               IdCard* idcard = NULL;
-               CustomVBox* _tmp19_ = NULL;
-               IdCardWidget* _tmp20_ = NULL;
-               IdCardWidget* _tmp21_ = NULL;
-               IdCard* _tmp22_ = NULL;
-               IdCard* _tmp23_ = NULL;
-               IdCard* _tmp24_ = NULL;
-               IdCard* _tmp25_ = NULL;
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp19_ = self->priv->custom_vbox;
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp20_ = custom_vbox_get_current_idcard (_tmp19_);
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp21_ = _tmp20_;
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp22_ = id_card_widget_get_id_card (_tmp21_);
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp23_ = _tmp22_;
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp24_ = _g_object_ref0 (_tmp23_);
-#line 639 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               idcard = _tmp24_;
-#line 640 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _tmp25_ = idcard;
-#line 640 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               if (_tmp25_ != NULL) {
-#line 3357 "moonshot-identity-management-view.c"
-                       GSList* services = NULL;
-                       IdCard* _tmp26_ = NULL;
-                       gchar** _tmp27_ = NULL;
-                       gint _tmp27__length1 = 0;
-                       gchar** _tmp28_ = NULL;
-                       gint _tmp28__length1 = 0;
-                       IdCard* _tmp34_ = NULL;
-                       GSList* _tmp35_ = NULL;
-                       guint _tmp36_ = 0U;
-                       gchar** _tmp37_ = NULL;
-                       gchar** _tmp38_ = NULL;
-                       gint _tmp38__length1 = 0;
-                       IdentityManagerModel* _tmp54_ = NULL;
-                       IdCard* _tmp55_ = NULL;
-                       IdCard* _tmp56_ = NULL;
-                       IdCard* _tmp57_ = NULL;
-#line 641 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       services = NULL;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp26_ = idcard;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp27_ = id_card_get_services (_tmp26_, &_tmp27__length1);
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp28_ = _tmp27_;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp28__length1 = _tmp27__length1;
-#line 3384 "moonshot-identity-management-view.c"
-                       {
-                               gchar** srv_collection = NULL;
-                               gint srv_collection_length1 = 0;
-                               gint _srv_collection_size_ = 0;
-                               gint srv_it = 0;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               srv_collection = _tmp28_;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               srv_collection_length1 = _tmp28__length1;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               for (srv_it = 0; srv_it < _tmp28__length1; srv_it = srv_it + 1) {
-#line 3396 "moonshot-identity-management-view.c"
-                                       gchar* _tmp29_ = NULL;
-                                       gchar* srv = NULL;
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp29_ = g_strdup (srv_collection[srv_it]);
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       srv = _tmp29_;
-#line 3403 "moonshot-identity-management-view.c"
-                                       {
-                                               const gchar* _tmp30_ = NULL;
-                                               const gchar* _tmp31_ = NULL;
-                                               const gchar* _tmp32_ = NULL;
-                                               gchar* _tmp33_ = NULL;
-#line 645 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp30_ = srv;
-#line 645 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp31_ = candidate;
-#line 645 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               if (g_strcmp0 (_tmp30_, _tmp31_) == 0) {
-#line 646 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       _g_free0 (srv);
-#line 646 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       continue;
-#line 3419 "moonshot-identity-management-view.c"
-                                               }
-#line 647 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp32_ = srv;
-#line 647 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp33_ = g_strdup (_tmp32_);
-#line 647 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               services = g_slist_append (services, _tmp33_);
-#line 643 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _g_free0 (srv);
-#line 3429 "moonshot-identity-management-view.c"
+                                       _tmp32_ = identity;
+#line 567 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp33_ = dialog;
+#line 567 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp34_ = add_password_dialog_get_password (_tmp33_);
+#line 567 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp35_ = _tmp34_;
+#line 567 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       id_card_set_password (_tmp32_, _tmp35_);
+#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp36_ = dialog;
+#line 570 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       add_password_dialog_clear_password (_tmp36_);
+#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp37_ = identity;
+#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp38_ = dialog;
+#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp39_ = add_password_dialog_get_remember (_tmp38_);
+#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp40_ = _tmp39_;
+#line 571 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       id_card_set_store_password (_tmp37_, _tmp40_);
+#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp41_ = dialog;
+#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp42_ = add_password_dialog_get_remember (_tmp41_);
+#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp43_ = _tmp42_;
+#line 572 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (_tmp43_) {
+#line 3398 "moonshot-identity-management-view.c"
+                                               IdCard* _tmp44_ = NULL;
+#line 573 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp44_ = identity;
+#line 573 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               id_card_set_temporary (_tmp44_, FALSE);
+#line 3404 "moonshot-identity-management-view.c"
                                        }
+#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp45_ = model;
+#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp46_ = identity;
+#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp47_ = identity_manager_model_update_card (_tmp45_, _tmp46_);
+#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_object_unref0 (retval);
+#line 574 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       retval = _tmp47_;
+#line 575 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       break;
+#line 3418 "moonshot-identity-management-view.c"
                                }
-                       }
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp34_ = idcard;
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp35_ = services;
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp36_ = g_slist_length (_tmp35_);
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp37_ = g_new0 (gchar*, _tmp36_ + 1);
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp38_ = _tmp37_;
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp38__length1 = _tmp36_;
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       id_card_set_services (_tmp34_, _tmp38_, _tmp36_);
-#line 650 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp38_ = (_vala_array_free (_tmp38_, _tmp38__length1, (GDestroyNotify) g_free), NULL);
-#line 3449 "moonshot-identity-management-view.c"
-                       {
-                               gint j = 0;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               j = 0;
-#line 3454 "moonshot-identity-management-view.c"
+                               default:
                                {
-                                       gboolean _tmp39_ = FALSE;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       _tmp39_ = TRUE;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                       while (TRUE) {
-#line 3461 "moonshot-identity-management-view.c"
-                                               gint _tmp41_ = 0;
-                                               IdCard* _tmp42_ = NULL;
-                                               gchar** _tmp43_ = NULL;
-                                               gint _tmp43__length1 = 0;
-                                               gchar** _tmp44_ = NULL;
-                                               gint _tmp44__length1 = 0;
-                                               IdCard* _tmp45_ = NULL;
-                                               gchar** _tmp46_ = NULL;
-                                               gint _tmp46__length1 = 0;
-                                               gchar** _tmp47_ = NULL;
-                                               gint _tmp47__length1 = 0;
-                                               gint _tmp48_ = 0;
-                                               GSList* _tmp49_ = NULL;
-                                               gint _tmp50_ = 0;
-                                               gconstpointer _tmp51_ = NULL;
-                                               gchar* _tmp52_ = NULL;
-                                               gchar* _tmp53_ = NULL;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               if (!_tmp39_) {
-#line 3481 "moonshot-identity-management-view.c"
-                                                       gint _tmp40_ = 0;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       _tmp40_ = j;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       j = _tmp40_ + 1;
-#line 3487 "moonshot-identity-management-view.c"
-                                               }
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp39_ = FALSE;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp41_ = j;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp42_ = idcard;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp43_ = id_card_get_services (_tmp42_, &_tmp43__length1);
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp44_ = _tmp43_;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp44__length1 = _tmp43__length1;
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               if (!(_tmp41_ < _tmp44__length1)) {
-#line 651 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                                       break;
-#line 3505 "moonshot-identity-management-view.c"
-                                               }
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp45_ = idcard;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp46_ = id_card_get_services (_tmp45_, &_tmp46__length1);
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp47_ = _tmp46_;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp47__length1 = _tmp46__length1;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp48_ = j;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp49_ = services;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp50_ = j;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp51_ = g_slist_nth_data (_tmp49_, (guint) _tmp50_);
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp52_ = g_strdup ((const gchar*) _tmp51_);
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _g_free0 (_tmp47_[_tmp48_]);
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp47_[_tmp48_] = _tmp52_;
-#line 653 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                                               _tmp53_ = _tmp47_[_tmp48_];
-#line 3531 "moonshot-identity-management-view.c"
-                                       }
+#line 577 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       identity = NULL;
+#line 578 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       break;
+#line 3426 "moonshot-identity-management-view.c"
                                }
                        }
-#line 656 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp54_ = self->identities_manager;
-#line 656 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp55_ = idcard;
-#line 656 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp56_ = identity_manager_model_update_card (_tmp54_, _tmp55_);
-#line 656 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp57_ = _tmp56_;
-#line 656 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _g_object_unref0 (_tmp57_);
-#line 640 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       __g_slist_free__g_free0_0 (services);
-#line 3547 "moonshot-identity-management-view.c"
+#line 581 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp48_ = dialog;
+#line 581 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       add_password_dialog_clear_password (_tmp48_);
+#line 582 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp49_ = dialog;
+#line 582 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       gtk_object_destroy ((GtkObject*) _tmp49_);
+#line 558 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (dialog);
+#line 3439 "moonshot-identity-management-view.c"
                }
-#line 637 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               _g_object_unref0 (idcard);
-#line 3551 "moonshot-identity-management-view.c"
        }
-#line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (dialog);
-#line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_free0 (candidate);
-#line 3557 "moonshot-identity-management-view.c"
-}
-
-
-static void _____lambda5__gtk_button_clicked (GtkButton* _sender, gpointer self) {
-#line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       ____lambda5_ ((IdentityManagerView*) self, _sender);
-#line 3564 "moonshot-identity-management-view.c"
+#line 585 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = retval;
+#line 585 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 3446 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_fill_services_vbox (IdentityManagerView* self, IdCard* id_card) {
-       gint i = 0;
-       gint n_columns = 0;
-       IdCard* _tmp0_ = NULL;
-       gchar** _tmp1_ = NULL;
-       gint _tmp1__length1 = 0;
-       gchar** _tmp2_ = NULL;
-       gint _tmp2__length1 = 0;
-       GtkTable* services_table = NULL;
-       gint _tmp3_ = 0;
-       GtkTable* _tmp4_ = NULL;
-       GtkTable* _tmp5_ = NULL;
-       GtkTable* _tmp6_ = NULL;
-       GtkVBox* _tmp7_ = NULL;
-       GtkTable* _tmp8_ = NULL;
-       GHashTable* _tmp9_ = NULL;
-       IdCard* _tmp10_ = NULL;
-       gchar** _tmp11_ = NULL;
-       gint _tmp11__length1 = 0;
-       gchar** _tmp12_ = NULL;
-       gint _tmp12__length1 = 0;
-       GtkVBox* _tmp33_ = NULL;
-#line 597 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void identity_manager_view_send_identity_cb (IdentityManagerView* self, IdCard* id) {
+       gboolean _tmp0_ = FALSE;
+       IdentityRequest* request = NULL;
+       GQueue* _tmp1_ = NULL;
+       gpointer _tmp2_ = NULL;
+       IdCard* identity = NULL;
+       IdCard* _tmp3_ = NULL;
+       IdentityRequest* _tmp4_ = NULL;
+       IdentityManagerModel* _tmp5_ = NULL;
+       IdCard* _tmp6_ = NULL;
+       GtkButton* _tmp7_ = NULL;
+       gboolean _tmp8_ = FALSE;
+       GtkTreeModelFilter* _tmp18_ = NULL;
+       gboolean _tmp19_ = FALSE;
+       IdCard* _tmp20_ = NULL;
+       IdentityRequest* _tmp26_ = NULL;
+       IdCard* _tmp27_ = NULL;
+       GtkCheckButton* _tmp28_ = NULL;
+       gboolean _tmp29_ = FALSE;
+       gboolean _tmp30_ = FALSE;
+       GtkCheckButton* _tmp31_ = NULL;
+       GtkCheckButton* _tmp32_ = NULL;
+#line 588 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 597 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (id_card != NULL);
-#line 599 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       i = 0;
-#line 600 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = id_card;
-#line 600 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = id_card_get_services (_tmp0_, &_tmp1__length1);
-#line 600 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _tmp1_;
-#line 600 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2__length1 = _tmp1__length1;
+#line 588 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (id != NULL);
+#line 590 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_selection_in_progress (self);
+#line 590 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (_tmp0_);
+#line 592 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = self->priv->request_queue;
+#line 592 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = g_queue_pop_head (_tmp1_);
+#line 592 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       request = (IdentityRequest*) _tmp2_;
+#line 593 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = id;
+#line 593 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = request;
+#line 593 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = self->identities_manager;
+#line 593 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = identity_manager_view_check_add_password (self, _tmp3_, _tmp4_, _tmp5_);
+#line 593 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity = _tmp6_;
+#line 594 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = self->priv->send_button;
+#line 594 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp7_, FALSE);
+#line 596 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->candidates = NULL;
+#line 598 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = identity_manager_view_selection_in_progress (self);
+#line 598 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (!_tmp8_) {
+#line 3506 "moonshot-identity-management-view.c"
+               IdentityManagerApp* _tmp9_ = NULL;
+               gboolean _tmp10_ = FALSE;
 #line 600 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       n_columns = _tmp2__length1;
-#line 602 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = n_columns;
+               self->priv->candidates = NULL;
+#line 601 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               identity_manager_view_clear_selection_prompts (self);
 #line 602 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = (GtkTable*) gtk_table_new ((guint) _tmp3_, (guint) 2, FALSE);
+               _tmp9_ = self->parent_app;
 #line 602 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp4_);
+               _tmp10_ = _tmp9_->explicitly_launched;
 #line 602 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       services_table = _tmp4_;
-#line 603 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = services_table;
-#line 603 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_set_col_spacings (_tmp5_, (guint) 10);
-#line 604 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = services_table;
-#line 604 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_set_row_spacings (_tmp6_, (guint) 10);
-#line 605 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = self->priv->services_internal_vbox;
-#line 605 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = services_table;
-#line 605 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_add ((GtkContainer*) _tmp7_, (GtkWidget*) _tmp8_);
+               if (!_tmp10_) {
 #line 607 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = self->priv->service_button_map;
-#line 607 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_hash_table_remove_all (_tmp9_);
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = id_card;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = id_card_get_services (_tmp10_, &_tmp11__length1);
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = _tmp11_;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12__length1 = _tmp11__length1;
-#line 3640 "moonshot-identity-management-view.c"
-       {
-               gchar** service_collection = NULL;
-               gint service_collection_length1 = 0;
-               gint _service_collection_size_ = 0;
-               gint service_it = 0;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               service_collection = _tmp12_;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               service_collection_length1 = _tmp12__length1;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               for (service_it = 0; service_it < _tmp12__length1; service_it = service_it + 1) {
-#line 3652 "moonshot-identity-management-view.c"
-                       gchar* _tmp13_ = NULL;
-                       gchar* service = NULL;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       _tmp13_ = g_strdup (service_collection[service_it]);
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                       service = _tmp13_;
-#line 3659 "moonshot-identity-management-view.c"
-                       {
-                               GtkLabel* label = NULL;
-                               const gchar* _tmp14_ = NULL;
-                               GtkLabel* _tmp15_ = NULL;
-                               GtkLabel* _tmp16_ = NULL;
-                               GtkButton* remove_button = NULL;
-                               GtkButton* _tmp17_ = NULL;
-                               GHashTable* _tmp18_ = NULL;
-                               GtkButton* _tmp19_ = NULL;
-                               GtkButton* _tmp20_ = NULL;
-                               const gchar* _tmp21_ = NULL;
-                               gchar* _tmp22_ = NULL;
-                               GtkButton* _tmp23_ = NULL;
-                               GtkTable* _tmp24_ = NULL;
-                               GtkLabel* _tmp25_ = NULL;
-                               gint _tmp26_ = 0;
-                               gint _tmp27_ = 0;
-                               GtkTable* _tmp28_ = NULL;
-                               GtkButton* _tmp29_ = NULL;
-                               gint _tmp30_ = 0;
-                               gint _tmp31_ = 0;
-                               gint _tmp32_ = 0;
-#line 611 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp14_ = service;
+                       gtk_widget_hide ((GtkWidget*) self);
+#line 3521 "moonshot-identity-management-view.c"
+               }
+       } else {
+               IdentityRequest* next = NULL;
+               GQueue* _tmp11_ = NULL;
+               gconstpointer _tmp12_ = NULL;
+               IdentityRequest* _tmp13_ = NULL;
+               IdentityRequest* _tmp14_ = NULL;
+               GSList* _tmp15_ = NULL;
+               IdentityRequest* _tmp16_ = NULL;
+               const gchar* _tmp17_ = NULL;
+#line 610 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp11_ = self->priv->request_queue;
+#line 610 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp12_ = g_queue_peek_head (_tmp11_);
+#line 610 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp13_ = _g_object_ref0 ((IdentityRequest*) _tmp12_);
+#line 610 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               next = _tmp13_;
 #line 611 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp15_ = (GtkLabel*) gtk_label_new (_tmp14_);
+               _tmp14_ = next;
 #line 611 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_object_ref_sink (_tmp15_);
+               _tmp15_ = _tmp14_->candidates;
 #line 611 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               label = _tmp15_;
+               self->priv->candidates = _tmp15_;
 #line 612 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp16_ = label;
+               _tmp16_ = next;
 #line 612 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_misc_set_alignment ((GtkMisc*) _tmp16_, (gfloat) 0, (gfloat) 0.5);
-#line 614 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp17_ = (GtkButton*) gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+               _tmp17_ = _tmp16_->service;
+#line 612 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               identity_manager_view_set_prompting_service (self, _tmp17_);
+#line 598 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (next);
+#line 3554 "moonshot-identity-management-view.c"
+       }
 #line 614 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_object_ref_sink (_tmp17_);
+       _tmp18_ = self->priv->filter;
 #line 614 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               remove_button = _tmp17_;
+       gtk_tree_model_filter_refilter (_tmp18_);
+#line 615 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_redraw_id_card_widgets (self);
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp20_ = identity;
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp20_ != NULL) {
+#line 3566 "moonshot-identity-management-view.c"
+               IdCard* _tmp21_ = NULL;
+               gboolean _tmp22_ = FALSE;
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp21_ = identity;
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp22_ = id_card_is_no_identity (_tmp21_);
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = !_tmp22_;
+#line 3575 "moonshot-identity-management-view.c"
+       } else {
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = FALSE;
+#line 3579 "moonshot-identity-management-view.c"
+       }
+#line 617 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp19_) {
+#line 3583 "moonshot-identity-management-view.c"
+               IdentityManagerApp* _tmp23_ = NULL;
+               IdCard* _tmp24_ = NULL;
+               IdCard* _tmp25_ = NULL;
+#line 618 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = self->parent_app;
+#line 618 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24_ = identity;
+#line 618 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp25_ = _g_object_ref0 (_tmp24_);
+#line 618 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_tmp23_->default_id_card);
+#line 618 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_->default_id_card = _tmp25_;
+#line 3597 "moonshot-identity-management-view.c"
+       }
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp18_ = self->priv->service_button_map;
+       _tmp26_ = request;
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp19_ = remove_button;
+       _tmp27_ = identity;
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp20_ = _g_object_ref0 (_tmp19_);
+       _tmp28_ = self->remember_identity_binding;
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp21_ = service;
+       _tmp29_ = gtk_toggle_button_get_active ((GtkToggleButton*) _tmp28_);
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp22_ = g_strdup (_tmp21_);
+       _tmp30_ = _tmp29_;
 #line 620 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_hash_table_insert (_tmp18_, _tmp20_, _tmp22_);
+       identity_request_return_identity (_tmp26_, _tmp27_, _tmp30_);
 #line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp23_ = remove_button;
+       _tmp31_ = self->remember_identity_binding;
 #line 622 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               g_signal_connect_object (_tmp23_, "clicked", (GCallback) _____lambda5__gtk_button_clicked, self, 0);
-#line 661 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp24_ = services_table;
-#line 661 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp25_ = label;
-#line 661 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp26_ = i;
-#line 661 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp27_ = i;
-#line 661 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_table_attach_defaults (_tmp24_, (GtkWidget*) _tmp25_, (guint) 0, (guint) 1, (guint) _tmp26_, (guint) (_tmp27_ + 1));
-#line 662 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp28_ = services_table;
-#line 662 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp29_ = remove_button;
-#line 662 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp30_ = i;
-#line 662 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp31_ = i;
-#line 662 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               gtk_table_attach_defaults (_tmp28_, (GtkWidget*) _tmp29_, (guint) 1, (guint) 2, (guint) _tmp30_, (guint) (_tmp31_ + 1));
-#line 663 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _tmp32_ = i;
-#line 663 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               i = _tmp32_ + 1;
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _g_object_unref0 (remove_button);
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _g_object_unref0 (label);
-#line 609 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-                               _g_free0 (service);
-#line 3746 "moonshot-identity-management-view.c"
-                       }
-               }
+       gtk_toggle_button_set_active ((GtkToggleButton*) _tmp31_, TRUE);
+#line 623 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp32_ = self->remember_identity_binding;
+#line 623 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_hide ((GtkWidget*) _tmp32_);
+#line 588 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (identity);
+#line 588 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (request);
+#line 3623 "moonshot-identity-management-view.c"
+}
+
+
+static Block3Data* block3_data_ref (Block3Data* _data3_) {
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_atomic_int_inc (&_data3_->_ref_count_);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return _data3_;
+#line 3632 "moonshot-identity-management-view.c"
+}
+
+
+static void block3_data_unref (void * _userdata_) {
+       Block3Data* _data3_;
+       _data3_ = (Block3Data*) _userdata_;
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
+#line 3641 "moonshot-identity-management-view.c"
+               IdentityManagerView* self;
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               self = _data3_->self;
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_data3_->about);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (self);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               g_slice_free (Block3Data, _data3_);
+#line 3651 "moonshot-identity-management-view.c"
        }
-#line 665 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp33_ = self->priv->services_internal_vbox;
-#line 665 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_show_all ((GtkWidget*) _tmp33_);
-#line 597 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (services_table);
-#line 3756 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda6_ (Block3Data* _data3_, GtkDialog* a, gint b) {
+       IdentityManagerView* self;
+#line 675 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self = _data3_->self;
+#line 675 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (a != NULL);
+#line 675 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_object_destroy ((GtkObject*) _data3_->about);
+#line 3664 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda6__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
+#line 675 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda6_ (self, _sender, response_id);
+#line 3671 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_on_about_action (IdentityManagerView* self) {
-       gchar** authors = NULL;
-       gchar* _tmp0_ = NULL;
-       gchar* _tmp1_ = NULL;
-       gchar* _tmp2_ = NULL;
-       gchar** _tmp3_ = NULL;
-       gint authors_length1 = 0;
-       gint _authors_size_ = 0;
+       Block3Data* _data3_;
        gchar* copyright = NULL;
-       gchar* _tmp4_ = NULL;
+       gint _tmp0_ = 0;
+       gchar* _tmp1_ = NULL;
        gchar* license = NULL;
-       gchar* _tmp5_ = NULL;
+       gint _tmp2_ = 0;
+       gchar* _tmp3_ = NULL;
+       GtkAboutDialog* _tmp4_ = NULL;
+       const gchar* _tmp5_ = NULL;
        const gchar* _tmp6_ = NULL;
-       const gchar* _tmp7_ = NULL;
-       const gchar* _tmp8_ = NULL;
-#line 668 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = g_strdup ("Javier Jardón <jjardon@codethink.co.uk>");
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = g_strdup ("Sam Thursfield <samthursfield@codethink.co.uk>");
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = g_strdup ("Alberto Ruiz <alberto.ruiz@codethink.co.uk>");
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = g_new0 (gchar*, 4 + 1);
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_[0] = _tmp0_;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_[1] = _tmp1_;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_[2] = _tmp2_;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_[3] = NULL;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       authors = _tmp3_;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       authors_length1 = 4;
-#line 670 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _authors_size_ = authors_length1;
-#line 677 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = g_strdup ("Copyright 2011 JANET");
-#line 677 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       copyright = _tmp4_;
-#line 679 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = g_strdup ("\n" \
-"Copyright (c) 2011, JANET(UK)\n" \
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _data3_ = g_slice_new0 (Block3Data);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _data3_->_ref_count_ = 1;
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _data3_->self = g_object_ref (self);
+#line 628 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_LATEST_EDIT_YEAR;
+#line 628 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = g_strdup_printf ("Copyright (c) 2011, %d JANET", _tmp0_);
+#line 628 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       copyright = _tmp1_;
+#line 630 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = identity_manager_view_LATEST_EDIT_YEAR;
+#line 630 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = g_strdup_printf ("\n" \
+"Copyright (c) 2011, %d JANET(UK)\n" \
 "All rights reserved.\n" \
 "\n" \
 "Redistribution and use in source and binary forms, with or without\n" \
@@ -3842,120 +3746,87 @@ static void identity_manager_view_on_about_action (IdentityManagerView* self) {
 "WAY\n" \
 "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF" \
 "\n" \
-"SUCH DAMAGE.\n");
-#line 679 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       license = _tmp5_;
-#line 712 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = _ ("Moonshot project UI");
-#line 712 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = _ ("Visit the Moonshot project web site");
-#line 712 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = _ ("translator-credits");
-#line 712 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_show_about_dialog ((GtkWindow*) self, "comments", _tmp6_, "copyright", copyright, "website", PACKAGE_URL, "version", PACKAGE_VERSION, "license", license, "website-label", _tmp7_, "authors", authors, "translator-credits", _tmp8_, NULL, NULL);
+"SUCH DAMAGE.\n", _tmp2_);
+#line 630 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       license = _tmp3_;
+#line 663 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = (GtkAboutDialog*) gtk_about_dialog_new ();
+#line 663 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp4_);
+#line 663 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _data3_->about = _tmp4_;
+#line 665 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _ ("Moonshot project UI");
+#line 665 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_comments (_data3_->about, _tmp5_);
+#line 666 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_copyright (_data3_->about, copyright);
+#line 667 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_website (_data3_->about, PACKAGE_URL);
 #line 668 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_free0 (license);
+       _tmp6_ = _ ("Visit the Moonshot project web site");
 #line 668 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_website_label (_data3_->about, _tmp6_);
+#line 671 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_version (_data3_->about, PACKAGE_VERSION);
+#line 672 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_about_dialog_set_license (_data3_->about, license);
+#line 673 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_window_set_modal ((GtkWindow*) _data3_->about, TRUE);
+#line 674 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_window_set_transient_for ((GtkWindow*) _data3_->about, (GtkWindow*) self);
+#line 675 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_signal_connect_data ((GtkDialog*) _data3_->about, "response", (GCallback) ___lambda6__gtk_dialog_response, block3_data_ref (_data3_), (GClosureNotify) block3_data_unref, 0);
+#line 676 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       set_bg_color ((GtkWidget*) _data3_->about);
+#line 678 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_dialog_run ((GtkDialog*) _data3_->about);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (license);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_free0 (copyright);
-#line 668 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL);
-#line 3821 "moonshot-identity-management-view.c"
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       block3_data_unref (_data3_);
+#line 626 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _data3_ = NULL;
+#line 3746 "moonshot-identity-management-view.c"
 }
 
 
 static void _vala_array_add1 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if ((*length) == (*size)) {
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *size = (*size) ? (2 * (*size)) : 4;
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *array = g_renew (GtkActionEntry, *array, *size);
-#line 3832 "moonshot-identity-management-view.c"
-       }
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       (*array)[(*length)++] = *value;
-#line 3836 "moonshot-identity-management-view.c"
-}
-
-
-static void _identity_manager_view_add_identity_manual_cb_gtk_action_callback (GtkAction* action, gpointer self) {
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_add_identity_manual_cb ((IdentityManagerView*) self);
-#line 3843 "moonshot-identity-management-view.c"
-}
-
-
-static void _vala_array_add2 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if ((*length) == (*size)) {
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *size = (*size) ? (2 * (*size)) : 4;
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *array = g_renew (GtkActionEntry, *array, *size);
-#line 3854 "moonshot-identity-management-view.c"
-       }
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       (*array)[(*length)++] = *value;
-#line 3858 "moonshot-identity-management-view.c"
-}
-
-
-static void _gtk_main_quit_gtk_action_callback (GtkAction* action, gpointer self) {
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_main_quit ();
-#line 3865 "moonshot-identity-management-view.c"
-}
-
-
-static void _vala_array_add3 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       if ((*length) == (*size)) {
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *size = (*size) ? (2 * (*size)) : 4;
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *array = g_renew (GtkActionEntry, *array, *size);
-#line 3876 "moonshot-identity-management-view.c"
-       }
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       (*array)[(*length)++] = *value;
-#line 3880 "moonshot-identity-management-view.c"
-}
-
-
-static void _vala_array_add4 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if ((*length) == (*size)) {
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                *size = (*size) ? (2 * (*size)) : 4;
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                *array = g_renew (GtkActionEntry, *array, *size);
-#line 3891 "moonshot-identity-management-view.c"
+#line 3757 "moonshot-identity-management-view.c"
        }
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        (*array)[(*length)++] = *value;
-#line 3895 "moonshot-identity-management-view.c"
+#line 3761 "moonshot-identity-management-view.c"
 }
 
 
 static void _identity_manager_view_on_about_action_gtk_action_callback (GtkAction* action, gpointer self) {
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_on_about_action ((IdentityManagerView*) self);
-#line 3902 "moonshot-identity-management-view.c"
+#line 3768 "moonshot-identity-management-view.c"
 }
 
 
-static void _vala_array_add5 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void _vala_array_add2 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if ((*length) == (*size)) {
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                *size = (*size) ? (2 * (*size)) : 4;
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                *array = g_renew (GtkActionEntry, *array, *size);
-#line 3913 "moonshot-identity-management-view.c"
+#line 3779 "moonshot-identity-management-view.c"
        }
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        (*array)[(*length)++] = *value;
-#line 3917 "moonshot-identity-management-view.c"
+#line 3783 "moonshot-identity-management-view.c"
 }
 
 
@@ -3965,168 +3836,109 @@ static GtkActionEntry* identity_manager_view_create_actions (IdentityManagerView
        GtkActionEntry* _tmp0_ = NULL;
        gint actions_length1 = 0;
        gint _actions_size_ = 0;
-       GtkActionEntry filemenu = {0};
+       GtkActionEntry helpmenu = {0};
        GtkActionEntry _tmp1_ = {0};
-       GtkActionEntry* _tmp2_ = NULL;
-       gint _tmp2__length1 = 0;
-       GtkActionEntry _tmp3_ = {0};
-       GtkActionEntry add = {0};
-       GtkActionEntry _tmp4_ = {0};
+       GtkActionEntry _tmp2_ = {0};
+       const gchar* _tmp3_ = NULL;
+       const gchar* _tmp4_ = NULL;
        GtkActionEntry* _tmp5_ = NULL;
        gint _tmp5__length1 = 0;
        GtkActionEntry _tmp6_ = {0};
-       GtkActionEntry quit = {0};
+       GtkActionEntry about = {0};
        GtkActionEntry _tmp7_ = {0};
-       GtkActionEntry* _tmp8_ = NULL;
-       gint _tmp8__length1 = 0;
-       GtkActionEntry _tmp9_ = {0};
-       GtkActionEntry helpmenu = {0};
-       GtkActionEntry _tmp10_ = {0};
+       GtkActionEntry _tmp8_ = {0};
+       const gchar* _tmp9_ = NULL;
+       const gchar* _tmp10_ = NULL;
        GtkActionEntry* _tmp11_ = NULL;
        gint _tmp11__length1 = 0;
        GtkActionEntry _tmp12_ = {0};
-       GtkActionEntry about = {0};
-       GtkActionEntry _tmp13_ = {0};
-       GtkActionEntry* _tmp14_ = NULL;
-       gint _tmp14__length1 = 0;
-       GtkActionEntry _tmp15_ = {0};
-       GtkActionEntry* _tmp16_ = NULL;
-       gint _tmp16__length1 = 0;
-#line 725 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       GtkActionEntry* _tmp13_ = NULL;
+       gint _tmp13__length1 = 0;
+#line 681 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_val_if_fail (self != NULL, NULL);
-#line 726 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 682 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = g_new0 (GtkActionEntry, 0);
-#line 726 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 682 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        actions = _tmp0_;
-#line 726 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 682 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        actions_length1 = 0;
-#line 726 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 682 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _actions_size_ = actions_length1;
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_.name = "FileMenuAction";
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_.name = "HelpMenuAction";
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_.stock_id = NULL;
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_.label = "_File";
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_.label = "_Help";
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_.accelerator = NULL;
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_.tooltip = NULL;
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_.callback = (GCallback) NULL;
-#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       filemenu = _tmp1_;
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = actions;
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2__length1 = actions_length1;
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = filemenu;
-#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _vala_array_add1 (&actions, &actions_length1, &_actions_size_, &_tmp3_);
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.name = "AddIdCardAction";
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.stock_id = GTK_STOCK_ADD;
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.label = "Add ID Card";
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.accelerator = NULL;
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.tooltip = "Add a new ID Card";
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_.callback = (GCallback) _identity_manager_view_add_identity_manual_cb_gtk_action_callback;
-#line 733 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       add = _tmp4_;
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 684 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       helpmenu = _tmp1_;
+#line 690 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = helpmenu;
+#line 690 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_.label;
+#line 690 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = g_dgettext (NULL, _tmp3_);
+#line 690 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       helpmenu.label = _tmp4_;
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp5_ = actions;
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp5__length1 = actions_length1;
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = add;
-#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _vala_array_add2 (&actions, &actions_length1, &_actions_size_, &_tmp6_);
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.name = "QuitAction";
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.stock_id = GTK_STOCK_QUIT;
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.label = "Quit";
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.accelerator = "<control>Q";
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.tooltip = "Quit the application";
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_.callback = (GCallback) _gtk_main_quit_gtk_action_callback;
-#line 744 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       quit = _tmp7_;
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = actions;
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8__length1 = actions_length1;
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = quit;
-#line 754 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _vala_array_add3 (&actions, &actions_length1, &_actions_size_, &_tmp9_);
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.name = "HelpMenuAction";
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.stock_id = NULL;
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.label = "_Help";
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.accelerator = NULL;
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.tooltip = NULL;
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_.callback = (GCallback) NULL;
-#line 756 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       helpmenu = _tmp10_;
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = helpmenu;
+#line 691 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _vala_array_add1 (&actions, &actions_length1, &_actions_size_, &_tmp6_);
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.name = "AboutAction";
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.stock_id = GTK_STOCK_ABOUT;
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.label = "About";
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.accelerator = NULL;
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.tooltip = "About this application";
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_.callback = (GCallback) _identity_manager_view_on_about_action_gtk_action_callback;
+#line 693 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       about = _tmp7_;
+#line 704 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = about;
+#line 704 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = _tmp8_.label;
+#line 704 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = g_dgettext (NULL, _tmp9_);
+#line 704 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       about.label = _tmp10_;
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp11_ = actions;
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp11__length1 = actions_length1;
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = helpmenu;
-#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _vala_array_add4 (&actions, &actions_length1, &_actions_size_, &_tmp12_);
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.name = "AboutAction";
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.stock_id = GTK_STOCK_ABOUT;
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.label = "About";
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.accelerator = NULL;
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.tooltip = "About this application";
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_.callback = (GCallback) _identity_manager_view_on_about_action_gtk_action_callback;
-#line 761 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       about = _tmp13_;
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = actions;
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14__length1 = actions_length1;
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = about;
-#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _vala_array_add5 (&actions, &actions_length1, &_actions_size_, &_tmp15_);
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16_ = actions;
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16__length1 = actions_length1;
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = about;
+#line 705 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _vala_array_add2 (&actions, &actions_length1, &_actions_size_, &_tmp12_);
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = actions;
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13__length1 = actions_length1;
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (result_length1) {
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               *result_length1 = _tmp16__length1;
-#line 4082 "moonshot-identity-management-view.c"
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               *result_length1 = _tmp13__length1;
+#line 3889 "moonshot-identity-management-view.c"
        }
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       result = _tmp16_;
-#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = _tmp13_;
+#line 707 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return result;
-#line 4088 "moonshot-identity-management-view.c"
+#line 3895 "moonshot-identity-management-view.c"
 }
 
 
@@ -4138,710 +3950,1025 @@ static void identity_manager_view_create_ui_manager (IdentityManagerView* self)
        GtkActionEntry* _tmp3_ = NULL;
        gint _tmp3__length1 = 0;
        GtkUIManager* _tmp4_ = NULL;
-       GtkUIManager* _tmp9_ = NULL;
+       GtkUIManager* _tmp14_ = NULL;
        GError * _inner_error_ = NULL;
-#line 777 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 711 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 713 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = gtk_action_group_new ("GeneralActionGroup");
-#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 713 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        action_group = _tmp0_;
-#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 714 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = identity_manager_view_create_actions (self, &_tmp1_);
-#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 714 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = _tmp2_;
-#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 714 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3__length1 = _tmp1_;
-#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 714 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_action_group_add_actions (action_group, _tmp3_, _tmp1_, self);
-#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 714 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = (g_free (_tmp3_), NULL);
-#line 781 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 715 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp4_ = self->priv->ui_manager;
-#line 781 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 715 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_ui_manager_insert_action_group (_tmp4_, action_group, 0);
-#line 4122 "moonshot-identity-management-view.c"
+#line 3929 "moonshot-identity-management-view.c"
        {
                GtkUIManager* _tmp5_ = NULL;
-#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 718 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp5_ = self->priv->ui_manager;
-#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-               gtk_ui_manager_add_ui_from_string (_tmp5_, IDENTITY_MANAGER_VIEW_layout, (gssize) (-1), &_inner_error_);
-#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 718 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               gtk_ui_manager_add_ui_from_string (_tmp5_, IDENTITY_MANAGER_VIEW_menu_layout, (gssize) -1, &_inner_error_);
+#line 718 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 4131 "moonshot-identity-management-view.c"
-                       goto __catch4_g_error;
+#line 3938 "moonshot-identity-management-view.c"
+                       goto __catch5_g_error;
                }
        }
-       goto __finally4;
-       __catch4_g_error:
+       goto __finally5;
+       __catch5_g_error:
        {
                GError* e = NULL;
                FILE* _tmp6_ = NULL;
                GError* _tmp7_ = NULL;
                const gchar* _tmp8_ = NULL;
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               MoonshotLogger* _tmp9_ = NULL;
+               GError* _tmp10_ = NULL;
+               const gchar* _tmp11_ = NULL;
+               gchar* _tmp12_ = NULL;
+               gchar* _tmp13_ = NULL;
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                e = _inner_error_;
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _inner_error_ = NULL;
-#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 722 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp6_ = stderr;
-#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 722 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp7_ = e;
-#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 722 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _tmp8_ = _tmp7_->message;
-#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 722 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                fprintf (_tmp6_, "%s\n", _tmp8_);
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = identity_manager_view_logger;
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = e;
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp11_ = _tmp10_->message;
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp12_ = g_strconcat ("create_ui_manager: Caught error: ", _tmp11_, NULL);
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp13_ = _tmp12_;
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               moonshot_logger_error (_tmp9_, _tmp13_, NULL);
+#line 723 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp13_);
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_error_free0 (e);
-#line 4156 "moonshot-identity-management-view.c"
+#line 3982 "moonshot-identity-management-view.c"
        }
-       __finally4:
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __finally5:
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        if (G_UNLIKELY (_inner_error_ != NULL)) {
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                _g_object_unref0 (action_group);
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                g_clear_error (&_inner_error_);
-#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 716 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
                return;
-#line 4169 "moonshot-identity-management-view.c"
+#line 3995 "moonshot-identity-management-view.c"
        }
-#line 790 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = self->priv->ui_manager;
-#line 790 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_ui_manager_ensure_update (_tmp9_);
-#line 777 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 725 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = self->priv->ui_manager;
+#line 725 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_ui_manager_ensure_update (_tmp14_);
+#line 711 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (action_group);
-#line 4177 "moonshot-identity-management-view.c"
-}
-
-
-static void _identity_manager_view_search_entry_icon_press_cb_gtk_entry_icon_press (GtkEntry* _sender, GtkEntryIconPosition p0, GdkEvent* p1, gpointer self) {
-#line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_search_entry_icon_press_cb ((IdentityManagerView*) self, p0, p1);
-#line 4184 "moonshot-identity-management-view.c"
+#line 4003 "moonshot-identity-management-view.c"
 }
 
 
 static void _identity_manager_view_search_entry_text_changed_cb_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
-#line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 762 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_search_entry_text_changed_cb ((IdentityManagerView*) self);
-#line 4191 "moonshot-identity-management-view.c"
+#line 4010 "moonshot-identity-management-view.c"
 }
 
 
 static gboolean _identity_manager_view_search_entry_key_press_event_cb_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
        gboolean result;
        result = identity_manager_view_search_entry_key_press_event_cb ((IdentityManagerView*) self, event);
-#line 817 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 763 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        return result;
-#line 4200 "moonshot-identity-management-view.c"
+#line 4019 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda7_ (IdentityManagerView* self, GtkButton* w) {
+#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (w != NULL);
+#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_add_identity_cb (self);
+#line 4028 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda7__gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda7_ ((IdentityManagerView*) self, _sender);
+#line 4035 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda13_ (IdentityManagerView* self, GtkButton* w) {
+#line 805 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (w != NULL);
+#line 805 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_import_identities_cb (self);
+#line 4044 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda13__gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 805 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda13_ ((IdentityManagerView*) self, _sender);
+#line 4051 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda14_ (IdentityManagerView* self, GtkButton* w) {
+       IdCard* _tmp0_ = NULL;
+#line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (w != NULL);
+#line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->priv->selected_card;
+#line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_edit_identity_cb (self, _tmp0_);
+#line 4063 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda14__gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda14_ ((IdentityManagerView*) self, _sender);
+#line 4070 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda15_ (IdentityManagerView* self, GtkButton* w) {
+       IdCard* _tmp0_ = NULL;
+#line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (w != NULL);
+#line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->priv->selected_card;
+#line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_remove_identity_cb (self, _tmp0_);
+#line 4082 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda15__gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda15_ ((IdentityManagerView*) self, _sender);
+#line 4089 "moonshot-identity-management-view.c"
+}
+
+
+static void __lambda16_ (IdentityManagerView* self, GtkButton* w) {
+       IdCard* _tmp0_ = NULL;
+#line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (w != NULL);
+#line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->priv->selected_card;
+#line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_send_identity_cb (self, _tmp0_);
+#line 4101 "moonshot-identity-management-view.c"
 }
 
 
-static void _identity_manager_view_update_password_cb_gtk_button_clicked (GtkButton* _sender, gpointer self) {
-#line 864 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_update_password_cb ((IdentityManagerView*) self);
-#line 4207 "moonshot-identity-management-view.c"
+static void ___lambda16__gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda16_ ((IdentityManagerView*) self, _sender);
+#line 4108 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_build_ui (IdentityManagerView* self) {
-       GtkEntry* _tmp0_ = NULL;
-       GtkEntry* _tmp1_ = NULL;
-       const gchar* _tmp2_ = NULL;
-       const gchar* _tmp3_ = NULL;
-       GtkEntry* _tmp4_ = NULL;
-       GdkPixbuf* _tmp5_ = NULL;
-       GdkPixbuf* _tmp6_ = NULL;
-       GtkEntry* _tmp7_ = NULL;
-       const gchar* _tmp8_ = NULL;
-       GtkEntry* _tmp9_ = NULL;
-       GtkEntry* _tmp10_ = NULL;
-       GdkPixbuf* _tmp11_ = NULL;
-       GdkPixbuf* _tmp12_ = NULL;
+       gint num_rows = 0;
+       gint num_cols = 0;
+       gint button_width = 0;
+       GtkTable* top_table = NULL;
+       gint _tmp0_ = 0;
+       GtkTable* _tmp1_ = NULL;
+       GtkTable* _tmp2_ = NULL;
+       GtkAttachOptions fill_and_expand = 0;
+       GtkAttachOptions fill = 0;
+       gint row = 0;
+       GtkVBox* _tmp3_ = NULL;
+       GtkTable* _tmp4_ = NULL;
+       GtkVBox* _tmp5_ = NULL;
+       gint _tmp6_ = 0;
+       gint _tmp7_ = 0;
+       GtkAttachOptions _tmp8_ = 0;
+       GtkAttachOptions _tmp9_ = 0;
+       gint _tmp10_ = 0;
+       gchar* search_tooltip_text = NULL;
+       const gchar* _tmp11_ = NULL;
+       gchar* _tmp12_ = NULL;
        GtkEntry* _tmp13_ = NULL;
-       const gchar* _tmp14_ = NULL;
-       GtkEntry* _tmp15_ = NULL;
-       GtkEntry* _tmp16_ = NULL;
+       GtkEntry* _tmp14_ = NULL;
+       const gchar* _tmp15_ = NULL;
+       const gchar* _tmp16_ = NULL;
        GtkEntry* _tmp17_ = NULL;
-       GtkEntry* _tmp18_ = NULL;
-       CustomVBox* _tmp19_ = NULL;
-       GtkViewport* viewport = NULL;
-       GtkViewport* _tmp20_ = NULL;
-       CustomVBox* _tmp21_ = NULL;
-       GtkScrolledWindow* scroll = NULL;
-       GtkScrolledWindow* _tmp22_ = NULL;
+       GdkPixbuf* _tmp18_ = NULL;
+       GdkPixbuf* _tmp19_ = NULL;
+       GtkEntry* _tmp20_ = NULL;
+       const gchar* _tmp21_ = NULL;
+       GtkEntry* _tmp22_ = NULL;
        const gchar* _tmp23_ = NULL;
-       GtkLabel* _tmp24_ = NULL;
-       GtkLabel* _tmp25_ = NULL;
-       GtkVBox* vbox_left = NULL;
-       GtkVBox* _tmp26_ = NULL;
+       GtkEntry* _tmp24_ = NULL;
+       GtkEntry* _tmp25_ = NULL;
+       GtkEntry* _tmp26_ = NULL;
        GtkEntry* _tmp27_ = NULL;
-       GtkLabel* _tmp28_ = NULL;
-       const gchar* _tmp29_ = NULL;
-       GtkLabel* _tmp30_ = NULL;
-       GtkLabel* _tmp31_ = NULL;
-       GtkLabel* _tmp32_ = NULL;
+       gchar* search_label_markup = NULL;
+       const gchar* _tmp28_ = NULL;
+       gchar* _tmp29_ = NULL;
+       gchar* _tmp30_ = NULL;
+       gchar* _tmp31_ = NULL;
+       gchar* _tmp32_ = NULL;
+       GtkLabel* full_search_label = NULL;
        GtkLabel* _tmp33_ = NULL;
-       GtkLabel* login_vbox_title = NULL;
-       const gchar* _tmp34_ = NULL;
-       GtkLabel* _tmp35_ = NULL;
-       GtkLabel* issuer_label = NULL;
-       const gchar* _tmp36_ = NULL;
-       GtkLabel* _tmp37_ = NULL;
-       GtkEntry* _tmp38_ = NULL;
+       GtkLabel* _tmp34_ = NULL;
+       const gchar* _tmp35_ = NULL;
+       GtkLabel* _tmp36_ = NULL;
+       GtkVBox* search_vbox = NULL;
+       GtkVBox* _tmp37_ = NULL;
+       GtkVBox* _tmp38_ = NULL;
        GtkEntry* _tmp39_ = NULL;
-       GtkLabel* username_label = NULL;
-       const gchar* _tmp40_ = NULL;
-       GtkLabel* _tmp41_ = NULL;
-       GtkEntry* _tmp42_ = NULL;
-       GtkEntry* _tmp43_ = NULL;
-       GtkLabel* password_label = NULL;
-       const gchar* _tmp44_ = NULL;
+       GtkAlignment* search_spacer = NULL;
+       GtkAlignment* _tmp40_ = NULL;
+       GtkAlignment* _tmp41_ = NULL;
+       GtkVBox* _tmp42_ = NULL;
+       GtkAlignment* _tmp43_ = NULL;
+       GtkVBox* _tmp44_ = NULL;
        GtkLabel* _tmp45_ = NULL;
-       GtkEntry* _tmp46_ = NULL;
-       GtkEntry* _tmp47_ = NULL;
-       GtkEntry* _tmp48_ = NULL;
-       GtkEntry* _tmp49_ = NULL;
-       const gchar* _tmp50_ = NULL;
-       GtkCheckButton* _tmp51_ = NULL;
-       GtkCheckButton* _tmp52_ = NULL;
-       const gchar* _tmp53_ = NULL;
-       GtkButton* _tmp54_ = NULL;
-       GtkButton* _tmp55_ = NULL;
-       GtkEntry* _tmp56_ = NULL;
-       GtkEntry* _tmp57_ = NULL;
-       GtkEntry* _tmp58_ = NULL;
-       GtkEntry* _tmp59_ = NULL;
-       GtkTable* login_table = NULL;
-       GtkTable* _tmp60_ = NULL;
-       GtkEntry* _tmp61_ = NULL;
-       GtkEntry* _tmp62_ = NULL;
-       GtkEntry* _tmp63_ = NULL;
-       GtkCheckButton* _tmp64_ = NULL;
-       GtkButton* _tmp65_ = NULL;
-       GtkAlignment* login_vbox_alignment = NULL;
-       GtkAlignment* _tmp66_ = NULL;
-       GtkVBox* _tmp67_ = NULL;
-       GtkVBox* _tmp68_ = NULL;
-       GtkVBox* _tmp69_ = NULL;
-       GtkLabel* services_vbox_title = NULL;
-       const gchar* _tmp70_ = NULL;
-       GtkLabel* _tmp71_ = NULL;
-       GtkAlignment* services_vbox_alignment = NULL;
-       GtkAlignment* _tmp72_ = NULL;
-       GtkVBox* _tmp73_ = NULL;
-       GtkVBox* _tmp74_ = NULL;
-       GtkVBox* _tmp75_ = NULL;
-       GtkVBox* _tmp76_ = NULL;
-       GtkVBox* _tmp77_ = NULL;
-       GtkVBox* _tmp78_ = NULL;
-       GtkVBox* _tmp79_ = NULL;
-       GtkVBox* _tmp80_ = NULL;
-       GtkVBox* _tmp81_ = NULL;
-       GtkVBox* _tmp82_ = NULL;
-       GtkHBox* hbox = NULL;
-       GtkHBox* _tmp83_ = NULL;
-       GtkVBox* _tmp84_ = NULL;
+       GtkTable* _tmp46_ = NULL;
+       GtkVBox* _tmp47_ = NULL;
+       gint _tmp48_ = 0;
+       gint _tmp49_ = 0;
+       gint _tmp50_ = 0;
+       gint _tmp51_ = 0;
+       GtkAttachOptions _tmp52_ = 0;
+       GtkAttachOptions _tmp53_ = 0;
+       gint _tmp54_ = 0;
+       CustomVBox* _tmp55_ = NULL;
+       GtkViewport* viewport = NULL;
+       GtkViewport* _tmp56_ = NULL;
+       GtkViewport* _tmp57_ = NULL;
+       GtkViewport* _tmp58_ = NULL;
+       GtkViewport* _tmp59_ = NULL;
+       CustomVBox* _tmp60_ = NULL;
+       GtkScrolledWindow* id_scrollwin = NULL;
+       GtkScrolledWindow* _tmp61_ = NULL;
+       GtkScrolledWindow* _tmp62_ = NULL;
+       GtkScrolledWindow* _tmp63_ = NULL;
+       GtkScrolledWindow* _tmp64_ = NULL;
+       GtkViewport* _tmp65_ = NULL;
+       GtkTable* _tmp66_ = NULL;
+       GtkScrolledWindow* _tmp67_ = NULL;
+       gint _tmp68_ = 0;
+       gint _tmp69_ = 0;
+       gint _tmp70_ = 0;
+       GtkAttachOptions _tmp71_ = 0;
+       GtkAttachOptions _tmp72_ = 0;
+       const gchar* _tmp73_ = NULL;
+       GtkCheckButton* _tmp74_ = NULL;
+       GtkCheckButton* _tmp75_ = NULL;
+       GtkTable* _tmp76_ = NULL;
+       GtkCheckButton* _tmp77_ = NULL;
+       gint _tmp78_ = 0;
+       gint _tmp79_ = 0;
+       gint _tmp80_ = 0;
+       GtkAttachOptions _tmp81_ = 0;
+       GtkAttachOptions _tmp82_ = 0;
+       GtkButton* add_button = NULL;
+       const gchar* _tmp83_ = NULL;
+       GtkButton* _tmp84_ = NULL;
+       GtkButton* _tmp85_ = NULL;
+       GtkTable* _tmp86_ = NULL;
+       GtkButton* _tmp87_ = NULL;
+       GtkWidget* _tmp88_ = NULL;
+       GtkWidget* _tmp89_ = NULL;
+       gint _tmp90_ = 0;
+       gint _tmp91_ = 0;
+       gint _tmp92_ = 0;
+       gint _tmp93_ = 0;
+       gint _tmp94_ = 0;
+       GtkAttachOptions _tmp95_ = 0;
+       GtkAttachOptions _tmp96_ = 0;
+       gint _tmp97_ = 0;
+       GtkButton* import_button = NULL;
+       const gchar* _tmp98_ = NULL;
+       GtkButton* _tmp99_ = NULL;
+       GtkButton* _tmp100_ = NULL;
+       GtkTable* _tmp101_ = NULL;
+       GtkButton* _tmp102_ = NULL;
+       GtkWidget* _tmp103_ = NULL;
+       GtkWidget* _tmp104_ = NULL;
+       gint _tmp105_ = 0;
+       gint _tmp106_ = 0;
+       gint _tmp107_ = 0;
+       gint _tmp108_ = 0;
+       gint _tmp109_ = 0;
+       GtkAttachOptions _tmp110_ = 0;
+       GtkAttachOptions _tmp111_ = 0;
+       gint _tmp112_ = 0;
+       const gchar* _tmp113_ = NULL;
+       GtkButton* _tmp114_ = NULL;
+       GtkButton* _tmp115_ = NULL;
+       GtkButton* _tmp116_ = NULL;
+       GtkTable* _tmp117_ = NULL;
+       GtkButton* _tmp118_ = NULL;
+       GtkWidget* _tmp119_ = NULL;
+       GtkWidget* _tmp120_ = NULL;
+       gint _tmp121_ = 0;
+       gint _tmp122_ = 0;
+       gint _tmp123_ = 0;
+       gint _tmp124_ = 0;
+       gint _tmp125_ = 0;
+       GtkAttachOptions _tmp126_ = 0;
+       GtkAttachOptions _tmp127_ = 0;
+       gint _tmp128_ = 0;
+       const gchar* _tmp129_ = NULL;
+       GtkButton* _tmp130_ = NULL;
+       GtkButton* _tmp131_ = NULL;
+       GtkButton* _tmp132_ = NULL;
+       GtkTable* _tmp133_ = NULL;
+       GtkButton* _tmp134_ = NULL;
+       GtkWidget* _tmp135_ = NULL;
+       GtkWidget* _tmp136_ = NULL;
+       gint _tmp137_ = 0;
+       gint _tmp138_ = 0;
+       gint _tmp139_ = 0;
+       gint _tmp140_ = 0;
+       gint _tmp141_ = 0;
+       GtkAttachOptions _tmp142_ = 0;
+       GtkAttachOptions _tmp143_ = 0;
+       gint _tmp144_ = 0;
+       gint _tmp145_ = 0;
+       const gchar* _tmp146_ = NULL;
+       GtkButton* _tmp147_ = NULL;
+       GtkButton* _tmp148_ = NULL;
+       GtkButton* _tmp149_ = NULL;
+       GtkTable* _tmp150_ = NULL;
+       GtkButton* _tmp151_ = NULL;
+       GtkWidget* _tmp152_ = NULL;
+       GtkWidget* _tmp153_ = NULL;
+       gint _tmp154_ = 0;
+       gint _tmp155_ = 0;
+       gint _tmp156_ = 0;
+       gint _tmp157_ = 0;
+       gint _tmp158_ = 0;
+       GtkAttachOptions _tmp159_ = 0;
+       GtkAttachOptions _tmp160_ = 0;
+       gint _tmp161_ = 0;
        GtkVBox* main_vbox = NULL;
-       GtkVBox* _tmp85_ = NULL;
+       GtkVBox* _tmp162_ = NULL;
        GtkWidget* menubar = NULL;
-       GtkUIManager* _tmp86_ = NULL;
-       GtkWidget* _tmp87_ = NULL;
-       GtkWidget* _tmp88_ = NULL;
-       GtkVBox* _tmp89_ = NULL;
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       GtkUIManager* _tmp163_ = NULL;
+       GtkWidget* _tmp164_ = NULL;
+       GtkWidget* _tmp165_ = NULL;
+       GtkVBox* _tmp166_ = NULL;
+       GtkWidget* _tmp167_ = NULL;
+       GtkWidget* _tmp168_ = NULL;
+       GtkVBox* _tmp169_ = NULL;
+       GtkTable* _tmp170_ = NULL;
+       GtkVBox* _tmp171_ = NULL;
+       GtkVBox* _tmp172_ = NULL;
+       gboolean _tmp173_ = FALSE;
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 730 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       set_bg_color ((GtkWidget*) self);
+#line 732 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_create_ui_manager (self);
+#line 734 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       num_rows = 18;
+#line 735 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       num_cols = 8;
+#line 736 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       button_width = 1;
+#line 738 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = num_rows;
+#line 738 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = (GtkTable*) gtk_table_new ((guint) _tmp0_, (guint) 10, FALSE);
+#line 738 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp1_);
+#line 738 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       top_table = _tmp1_;
+#line 739 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = top_table;
+#line 739 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_container_set_border_width ((GtkContainer*) _tmp2_, (guint) 12);
+#line 741 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       fill_and_expand = GTK_EXPAND | GTK_FILL;
+#line 742 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       fill = GTK_FILL;
+#line 743 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = 0;
+#line 745 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
+#line 745 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp3_);
+#line 745 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->service_prompt_vbox);
+#line 745 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->service_prompt_vbox = _tmp3_;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = top_table;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = self->priv->service_prompt_vbox;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = row;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = row;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = fill_and_expand;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp9_ = fill_and_expand;
+#line 746 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp4_, (GtkWidget*) _tmp5_, (guint) 0, (guint) 1, (guint) _tmp6_, (guint) (_tmp7_ + 1), _tmp8_, _tmp9_, (guint) 12, (guint) 0);
+#line 747 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp10_ = row;
+#line 747 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = _tmp10_ + 1;
+#line 749 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp11_ = _ ("Search for an identity or service");
+#line 749 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp12_ = g_strdup (_tmp11_);
+#line 749 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       search_tooltip_text = _tmp12_;
+#line 750 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp13_ = (GtkEntry*) gtk_entry_new ();
+#line 750 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp13_);
+#line 750 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->search_entry);
+#line 750 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->search_entry = _tmp13_;
+#line 752 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp14_ = self->priv->search_entry;
+#line 752 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp15_ = _ ("Search entry");
+#line 752 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp16_ = _ ("Search for a specific ID Card");
+#line 752 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_set_atk_name_description (self, (GtkWidget*) _tmp14_, _tmp15_, _tmp16_);
+#line 753 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp17_ = self->priv->search_entry;
+#line 753 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp18_ = find_icon_sized ("edit-find", GTK_ICON_SIZE_MENU);
+#line 753 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp19_ = _tmp18_;
+#line 753 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_entry_set_icon_from_pixbuf (_tmp17_, GTK_ENTRY_ICON_SECONDARY, _tmp19_);
+#line 753 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp19_);
+#line 755 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp20_ = self->priv->search_entry;
+#line 755 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp21_ = search_tooltip_text;
+#line 755 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_entry_set_icon_tooltip_text (_tmp20_, GTK_ENTRY_ICON_SECONDARY, _tmp21_);
+#line 758 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp22_ = self->priv->search_entry;
+#line 758 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp23_ = search_tooltip_text;
+#line 758 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_tooltip_text ((GtkWidget*) _tmp22_, _tmp23_);
+#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp24_ = self->priv->search_entry;
+#line 760 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_entry_set_icon_sensitive (_tmp24_, GTK_ENTRY_ICON_SECONDARY, FALSE);
+#line 762 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp25_ = self->priv->search_entry;
+#line 762 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_signal_connect_object ((GObject*) _tmp25_, "notify::text", (GCallback) _identity_manager_view_search_entry_text_changed_cb_g_object_notify, self, 0);
+#line 763 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp26_ = self->priv->search_entry;
+#line 763 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_signal_connect_object ((GtkWidget*) _tmp26_, "key-press-event", (GCallback) _identity_manager_view_search_entry_key_press_event_cb_gtk_widget_key_press_event, self, 0);
+#line 764 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp27_ = self->priv->search_entry;
+#line 764 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_entry_set_width_chars (_tmp27_, 24);
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp28_ = search_tooltip_text;
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp29_ = g_strconcat ("<small>", _tmp28_, NULL);
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp30_ = _tmp29_;
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp31_ = g_strconcat (_tmp30_, "</small>", NULL);
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp32_ = _tmp31_;
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp30_);
+#line 766 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       search_label_markup = _tmp32_;
+#line 767 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp33_ = (GtkLabel*) gtk_label_new (NULL);
+#line 767 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp33_);
+#line 767 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       full_search_label = _tmp33_;
+#line 768 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp34_ = full_search_label;
+#line 768 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp35_ = search_label_markup;
+#line 768 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_label_set_markup (_tmp34_, _tmp35_);
+#line 769 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp36_ = full_search_label;
+#line 769 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_misc_set_alignment ((GtkMisc*) _tmp36_, (gfloat) 1, (gfloat) 0);
+#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp37_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
+#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp37_);
+#line 771 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       search_vbox = _tmp37_;
+#line 772 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp38_ = search_vbox;
+#line 772 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp39_ = self->priv->search_entry;
+#line 772 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp38_, (GtkWidget*) _tmp39_, FALSE, FALSE, (guint) 0);
+#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp40_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0);
+#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp40_);
+#line 773 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       search_spacer = _tmp40_;
+#line 774 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp41_ = search_spacer;
+#line 774 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_size_request ((GtkWidget*) _tmp41_, 0, 2);
+#line 775 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp42_ = search_vbox;
+#line 775 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp43_ = search_spacer;
+#line 775 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp42_, (GtkWidget*) _tmp43_, FALSE, FALSE, (guint) 0);
+#line 776 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp44_ = search_vbox;
+#line 776 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp45_ = full_search_label;
+#line 776 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp44_, (GtkWidget*) _tmp45_, FALSE, FALSE, (guint) 0);
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp46_ = top_table;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp47_ = search_vbox;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp48_ = num_cols;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp49_ = button_width;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp50_ = row;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp51_ = row;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp52_ = fill_and_expand;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp53_ = fill;
+#line 779 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp46_, (GtkWidget*) _tmp47_, (guint) 5, (guint) (_tmp48_ - _tmp49_), (guint) (_tmp50_ - 1), (guint) (_tmp51_ + 1), _tmp52_, _tmp53_, (guint) 0, (guint) 12);
+#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp54_ = row;
+#line 780 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = _tmp54_ + 1;
+#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp55_ = custom_vbox_new (self, FALSE, 2);
+#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp55_);
+#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->custom_vbox);
+#line 782 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->custom_vbox = _tmp55_;
+#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp56_ = (GtkViewport*) gtk_viewport_new (NULL, NULL);
+#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp56_);
+#line 784 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       viewport = _tmp56_;
+#line 785 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp57_ = viewport;
+#line 785 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_container_set_border_width ((GtkContainer*) _tmp57_, (guint) 2);
+#line 786 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp58_ = viewport;
+#line 786 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_viewport_set_shadow_type (_tmp58_, GTK_SHADOW_NONE);
+#line 787 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp59_ = viewport;
+#line 787 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp60_ = self->priv->custom_vbox;
+#line 787 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_container_add ((GtkContainer*) _tmp59_, (GtkWidget*) _tmp60_);
+#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp61_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
+#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp61_);
+#line 788 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       id_scrollwin = _tmp61_;
+#line 789 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp62_ = id_scrollwin;
+#line 789 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_scrolled_window_set_policy (_tmp62_, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+#line 790 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp63_ = id_scrollwin;
+#line 790 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_scrolled_window_set_shadow_type (_tmp63_, GTK_SHADOW_IN);
+#line 791 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp64_ = id_scrollwin;
+#line 791 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp65_ = viewport;
+#line 791 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_scrolled_window_add_with_viewport (_tmp64_, (GtkWidget*) _tmp65_);
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp66_ = top_table;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp67_ = id_scrollwin;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp68_ = num_cols;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp69_ = row;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp70_ = num_rows;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp71_ = fill_and_expand;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp72_ = fill_and_expand;
+#line 792 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp66_, (GtkWidget*) _tmp67_, (guint) 0, (guint) (_tmp68_ - 1), (guint) _tmp69_, (guint) (_tmp70_ - 1), _tmp71_, _tmp72_, (guint) 6, (guint) 0);
+#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp73_ = _ ("Remember my identity choice for this service");
+#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp74_ = (GtkCheckButton*) gtk_check_button_new_with_label (_tmp73_);
+#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp74_);
+#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->remember_identity_binding);
+#line 795 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->remember_identity_binding = _tmp74_;
+#line 796 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp75_ = self->remember_identity_binding;
+#line 796 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_toggle_button_set_active ((GtkToggleButton*) _tmp75_, TRUE);
 #line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = (GtkEntry*) gtk_entry_new ();
+       _tmp76_ = top_table;
 #line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp0_);
+       _tmp77_ = self->remember_identity_binding;
 #line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->search_entry);
+       _tmp78_ = num_cols;
+#line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp79_ = num_rows;
 #line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->search_entry = _tmp0_;
+       _tmp80_ = num_rows;
+#line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp81_ = fill_and_expand;
+#line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp82_ = fill_and_expand;
+#line 797 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp76_, (GtkWidget*) _tmp77_, (guint) 0, (guint) (_tmp78_ / 2), (guint) (_tmp79_ - 1), (guint) _tmp80_, _tmp81_, _tmp82_, (guint) 3, (guint) 0);
 #line 799 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = self->priv->search_entry;
+       _tmp83_ = _ ("Add");
 #line 799 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _ ("Search entry");
+       _tmp84_ = (GtkButton*) gtk_button_new_with_label (_tmp83_);
 #line 799 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = _ ("Search for a specific ID Card");
+       g_object_ref_sink (_tmp84_);
 #line 799 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_set_atk_name_description (self, (GtkWidget*) _tmp1_, _tmp2_, _tmp3_);
-#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = self->priv->search_entry;
+       add_button = _tmp84_;
 #line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = find_icon_sized ("edit-find", GTK_ICON_SIZE_MENU);
+       _tmp85_ = add_button;
 #line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = _tmp5_;
-#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_from_pixbuf (_tmp4_, GTK_ENTRY_ICON_PRIMARY, _tmp6_);
-#line 800 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (_tmp6_);
-#line 803 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp7_ = self->priv->search_entry;
-#line 803 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp8_ = _ ("Search identity or service");
-#line 803 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_tooltip_text (_tmp7_, GTK_ENTRY_ICON_PRIMARY, _tmp8_);
+       g_signal_connect_object (_tmp85_, "clicked", (GCallback) ___lambda7__gtk_button_clicked, self, 0);
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp86_ = top_table;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp87_ = add_button;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp88_ = identity_manager_view_make_rigid (_tmp87_);
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp89_ = _tmp88_;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp90_ = num_cols;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp91_ = button_width;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp92_ = num_cols;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp93_ = row;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp94_ = row;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp95_ = fill;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp96_ = fill;
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp86_, _tmp89_, (guint) (_tmp90_ - _tmp91_), (guint) _tmp92_, (guint) _tmp93_, (guint) (_tmp94_ + 1), _tmp95_, _tmp96_, (guint) 0, (guint) 0);
+#line 801 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp89_);
+#line 802 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp97_ = row;
+#line 802 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = _tmp97_ + 1;
+#line 804 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp98_ = _ ("Import");
+#line 804 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp99_ = (GtkButton*) gtk_button_new_with_label (_tmp98_);
+#line 804 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp99_);
+#line 804 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       import_button = _tmp99_;
 #line 805 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp9_ = self->priv->search_entry;
+       _tmp100_ = import_button;
 #line 805 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_sensitive (_tmp9_, GTK_ENTRY_ICON_PRIMARY, FALSE);
+       g_signal_connect_object (_tmp100_, "clicked", (GCallback) ___lambda13__gtk_button_clicked, self, 0);
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp101_ = top_table;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp102_ = import_button;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp103_ = identity_manager_view_make_rigid (_tmp102_);
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp104_ = _tmp103_;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp105_ = num_cols;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp106_ = button_width;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp107_ = num_cols;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp108_ = row;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp109_ = row;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp110_ = fill;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp111_ = fill;
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp101_, _tmp104_, (guint) (_tmp105_ - _tmp106_), (guint) _tmp107_, (guint) _tmp108_, (guint) (_tmp109_ + 1), _tmp110_, _tmp111_, (guint) 0, (guint) 0);
+#line 806 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp104_);
 #line 807 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp10_ = self->priv->search_entry;
+       _tmp112_ = row;
 #line 807 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp11_ = find_icon_sized ("process-stop", GTK_ICON_SIZE_MENU);
-#line 807 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp12_ = _tmp11_;
-#line 807 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_from_pixbuf (_tmp10_, GTK_ENTRY_ICON_SECONDARY, _tmp12_);
-#line 807 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (_tmp12_);
+       row = _tmp112_ + 1;
+#line 809 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp113_ = _ ("Edit");
+#line 809 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp114_ = (GtkButton*) gtk_button_new_with_label (_tmp113_);
+#line 809 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp114_);
+#line 809 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->edit_button);
+#line 809 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->edit_button = _tmp114_;
 #line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp13_ = self->priv->search_entry;
+       _tmp115_ = self->priv->edit_button;
 #line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp14_ = _ ("Clear the current search");
-#line 810 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_tooltip_text (_tmp13_, GTK_ENTRY_ICON_SECONDARY, _tmp14_);
+       g_signal_connect_object (_tmp115_, "clicked", (GCallback) ___lambda14__gtk_button_clicked, self, 0);
+#line 811 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp116_ = self->priv->edit_button;
+#line 811 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp116_, FALSE);
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp117_ = top_table;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp118_ = self->priv->edit_button;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp119_ = identity_manager_view_make_rigid (_tmp118_);
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp120_ = _tmp119_;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp121_ = num_cols;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp122_ = button_width;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp123_ = num_cols;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp124_ = row;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp125_ = row;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp126_ = fill;
+#line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp127_ = fill;
 #line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp15_ = self->priv->search_entry;
+       gtk_table_attach (_tmp117_, _tmp120_, (guint) (_tmp121_ - _tmp122_), (guint) _tmp123_, (guint) _tmp124_, (guint) (_tmp125_ + 1), _tmp126_, _tmp127_, (guint) 0, (guint) 0);
 #line 812 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_icon_sensitive (_tmp15_, GTK_ENTRY_ICON_SECONDARY, FALSE);
+       _g_object_unref0 (_tmp120_);
+#line 813 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp128_ = row;
+#line 813 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = _tmp128_ + 1;
 #line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp16_ = self->priv->search_entry;
+       _tmp129_ = _ ("Remove");
 #line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (_tmp16_, "icon-press", (GCallback) _identity_manager_view_search_entry_icon_press_cb_gtk_entry_icon_press, self, 0);
+       _tmp130_ = (GtkButton*) gtk_button_new_with_label (_tmp129_);
+#line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp130_);
+#line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->remove_button);
+#line 815 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->remove_button = _tmp130_;
 #line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp17_ = self->priv->search_entry;
+       _tmp131_ = self->priv->remove_button;
 #line 816 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object ((GObject*) _tmp17_, "notify::text", (GCallback) _identity_manager_view_search_entry_text_changed_cb_g_object_notify, self, 0);
+       g_signal_connect_object (_tmp131_, "clicked", (GCallback) ___lambda15__gtk_button_clicked, self, 0);
 #line 817 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp18_ = self->priv->search_entry;
+       _tmp132_ = self->priv->remove_button;
 #line 817 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object ((GtkWidget*) _tmp18_, "key-press-event", (GCallback) _identity_manager_view_search_entry_key_press_event_cb_gtk_widget_key_press_event, self, 0);
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp132_, FALSE);
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp133_ = top_table;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp134_ = self->priv->remove_button;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp135_ = identity_manager_view_make_rigid (_tmp134_);
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp136_ = _tmp135_;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp137_ = num_cols;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp138_ = button_width;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp139_ = num_cols;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp140_ = row;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp141_ = row;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp142_ = fill;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp143_ = fill;
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp133_, _tmp136_, (guint) (_tmp137_ - _tmp138_), (guint) _tmp139_, (guint) _tmp140_, (guint) (_tmp141_ + 1), _tmp142_, _tmp143_, (guint) 0, (guint) 0);
+#line 818 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp136_);
 #line 819 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp19_ = custom_vbox_new (self, FALSE, 6);
+       _tmp144_ = row;
 #line 819 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp19_);
-#line 819 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->custom_vbox);
-#line 819 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->custom_vbox = _tmp19_;
-#line 821 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp20_ = (GtkViewport*) gtk_viewport_new (NULL, NULL);
-#line 821 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp20_);
-#line 821 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       viewport = _tmp20_;
+       row = _tmp144_ + 1;
+#line 822 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp145_ = row;
 #line 822 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_set_border_width ((GtkContainer*) viewport, (guint) 6);
+       row = _tmp145_ + 1;
 #line 823 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_viewport_set_shadow_type (viewport, GTK_SHADOW_NONE);
+       _tmp146_ = _ ("Send");
+#line 823 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp147_ = (GtkButton*) gtk_button_new_with_label (_tmp146_);
+#line 823 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp147_);
+#line 823 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->send_button);
+#line 823 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->send_button = _tmp147_;
 #line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp21_ = self->priv->custom_vbox;
+       _tmp148_ = self->priv->send_button;
 #line 824 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_add ((GtkContainer*) viewport, (GtkWidget*) _tmp21_);
-#line 825 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp22_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
-#line 825 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp22_);
-#line 825 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       scroll = _tmp22_;
+       g_signal_connect_object (_tmp148_, "clicked", (GCallback) ___lambda16__gtk_button_clicked, self, 0);
 #line 826 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_scrolled_window_set_policy (scroll, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+       _tmp149_ = self->priv->send_button;
+#line 826 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_widget_set_sensitive ((GtkWidget*) _tmp149_, FALSE);
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp150_ = top_table;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp151_ = self->priv->send_button;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp152_ = identity_manager_view_make_rigid (_tmp151_);
 #line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_scrolled_window_set_shadow_type (scroll, GTK_SHADOW_IN);
+       _tmp153_ = _tmp152_;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp154_ = num_cols;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp155_ = button_width;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp156_ = num_cols;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp157_ = row;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp158_ = row;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp159_ = fill;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp160_ = fill;
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_table_attach (_tmp150_, _tmp153_, (guint) (_tmp154_ - _tmp155_), (guint) _tmp156_, (guint) _tmp157_, (guint) (_tmp158_ + 1), _tmp159_, _tmp160_, (guint) 0, (guint) 0);
+#line 827 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (_tmp153_);
 #line 828 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_scrolled_window_add_with_viewport (scroll, (GtkWidget*) viewport);
-#line 829 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp23_ = _ ("");
-#line 829 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp24_ = (GtkLabel*) gtk_label_new (_tmp23_);
-#line 829 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp24_);
-#line 829 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->prompting_service);
-#line 829 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->prompting_service = _tmp24_;
-#line 831 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp25_ = self->priv->prompting_service;
-#line 831 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) _tmp25_, (gfloat) 0, (gfloat) 0.5);
-#line 833 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp26_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
-#line 833 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp26_);
-#line 833 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       vbox_left = _tmp26_;
-#line 834 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp27_ = self->priv->search_entry;
-#line 834 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) vbox_left, (GtkWidget*) _tmp27_, FALSE, FALSE, (guint) 6);
-#line 835 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) vbox_left, (GtkWidget*) scroll, TRUE, TRUE, (guint) 0);
-#line 836 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp28_ = self->priv->prompting_service;
-#line 836 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) vbox_left, (GtkWidget*) _tmp28_, FALSE, FALSE, (guint) 6);
-#line 837 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_size_request ((GtkWidget*) vbox_left, IDENTITY_MANAGER_VIEW_WINDOW_WIDTH, 0);
-#line 839 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp29_ = _ ("No Identity: Send this identity to services which should not use Moons" \
-"hot");
-#line 839 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp30_ = (GtkLabel*) gtk_label_new (_tmp29_);
-#line 839 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp30_);
-#line 839 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->no_identity_title);
-#line 839 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->no_identity_title = _tmp30_;
-#line 840 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp31_ = self->priv->no_identity_title;
-#line 840 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) _tmp31_, (gfloat) 0, (gfloat) 0.5);
-#line 841 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp32_ = self->priv->no_identity_title;
-#line 841 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_label_set_line_wrap (_tmp32_, TRUE);
-#line 842 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp33_ = self->priv->no_identity_title;
-#line 842 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_show ((GtkWidget*) _tmp33_);
+       _tmp161_ = row;
+#line 828 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       row = _tmp161_ + 1;
+#line 830 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp162_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
+#line 830 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp162_);
+#line 830 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       main_vbox = _tmp162_;
 #line 844 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp34_ = _ ("Login: ");
+       _tmp163_ = self->priv->ui_manager;
 #line 844 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp35_ = (GtkLabel*) gtk_label_new (_tmp34_);
+       _tmp164_ = gtk_ui_manager_get_widget (_tmp163_, "/MenuBar");
 #line 844 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp35_);
+       _tmp165_ = _g_object_ref0 (_tmp164_);
 #line 844 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       login_vbox_title = _tmp35_;
+       menubar = _tmp165_;
+#line 845 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp166_ = main_vbox;
 #line 845 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_label_make_bold (self, login_vbox_title);
+       _tmp167_ = menubar;
+#line 845 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp166_, _tmp167_, FALSE, FALSE, (guint) 0);
 #line 846 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) login_vbox_title, (gfloat) 0, (gfloat) 0.5);
-#line 847 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp36_ = _ ("Issuer:");
-#line 847 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp37_ = (GtkLabel*) gtk_label_new (_tmp36_);
-#line 847 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp37_);
-#line 847 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       issuer_label = _tmp37_;
+       _tmp168_ = menubar;
+#line 846 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       set_bg_color (_tmp168_);
+#line 848 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp169_ = main_vbox;
 #line 848 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) issuer_label, (gfloat) 1, (gfloat) 0.5);
-#line 849 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp38_ = (GtkEntry*) gtk_entry_new ();
-#line 849 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp38_);
-#line 849 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->issuer_entry);
-#line 849 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->issuer_entry = _tmp38_;
+       _tmp170_ = top_table;
+#line 848 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) _tmp169_, (GtkWidget*) _tmp170_, TRUE, TRUE, (guint) 6);
 #line 850 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp39_ = self->priv->issuer_entry;
+       _tmp171_ = main_vbox;
 #line 850 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_can_focus ((GtkWidget*) _tmp39_, FALSE);
-#line 851 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp40_ = _ ("Username:");
+       gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp171_);
 #line 851 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp41_ = (GtkLabel*) gtk_label_new (_tmp40_);
+       _tmp172_ = main_vbox;
 #line 851 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp41_);
-#line 851 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       username_label = _tmp41_;
-#line 852 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) username_label, (gfloat) 1, (gfloat) 0.5);
-#line 853 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp42_ = (GtkEntry*) gtk_entry_new ();
+       gtk_widget_show_all ((GtkWidget*) _tmp172_);
 #line 853 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp42_);
+       _tmp173_ = identity_manager_view_selection_in_progress (self);
 #line 853 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->username_entry);
-#line 853 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->username_entry = _tmp42_;
+       if (!_tmp173_) {
+#line 4875 "moonshot-identity-management-view.c"
+               GtkCheckButton* _tmp174_ = NULL;
 #line 854 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp43_ = self->priv->username_entry;
+               _tmp174_ = self->remember_identity_binding;
 #line 854 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_can_focus ((GtkWidget*) _tmp43_, FALSE);
-#line 855 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp44_ = _ ("Password:");
-#line 855 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp45_ = (GtkLabel*) gtk_label_new (_tmp44_);
-#line 855 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp45_);
-#line 855 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       password_label = _tmp45_;
-#line 856 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) password_label, (gfloat) 1, (gfloat) 0.5);
-#line 857 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp46_ = (GtkEntry*) gtk_entry_new ();
-#line 857 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp46_);
-#line 857 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->password_entry);
-#line 857 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->password_entry = _tmp46_;
-#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp47_ = self->priv->password_entry;
-#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_invisible_char (_tmp47_, (gunichar) '*');
-#line 859 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp48_ = self->priv->password_entry;
-#line 859 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_entry_set_visibility (_tmp48_, FALSE);
-#line 860 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp49_ = self->priv->password_entry;
-#line 860 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_sensitive ((GtkWidget*) _tmp49_, FALSE);
-#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp50_ = _ ("Remember password");
-#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp51_ = (GtkCheckButton*) gtk_check_button_new_with_label (_tmp50_);
-#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp51_);
-#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->remember_checkbutton);
-#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->remember_checkbutton = _tmp51_;
-#line 862 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp52_ = self->priv->remember_checkbutton;
-#line 862 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_set_sensitive ((GtkWidget*) _tmp52_, FALSE);
-#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp53_ = _ ("Update Password");
-#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp54_ = (GtkButton*) gtk_button_new_with_label (_tmp53_);
-#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp54_);
-#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->update_password_button);
-#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->update_password_button = _tmp54_;
-#line 864 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp55_ = self->priv->update_password_button;
-#line 864 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect_object (_tmp55_, "clicked", (GCallback) _identity_manager_view_update_password_cb_gtk_button_clicked, self, 0);
-#line 866 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp56_ = self->priv->issuer_entry;
-#line 866 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_set_atk_relation ((GtkWidget*) issuer_label, (GtkWidget*) _tmp56_, ATK_RELATION_LABEL_FOR);
-#line 867 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp57_ = self->priv->username_entry;
-#line 867 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_set_atk_relation ((GtkWidget*) username_label, (GtkWidget*) _tmp57_, ATK_RELATION_LABEL_FOR);
-#line 868 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp58_ = self->priv->password_entry;
-#line 868 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp59_ = self->priv->password_entry;
-#line 868 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_set_atk_relation ((GtkWidget*) _tmp58_, (GtkWidget*) _tmp59_, ATK_RELATION_LABEL_FOR);
-#line 870 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp60_ = (GtkTable*) gtk_table_new ((guint) 5, (guint) 2, FALSE);
-#line 870 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp60_);
-#line 870 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       login_table = _tmp60_;
-#line 871 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_set_col_spacings (login_table, (guint) 10);
-#line 872 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_set_row_spacings (login_table, (guint) 10);
-#line 873 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) issuer_label, (guint) 0, (guint) 1, (guint) 0, (guint) 1);
-#line 874 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp61_ = self->priv->issuer_entry;
-#line 874 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) _tmp61_, (guint) 1, (guint) 2, (guint) 0, (guint) 1);
-#line 875 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) username_label, (guint) 0, (guint) 1, (guint) 1, (guint) 2);
-#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp62_ = self->priv->username_entry;
-#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) _tmp62_, (guint) 1, (guint) 2, (guint) 1, (guint) 2);
-#line 877 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) password_label, (guint) 0, (guint) 1, (guint) 2, (guint) 3);
-#line 878 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp63_ = self->priv->password_entry;
-#line 878 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) _tmp63_, (guint) 1, (guint) 2, (guint) 2, (guint) 3);
-#line 879 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp64_ = self->priv->remember_checkbutton;
-#line 879 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) _tmp64_, (guint) 1, (guint) 2, (guint) 3, (guint) 4);
-#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp65_ = self->priv->update_password_button;
-#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_table_attach_defaults (login_table, (GtkWidget*) _tmp65_, (guint) 0, (guint) 1, (guint) 4, (guint) 5);
-#line 881 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp66_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0);
-#line 881 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp66_);
-#line 881 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       login_vbox_alignment = _tmp66_;
-#line 882 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_alignment_set_padding (login_vbox_alignment, (guint) 0, (guint) 0, (guint) 12, (guint) 0);
-#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_add ((GtkContainer*) login_vbox_alignment, (GtkWidget*) login_table);
-#line 884 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp67_ = (GtkVBox*) gtk_vbox_new (FALSE, 6);
-#line 884 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp67_);
-#line 884 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->login_vbox);
-#line 884 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->login_vbox = _tmp67_;
-#line 885 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp68_ = self->priv->login_vbox;
-#line 885 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp68_, (GtkWidget*) login_vbox_title, FALSE, TRUE, (guint) 0);
-#line 886 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp69_ = self->priv->login_vbox;
-#line 886 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp69_, (GtkWidget*) login_vbox_alignment, FALSE, TRUE, (guint) 0);
-#line 888 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp70_ = _ ("Services:");
-#line 888 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp71_ = (GtkLabel*) gtk_label_new (_tmp70_);
-#line 888 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp71_);
-#line 888 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       services_vbox_title = _tmp71_;
-#line 889 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       identity_manager_view_label_make_bold (self, services_vbox_title);
-#line 890 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_misc_set_alignment ((GtkMisc*) services_vbox_title, (gfloat) 0, (gfloat) 0.5);
-#line 891 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp72_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0);
-#line 891 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp72_);
-#line 891 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       services_vbox_alignment = _tmp72_;
-#line 892 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_alignment_set_padding (services_vbox_alignment, (guint) 0, (guint) 0, (guint) 12, (guint) 0);
-#line 893 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp73_ = (GtkVBox*) gtk_vbox_new (TRUE, 6);
-#line 893 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp73_);
-#line 893 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->services_internal_vbox);
-#line 893 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->services_internal_vbox = _tmp73_;
-#line 894 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp74_ = self->priv->services_internal_vbox;
-#line 894 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_add ((GtkContainer*) services_vbox_alignment, (GtkWidget*) _tmp74_);
-#line 895 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp75_ = (GtkVBox*) gtk_vbox_new (FALSE, 6);
-#line 895 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp75_);
-#line 895 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->services_vbox);
-#line 895 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->services_vbox = _tmp75_;
-#line 896 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp76_ = self->priv->services_vbox;
-#line 896 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp76_, (GtkWidget*) services_vbox_title, FALSE, TRUE, (guint) 0);
-#line 897 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp77_ = self->priv->services_vbox;
-#line 897 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp77_, (GtkWidget*) services_vbox_alignment, FALSE, TRUE, (guint) 0);
-#line 899 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp78_ = (GtkVBox*) gtk_vbox_new (FALSE, 18);
-#line 899 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp78_);
-#line 899 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->vbox_right);
-#line 899 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       self->priv->vbox_right = _tmp78_;
-#line 900 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp79_ = self->priv->vbox_right;
-#line 900 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp80_ = self->priv->login_vbox;
-#line 900 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp79_, (GtkWidget*) _tmp80_, FALSE, TRUE, (guint) 0);
-#line 901 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp81_ = self->priv->vbox_right;
-#line 901 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp82_ = self->priv->services_vbox;
-#line 901 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) _tmp81_, (GtkWidget*) _tmp82_, FALSE, TRUE, (guint) 0);
-#line 903 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp83_ = (GtkHBox*) gtk_hbox_new (FALSE, 12);
-#line 903 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp83_);
-#line 903 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       hbox = _tmp83_;
-#line 904 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) vbox_left, FALSE, FALSE, (guint) 0);
-#line 905 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp84_ = self->priv->vbox_right;
-#line 905 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) _tmp84_, TRUE, TRUE, (guint) 0);
-#line 907 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp85_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
-#line 907 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_object_ref_sink (_tmp85_);
-#line 907 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       main_vbox = _tmp85_;
-#line 908 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_set_border_width ((GtkContainer*) main_vbox, (guint) 12);
-#line 921 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp86_ = self->priv->ui_manager;
-#line 921 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp87_ = gtk_ui_manager_get_widget (_tmp86_, "/MenuBar");
-#line 921 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp88_ = _g_object_ref0 (_tmp87_);
-#line 921 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       menubar = _tmp88_;
-#line 922 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) main_vbox, menubar, FALSE, FALSE, (guint) 0);
-#line 924 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_box_pack_start ((GtkBox*) main_vbox, (GtkWidget*) hbox, TRUE, TRUE, (guint) 0);
-#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_container_add ((GtkContainer*) self, (GtkWidget*) main_vbox);
-#line 926 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_show_all ((GtkWidget*) main_vbox);
-#line 927 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp89_ = self->priv->vbox_right;
-#line 927 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       gtk_widget_hide ((GtkWidget*) _tmp89_);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               gtk_widget_hide ((GtkWidget*) _tmp174_);
+#line 4881 "moonshot-identity-management-view.c"
+       }
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (menubar);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (main_vbox);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (hbox);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (services_vbox_alignment);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (services_vbox_title);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (login_vbox_alignment);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (login_table);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (password_label);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (username_label);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (issuer_label);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (login_vbox_title);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (vbox_left);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (scroll);
-#line 793 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (import_button);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (add_button);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (id_scrollwin);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (viewport);
-#line 4802 "moonshot-identity-management-view.c"
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (search_spacer);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (search_vbox);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (full_search_label);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (search_label_markup);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (search_tooltip_text);
+#line 728 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (top_table);
+#line 4907 "moonshot-identity-management-view.c"
+}
+
+
+gboolean identity_manager_view_selection_in_progress (IdentityManagerView* self) {
+       gboolean result = FALSE;
+       GQueue* _tmp0_ = NULL;
+       gboolean _tmp1_ = FALSE;
+#line 857 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (self != NULL, FALSE);
+#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = self->priv->request_queue;
+#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = g_queue_is_empty (_tmp0_);
+#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = !_tmp1_;
+#line 858 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 4925 "moonshot-identity-management-view.c"
 }
 
 
@@ -4852,174 +4979,735 @@ static void identity_manager_view_set_atk_name_description (IdentityManagerView*
        AtkObject* _tmp2_ = NULL;
        const gchar* _tmp3_ = NULL;
        const gchar* _tmp4_ = NULL;
-#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (widget != NULL);
-#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (name != NULL);
-#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (description != NULL);
-#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = widget;
-#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp1_ = gtk_widget_get_accessible (_tmp0_);
-#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp2_ = _g_object_ref0 (_tmp1_);
-#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 863 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        atk_widget = _tmp2_;
-#line 934 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 865 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp3_ = name;
-#line 934 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 865 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        atk_object_set_name (atk_widget, _tmp3_);
-#line 935 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 866 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp4_ = description;
-#line 935 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 866 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        atk_object_set_description (atk_widget, _tmp4_);
-#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 861 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (atk_widget);
-#line 4839 "moonshot-identity-management-view.c"
+#line 4962 "moonshot-identity-management-view.c"
 }
 
 
-static void _gtk_main_quit_gtk_object_destroy (GtkObject* _sender, gpointer self) {
-#line 940 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+static void __lambda17_ (IdentityManagerView* self) {
+       MoonshotLogger* _tmp0_ = NULL;
+#line 872 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 872 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, "Destroy event; calling Gtk.main_quit()", NULL);
+#line 873 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        gtk_main_quit ();
-#line 4846 "moonshot-identity-management-view.c"
+#line 4974 "moonshot-identity-management-view.c"
+}
+
+
+static void ___lambda17__gtk_object_destroy (GtkObject* _sender, gpointer self) {
+#line 871 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __lambda17_ ((IdentityManagerView*) self);
+#line 4981 "moonshot-identity-management-view.c"
 }
 
 
 static void _identity_manager_view_on_card_list_changed_identity_manager_model_card_list_changed (IdentityManagerModel* _sender, gpointer self) {
-#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 875 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_on_card_list_changed ((IdentityManagerView*) self);
-#line 4853 "moonshot-identity-management-view.c"
+#line 4988 "moonshot-identity-management-view.c"
+}
+
+
+static gboolean __lambda18_ (IdentityManagerView* self) {
+       gboolean result = FALSE;
+       gboolean _tmp0_ = FALSE;
+#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_confirm_quit (self);
+#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = _tmp0_;
+#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 5001 "moonshot-identity-management-view.c"
+}
+
+
+static gboolean ___lambda18__gtk_widget_delete_event (GtkWidget* _sender, GdkEvent* event, gpointer self) {
+       gboolean result;
+       result = __lambda18_ ((IdentityManagerView*) self);
+#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 5010 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_connect_signals (IdentityManagerView* self) {
        IdentityManagerModel* _tmp0_ = NULL;
-#line 938 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 869 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_return_if_fail (self != NULL);
-#line 940 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_signal_connect ((GtkObject*) self, "destroy", (GCallback) _gtk_main_quit_gtk_object_destroy, NULL);
-#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 871 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_signal_connect_object ((GtkObject*) self, "destroy", (GCallback) ___lambda17__gtk_object_destroy, self, 0);
+#line 875 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = self->identities_manager;
-#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 875 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_signal_connect_object (_tmp0_, "card-list-changed", (GCallback) _identity_manager_view_on_card_list_changed_identity_manager_model_card_list_changed, self, 0);
-#line 4867 "moonshot-identity-management-view.c"
+#line 876 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_signal_connect_object ((GtkWidget*) self, "delete-event", (GCallback) ___lambda18__gtk_widget_delete_event, self, 0);
+#line 5026 "moonshot-identity-management-view.c"
 }
 
 
-static void identity_manager_view_set_atk_relation (GtkWidget* widget, GtkWidget* target_widget, AtkRelationType relationship) {
-       AtkObject* atk_widget = NULL;
-       GtkWidget* _tmp0_ = NULL;
-       AtkObject* _tmp1_ = NULL;
-       AtkObject* _tmp2_ = NULL;
-       AtkObject* atk_target_widget = NULL;
-       GtkWidget* _tmp3_ = NULL;
-       AtkObject* _tmp4_ = NULL;
-       AtkObject* _tmp5_ = NULL;
-       AtkRelationType _tmp6_ = 0;
+static gboolean identity_manager_view_confirm_quit (IdentityManagerView* self) {
+       gboolean result = FALSE;
+       MoonshotLogger* _tmp0_ = NULL;
+       gboolean _tmp1_ = FALSE;
+       gchar* _tmp2_ = NULL;
+       gchar* _tmp3_ = NULL;
+       gchar* _tmp4_ = NULL;
+       gchar* _tmp5_ = NULL;
+       gboolean _tmp6_ = FALSE;
+#line 879 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (self != NULL, FALSE);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = identity_manager_view_logger;
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = identity_manager_view_selection_in_progress (self);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = bool_to_string (_tmp1_);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = _tmp2_;
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = g_strconcat ("delete_event intercepted; selection_in_progress()=", _tmp3_, NULL);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp5_ = _tmp4_;
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       moonshot_logger_trace (_tmp0_, _tmp5_, NULL);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp5_);
+#line 880 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (_tmp3_);
+#line 882 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp6_ = identity_manager_view_selection_in_progress (self);
+#line 882 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp6_) {
+#line 5063 "moonshot-identity-management-view.c"
+               gboolean _result_ = FALSE;
+               const gchar* _tmp7_ = NULL;
+               gchar* _tmp8_ = NULL;
+               gchar* _tmp9_ = NULL;
+               gchar* _tmp10_ = NULL;
+               gchar* _tmp11_ = NULL;
+               GQueue* _tmp12_ = NULL;
+               gconstpointer _tmp13_ = NULL;
+               const gchar* _tmp14_ = NULL;
+               gchar* _tmp15_ = NULL;
+               gchar* _tmp16_ = NULL;
+               gchar* _tmp17_ = NULL;
+               gchar* _tmp18_ = NULL;
+               const gchar* _tmp19_ = NULL;
+               gchar* _tmp20_ = NULL;
+               gchar* _tmp21_ = NULL;
+               gboolean _tmp22_ = FALSE;
+               gboolean _tmp23_ = FALSE;
+               gboolean _tmp24_ = FALSE;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp7_ = _ ("Do you wish to use the %s service?");
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp8_ = g_strconcat ("<span font-weight='heavy'>", _tmp7_, NULL);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = _tmp8_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = g_strconcat (_tmp9_, "</span>", NULL);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp11_ = _tmp10_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp12_ = self->priv->request_queue;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp13_ = g_queue_peek_head (_tmp12_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp14_ = ((IdentityRequest*) _tmp13_)->service;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp15_ = g_markup_printf_escaped (_tmp11_, _tmp14_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp16_ = _tmp15_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp17_ = g_strconcat (_tmp16_, "\n\n", NULL);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp18_ = _tmp17_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = _ ("Select Yes to select an ID for this service, or No to cancel");
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp20_ = g_strconcat (_tmp18_, _tmp19_, NULL);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp21_ = _tmp20_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp22_ = warning_dialog_confirm ((GtkWindow*) self, _tmp21_, "close_moonshot_window");
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = _tmp22_;
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp21_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp18_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp16_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp11_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp9_);
+#line 883 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _result_ = _tmp23_;
+#line 889 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24_ = _result_;
+#line 889 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (_tmp24_) {
+#line 891 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       result = TRUE;
+#line 891 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       return result;
+#line 5137 "moonshot-identity-management-view.c"
+               }
+       }
+#line 896 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = FALSE;
+#line 896 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 5144 "moonshot-identity-management-view.c"
+}
+
+
+static GtkWidget* identity_manager_view_make_rigid (GtkButton* button) {
+       GtkWidget* result = NULL;
+       GtkVBox* fixed_height = NULL;
+       GtkVBox* _tmp0_ = NULL;
+       GtkButton* _tmp1_ = NULL;
+#line 899 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_val_if_fail (button != NULL, NULL);
+#line 902 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = (GtkVBox*) gtk_vbox_new (FALSE, 0);
+#line 902 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp0_);
+#line 902 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       fixed_height = _tmp0_;
+#line 903 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = button;
+#line 903 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_box_pack_start ((GtkBox*) fixed_height, (GtkWidget*) _tmp1_, FALSE, FALSE, (guint) 0);
+#line 905 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       result = (GtkWidget*) fixed_height;
+#line 905 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       return result;
+#line 5169 "moonshot-identity-management-view.c"
+}
+
+
+static void identity_manager_view_import_identities_cb (IdentityManagerView* self) {
+       GtkFileChooserDialog* dialog = NULL;
+       const gchar* _tmp0_ = NULL;
+       const gchar* _tmp1_ = NULL;
+       const gchar* _tmp2_ = NULL;
+       GtkFileChooserDialog* _tmp3_ = NULL;
+       const gchar* _tmp4_ = NULL;
+       GtkFileChooserDialog* _tmp7_ = NULL;
+       gint _tmp8_ = 0;
+       GtkFileChooserDialog* _tmp85_ = NULL;
+#line 908 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_return_if_fail (self != NULL);
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = _ ("Import File");
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp1_ = _ ("Cancel");
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp2_ = _ ("Open");
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp3_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, (GtkWindow*) self, GTK_FILE_CHOOSER_ACTION_OPEN, _tmp1_, GTK_RESPONSE_CANCEL, _tmp2_, GTK_RESPONSE_ACCEPT, NULL, NULL);
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       g_object_ref_sink (_tmp3_);
+#line 909 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       dialog = _tmp3_;
+#line 916 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp4_ = self->priv->import_directory;
+#line 916 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp4_ != NULL) {
+#line 5201 "moonshot-identity-management-view.c"
+               GtkFileChooserDialog* _tmp5_ = NULL;
+               const gchar* _tmp6_ = NULL;
+#line 917 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp5_ = dialog;
+#line 917 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp6_ = self->priv->import_directory;
+#line 917 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               gtk_file_chooser_set_current_folder ((GtkFileChooser*) _tmp5_, _tmp6_);
+#line 5210 "moonshot-identity-management-view.c"
+       }
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp7_ = dialog;
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp8_ = gtk_dialog_run ((GtkDialog*) _tmp7_);
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       if (_tmp8_ == ((gint) GTK_RESPONSE_ACCEPT)) {
+#line 5218 "moonshot-identity-management-view.c"
+               gchar* filename = NULL;
+               GtkFileChooserDialog* _tmp9_ = NULL;
+               gchar* _tmp10_ = NULL;
+               GFile* file = NULL;
+               const gchar* _tmp11_ = NULL;
+               GFile* _tmp12_ = NULL;
+               GFile* _tmp13_ = NULL;
+               GFile* _tmp14_ = NULL;
+               GFile* _tmp15_ = NULL;
+               gchar* _tmp16_ = NULL;
+               gint import_count = 0;
+               WebProvisioningParser* webp = NULL;
+               const gchar* _tmp17_ = NULL;
+               WebProvisioningParser* _tmp18_ = NULL;
+               GtkFileChooserDialog* _tmp19_ = NULL;
+               WebProvisioningParser* _tmp20_ = NULL;
+               MoonshotLogger* _tmp21_ = NULL;
+               WebProvisioningParser* _tmp22_ = NULL;
+               IdCard** _tmp23_ = NULL;
+               gint _tmp23__length1 = 0;
+               IdCard** _tmp24_ = NULL;
+               gint _tmp24__length1 = 0;
+               gchar* _tmp25_ = NULL;
+               gchar* _tmp26_ = NULL;
+               gchar* _tmp27_ = NULL;
+               gchar* _tmp28_ = NULL;
+               WebProvisioningParser* _tmp29_ = NULL;
+               IdCard** _tmp30_ = NULL;
+               gint _tmp30__length1 = 0;
+               IdCard** _tmp31_ = NULL;
+               gint _tmp31__length1 = 0;
+               gint _tmp80_ = 0;
+#line 923 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp9_ = dialog;
+#line 923 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp10_ = gtk_file_chooser_get_filename ((GtkFileChooser*) _tmp9_);
+#line 923 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               filename = _tmp10_;
+#line 924 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp11_ = filename;
+#line 924 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp12_ = g_file_new_for_path (_tmp11_);
+#line 924 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               file = _tmp12_;
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp13_ = file;
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp14_ = g_file_get_parent (_tmp13_);
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp15_ = _tmp14_;
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp16_ = g_file_get_path (_tmp15_);
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (self->priv->import_directory);
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               self->priv->import_directory = _tmp16_;
+#line 925 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (_tmp15_);
+#line 927 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               import_count = 0;
+#line 929 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp17_ = filename;
+#line 929 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp18_ = web_provisioning_parser_new (_tmp17_);
+#line 929 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               webp = _tmp18_;
+#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp19_ = dialog;
+#line 930 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               gtk_object_destroy ((GtkObject*) _tmp19_);
+#line 931 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp20_ = webp;
+#line 931 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               web_provisioning_parser_parse (_tmp20_);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp21_ = identity_manager_view_logger;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp22_ = webp;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp23_ = web_provisioning_parser_get_cards (_tmp22_, &_tmp23__length1);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24_ = _tmp23_;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp24__length1 = _tmp23__length1;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp25_ = g_strdup_printf ("%i", _tmp24__length1);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp26_ = _tmp25_;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp27_ = g_strconcat ("import_identities_cb: Have ", _tmp26_, " IdCards", NULL);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp28_ = _tmp27_;
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               moonshot_logger_trace (_tmp21_, _tmp28_, NULL);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp28_);
+#line 932 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (_tmp26_);
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp29_ = webp;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp30_ = web_provisioning_parser_get_cards (_tmp29_, &_tmp30__length1);
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp31_ = _tmp30_;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp31__length1 = _tmp30__length1;
+#line 5325 "moonshot-identity-management-view.c"
+               {
+                       IdCard** card_collection = NULL;
+                       gint card_collection_length1 = 0;
+                       gint _card_collection_size_ = 0;
+                       gint card_it = 0;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       card_collection = _tmp31_;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       card_collection_length1 = _tmp31__length1;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       for (card_it = 0; card_it < _tmp31__length1; card_it = card_it + 1) {
+#line 5337 "moonshot-identity-management-view.c"
+                               IdCard* _tmp32_ = NULL;
+                               IdCard* card = NULL;
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               _tmp32_ = _g_object_ref0 (card_collection[card_it]);
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                               card = _tmp32_;
+#line 5344 "moonshot-identity-management-view.c"
+                               {
+                                       IdCard* _tmp33_ = NULL;
+                                       IdCard* _tmp35_ = NULL;
+                                       TrustAnchor* _tmp36_ = NULL;
+                                       TrustAnchor* _tmp37_ = NULL;
+                                       gboolean _tmp38_ = FALSE;
+                                       gboolean _result_ = FALSE;
+                                       IdCard* _tmp61_ = NULL;
+                                       gboolean _tmp62_ = FALSE;
+                                       gboolean _tmp63_ = FALSE;
+                                       gboolean _tmp64_ = FALSE;
+#line 936 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp33_ = card;
+#line 936 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (_tmp33_ == NULL) {
+#line 5360 "moonshot-identity-management-view.c"
+                                               MoonshotLogger* _tmp34_ = NULL;
+#line 937 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp34_ = identity_manager_view_logger;
+#line 937 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               moonshot_logger_trace (_tmp34_, "import_identities_cb: Skipping null IdCard", NULL);
+#line 938 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_object_unref0 (card);
+#line 938 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               continue;
+#line 5370 "moonshot-identity-management-view.c"
+                                       }
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp35_ = card;
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp36_ = id_card_get_trust_anchor (_tmp35_);
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp37_ = _tmp36_;
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp38_ = trust_anchor_is_empty (_tmp37_);
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (!_tmp38_) {
+#line 5382 "moonshot-identity-management-view.c"
+                                               gchar* ta_datetime_added = NULL;
+                                               gchar* _tmp39_ = NULL;
+                                               IdCard* _tmp40_ = NULL;
+                                               TrustAnchor* _tmp41_ = NULL;
+                                               TrustAnchor* _tmp42_ = NULL;
+                                               const gchar* _tmp43_ = NULL;
+                                               MoonshotLogger* _tmp44_ = NULL;
+                                               IdCard* _tmp45_ = NULL;
+                                               const gchar* _tmp46_ = NULL;
+                                               const gchar* _tmp47_ = NULL;
+                                               const gchar* _tmp48_ = NULL;
+                                               IdCard* _tmp49_ = NULL;
+                                               TrustAnchor* _tmp50_ = NULL;
+                                               TrustAnchor* _tmp51_ = NULL;
+                                               const gchar* _tmp52_ = NULL;
+                                               const gchar* _tmp53_ = NULL;
+                                               IdCard* _tmp54_ = NULL;
+                                               TrustAnchor* _tmp55_ = NULL;
+                                               TrustAnchor* _tmp56_ = NULL;
+                                               const gchar* _tmp57_ = NULL;
+                                               const gchar* _tmp58_ = NULL;
+                                               gchar* _tmp59_ = NULL;
+                                               gchar* _tmp60_ = NULL;
+#line 942 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp39_ = trust_anchor_format_datetime_now ();
+#line 942 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               ta_datetime_added = _tmp39_;
+#line 943 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp40_ = card;
+#line 943 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp41_ = id_card_get_trust_anchor (_tmp40_);
+#line 943 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp42_ = _tmp41_;
+#line 943 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp43_ = ta_datetime_added;
+#line 943 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               trust_anchor_set_datetime_added (_tmp42_, _tmp43_);
 #line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (widget != NULL);
+                                               _tmp44_ = identity_manager_view_logger;
 #line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       g_return_if_fail (target_widget != NULL);
-#line 946 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp0_ = widget;
-#line 946 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp1_ = gtk_widget_get_accessible (_tmp0_);
-#line 946 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp2_ = _g_object_ref0 (_tmp1_);
-#line 946 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       atk_widget = _tmp2_;
-#line 947 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp3_ = target_widget;
-#line 947 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp4_ = gtk_widget_get_accessible (_tmp3_);
-#line 947 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp5_ = _g_object_ref0 (_tmp4_);
-#line 947 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       atk_target_widget = _tmp5_;
-#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _tmp6_ = relationship;
-#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       atk_object_add_relationship (atk_widget, _tmp6_, atk_target_widget);
+                                               _tmp45_ = card;
 #line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (atk_target_widget);
+                                               _tmp46_ = id_card_get_display_name (_tmp45_);
 #line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (atk_widget);
-#line 4909 "moonshot-identity-management-view.c"
+                                               _tmp47_ = _tmp46_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp48_ = ta_datetime_added;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp49_ = card;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp50_ = id_card_get_trust_anchor (_tmp49_);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp51_ = _tmp50_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp52_ = trust_anchor_get_ca_cert (_tmp51_);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp53_ = _tmp52_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp54_ = card;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp55_ = id_card_get_trust_anchor (_tmp54_);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp56_ = _tmp55_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp57_ = trust_anchor_get_server_cert (_tmp56_);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp58_ = _tmp57_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp59_ = g_strdup_printf ("import_identities_cb : Set ta_datetime_added for '%s' to '%s'; ca_cert" \
+"='%s'; server_cert='%s'", _tmp47_, _tmp48_, _tmp53_, _tmp58_);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp60_ = _tmp59_;
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               moonshot_logger_trace (_tmp44_, _tmp60_, NULL);
+#line 944 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_free0 (_tmp60_);
+#line 941 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_free0 (ta_datetime_added);
+#line 5460 "moonshot-identity-management-view.c"
+                                       }
+#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp61_ = card;
+#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp62_ = self->priv->use_flat_file_store;
+#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp63_ = identity_manager_view_add_identity (self, _tmp61_, _tmp62_, NULL);
+#line 949 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _result_ = _tmp63_;
+#line 950 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _tmp64_ = _result_;
+#line 950 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       if (_tmp64_) {
+#line 5474 "moonshot-identity-management-view.c"
+                                               MoonshotLogger* _tmp65_ = NULL;
+                                               IdCard* _tmp66_ = NULL;
+                                               const gchar* _tmp67_ = NULL;
+                                               const gchar* _tmp68_ = NULL;
+                                               const gchar* _tmp69_ = NULL;
+                                               gchar* _tmp70_ = NULL;
+                                               gchar* _tmp71_ = NULL;
+                                               gint _tmp72_ = 0;
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp65_ = identity_manager_view_logger;
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp66_ = card;
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp67_ = id_card_get_display_name (_tmp66_);
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp68_ = _tmp67_;
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp69_ = string_to_string (_tmp68_);
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp70_ = g_strconcat ("import_identities_cb: Added or updated '", _tmp69_, "'", NULL);
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp71_ = _tmp70_;
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               moonshot_logger_trace (_tmp65_, _tmp71_, NULL);
+#line 951 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_free0 (_tmp71_);
+#line 952 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp72_ = import_count;
+#line 952 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               import_count = _tmp72_ + 1;
+#line 5505 "moonshot-identity-management-view.c"
+                                       } else {
+                                               MoonshotLogger* _tmp73_ = NULL;
+                                               IdCard* _tmp74_ = NULL;
+                                               const gchar* _tmp75_ = NULL;
+                                               const gchar* _tmp76_ = NULL;
+                                               const gchar* _tmp77_ = NULL;
+                                               gchar* _tmp78_ = NULL;
+                                               gchar* _tmp79_ = NULL;
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp73_ = identity_manager_view_logger;
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp74_ = card;
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp75_ = id_card_get_display_name (_tmp74_);
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp76_ = _tmp75_;
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp77_ = string_to_string (_tmp76_);
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp78_ = g_strconcat ("import_identities_cb: Did not add or update '", _tmp77_, "'", NULL);
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _tmp79_ = _tmp78_;
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               moonshot_logger_trace (_tmp73_, _tmp79_, NULL);
+#line 955 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                               _g_free0 (_tmp79_);
+#line 5532 "moonshot-identity-management-view.c"
+                                       }
+#line 933 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                                       _g_object_unref0 (card);
+#line 5536 "moonshot-identity-management-view.c"
+                               }
+                       }
+               }
+#line 958 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _tmp80_ = import_count;
+#line 958 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               if (_tmp80_ == 0) {
+#line 5544 "moonshot-identity-management-view.c"
+                       GtkMessageDialog* msg_dialog = NULL;
+                       const gchar* _tmp81_ = NULL;
+                       GtkMessageDialog* _tmp82_ = NULL;
+                       GtkMessageDialog* _tmp83_ = NULL;
+                       GtkMessageDialog* _tmp84_ = NULL;
+#line 959 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp81_ = _ ("Import completed. No identities were added or updated.");
+#line 959 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp82_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", _tmp81_);
+#line 959 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       g_object_ref_sink (_tmp82_);
+#line 959 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       msg_dialog = _tmp82_;
+#line 965 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp83_ = msg_dialog;
+#line 965 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       gtk_dialog_run ((GtkDialog*) _tmp83_);
+#line 966 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _tmp84_ = msg_dialog;
+#line 966 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       gtk_object_destroy ((GtkObject*) _tmp84_);
+#line 958 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+                       _g_object_unref0 (msg_dialog);
+#line 5568 "moonshot-identity-management-view.c"
+               }
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (webp);
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_object_unref0 (file);
+#line 920 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+               _g_free0 (filename);
+#line 5576 "moonshot-identity-management-view.c"
+       }
+#line 969 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp85_ = dialog;
+#line 969 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       gtk_object_destroy ((GtkObject*) _tmp85_);
+#line 908 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (dialog);
+#line 5584 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_class_init (IdentityManagerViewClass * klass) {
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       MoonshotLogger* _tmp0_ = NULL;
+       GdkColor _tmp1_ = {0};
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        identity_manager_view_parent_class = g_type_class_peek_parent (klass);
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        g_type_class_add_private (klass, sizeof (IdentityManagerViewPrivate));
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        G_OBJECT_CLASS (klass)->finalize = identity_manager_view_finalize;
-#line 4920 "moonshot-identity-management-view.c"
+#line 37 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _tmp0_ = get_logger ("IdentityManagerView");
+#line 37 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_logger = _tmp0_;
+#line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       make_color ((guint16) 65535, (guint16) 65535, (guint16) 65535, &_tmp1_);
+#line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       identity_manager_view_white = _tmp1_;
+#line 5605 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_instance_init (IdentityManagerView * self) {
        GtkUIManager* _tmp0_ = NULL;
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self->priv = IDENTITY_MANAGER_VIEW_GET_PRIVATE (self);
-#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 39 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->use_flat_file_store = FALSE;
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _tmp0_ = gtk_ui_manager_new ();
-#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self->priv->ui_manager = _tmp0_;
-#line 4932 "moonshot-identity-management-view.c"
+#line 69 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->remember_identity_binding = NULL;
+#line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->selected_card = NULL;
+#line 73 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       self->priv->import_directory = NULL;
+#line 5625 "moonshot-identity-management-view.c"
 }
 
 
 static void identity_manager_view_finalize (GObject* obj) {
        IdentityManagerView * self;
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerView);
-#line 38 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _identity_manager_app_unref0 (self->parent_app);
-#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->ui_manager);
-#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->search_entry);
-#line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->vbox_right);
-#line 45 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->login_vbox);
-#line 46 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->services_vbox);
-#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->custom_vbox);
 #line 48 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->services_internal_vbox);
-#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->issuer_entry);
-#line 51 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->username_entry);
+       _identity_manager_app_unref0 (self->parent_app);
 #line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->password_entry);
+       _g_object_unref0 (self->priv->ui_manager);
 #line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->prompting_service);
+       _g_object_unref0 (self->priv->search_entry);
 #line 54 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->no_identity_title);
+       _g_object_unref0 (self->priv->custom_vbox);
 #line 55 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->remember_checkbutton);
+       _g_object_unref0 (self->priv->service_prompt_vbox);
 #line 56 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->priv->update_password_button);
+       _g_object_unref0 (self->priv->edit_button);
+#line 57 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->remove_button);
 #line 59 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->send_button);
+#line 62 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        _g_object_unref0 (self->priv->filter);
-#line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_object_unref0 (self->identities_manager);
 #line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       __g_queue_free__g_object_unref0_0 (self->request_queue);
-#line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
-       _g_hash_table_unref0 (self->priv->service_button_map);
-#line 35 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->identities_manager);
+#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       __g_queue_free__g_object_unref0_0 (self->priv->request_queue);
+#line 69 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->remember_identity_binding);
+#line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_object_unref0 (self->priv->selected_card);
+#line 73 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
+       _g_free0 (self->priv->import_directory);
+#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-identity-management-view.vala"
        G_OBJECT_CLASS (identity_manager_view_parent_class)->finalize (obj);
-#line 4980 "moonshot-identity-management-view.c"
+#line 5663 "moonshot-identity-management-view.c"
 }