private Entry username_entry;
private Entry password_entry;
+ private ListStore listmodel;
+
private enum Columns
{
IDCARD_COL,
LOGO_COL,
- NAME_COL,
+ ISSUER_COL,
+ USERNAME_COL,
+ PASSWORD_COL,
N_COLUMNS
}
set_default_size (WINDOW_WIDTH, WINDOW_HEIGHT);
build_ui();
+ setup_identities_list();
connect_signals();
}
return false;
}
+ private void setup_identities_list ()
+ {
+ this.listmodel = new ListStore (Columns.N_COLUMNS, typeof (IdCard),
+ typeof (Gdk.Pixbuf),
+ typeof (string),
+ typeof (string),
+ typeof (string));
+ }
+
private void fill_details (IdCardWidget id_card_widget)
{
var id_card = id_card_widget.id_card;
private void add_identity (AddIdentityDialog dialog)
{
+ TreeIter iter;
+
var id_card = get_id_card_data (dialog);
var id_card_widget = new IdCardWidget (id_card);
id_card_widget.remove_id.connect (remove_identity_cb);
id_card_widget.expanded.connect (this.custom_vbox.receive_expanded_event);
id_card_widget.expanded.connect (fill_details);
+
+ this.listmodel.append (out iter);
+ listmodel.set (iter,
+ Columns.IDCARD_COL, id_card,
+ Columns.LOGO_COL, id_card.pixbuf,
+ Columns.ISSUER_COL, id_card.issuer,
+ Columns.USERNAME_COL, id_card.username,
+ Columns.PASSWORD_COL, id_card.password);
}
private void add_identity_cb ()
private void remove_identity (IdCardWidget id_card_widget)
{
+ TreeIter iter;
+ string issuer;
+
custom_vbox.remove (id_card_widget);
+
+ if (listmodel.get_iter_first (out iter))
+ {
+ do
+ {
+ listmodel.get (iter,
+ Columns.ISSUER_COL, out issuer);
+
+ if (id_card_widget.id_card.issuer == issuer)
+ {
+ listmodel.remove (iter);
+ break;
+ }
+ }
+ while (listmodel.iter_next (ref iter));
+ }
}
private void remove_identity_cb (IdCardWidget id_card_widget)