}
public signal void card_list_changed();
+ /* This method finds a valid display name */
+ public bool display_name_is_valid (string name,
+ out string? candidate)
+ {
+ candidate = null;
+ foreach (IdCard id_card in this.get_card_list())
+ {
+ if (id_card.display_name == name)
+ {
+ if (&candidate != null)
+ {
+ for (int i=0; i<1000; i++)
+ {
+ string tmp = "%s %d".printf (name, i);
+ if (display_name_is_valid (tmp, null))
+ {
+ candidate = tmp;
+ break;
+ }
+ }
+ }
+ return false;
+ }
+ }
+ return true;
+ }
+
public void add_card(IdCard card) {
+ string candidate;
+
+ if (!display_name_is_valid (card.display_name, out candidate))
+ {
+ card.display_name = candidate;
+ }
+
store.add_card(card);
card_list_changed();
}
id_card_widget.expanded.connect (fill_details);
}
- /* This method finds a valid display name */
- public bool display_name_is_valid (string name,
- out string? candidate)
- {
- foreach (IdCard id_card in identities_manager.get_card_list())
- {
- if (id_card.display_name == name)
- {
- if (&candidate != null)
- {
- for (int i=0; i<1000; i++)
- {
- string tmp = "%s %d".printf (name, i);
- if (display_name_is_valid (tmp, null))
- {
- candidate = tmp;
- break;
- }
- }
- }
- return false;
- }
- }
-
- return true;
- }
-
- public void insert_id_card (IdCard id_card)
- {
- string candidate;
-
- if (!display_name_is_valid (id_card.display_name, out candidate))
- {
- id_card.display_name = candidate;
- }
-
- this.identities_manager.add_card(id_card);
- }
-
public bool add_identity (IdCard id_card)
{
#if OS_MACOS
if (ret == Gtk.ResponseType.YES) {
id_card.set_data ("pixbuf", find_icon ("avatar-default", 48));
- this.insert_id_card (id_card);
+ this.identities_manager.add_card (id_card);
return true;
}
switch (result) {
case ResponseType.OK:
- insert_id_card (get_id_card_data (dialog));
+ this.identities_manager.add_card (get_id_card_data (dialog));
break;
default:
break;
}
public bool add_identity (IdCard id) {
- /* TODO: add to store here irrespective of view's existence */
if (view != null) return view.add_identity(id);
- return false;
+ model.add_card(id);
+ return true;
}
public void select_identity (IdentityRequest request) {