#endif
identities_manager = parent_app.model;
request_queue = new GLib.Queue<IdentityRequest>();
- this.title = "Moonshot Identity Selector";
+ this.title = _("Moonshot Identity Selector");
this.set_position(WindowPosition.CENTER);
set_default_size(WINDOW_WIDTH, WINDOW_HEIGHT);
build_ui();
this.send_button.set_sensitive(false);
}
- public bool add_identity(IdCard id_card, bool force_flat_file_store)
+ public bool add_identity(IdCard id_card, bool force_flat_file_store, out ArrayList<IdCard>? old_duplicates=null)
{
#if OS_MACOS
/*
int flags = prev_id.Compare(id_card);
logger.trace("add_identity: compare returned " + flags.to_string());
if (flags == 0) {
+ if (&old_duplicates != null) {
+ old_duplicates = new ArrayList<IdCard>();
+ }
+
return false; // no changes, no need to update
} else if ((flags & (1 << IdCard.DiffFlags.DISPLAY_NAME)) != 0) {
dialog = new Gtk.MessageDialog(this,
#endif
if (ret == Gtk.ResponseType.YES) {
- this.identities_manager.add_card(id_card, force_flat_file_store);
+ this.identities_manager.add_card(id_card, force_flat_file_store, out old_duplicates);
return true;
}
- return false;
+ else {
+ if (&old_duplicates != null) {
+ old_duplicates = new ArrayList<IdCard>();
+ }
+ return false;
+ }
}
private void add_identity_cb()
{
bool remove = WarningDialog.confirm(this,
Markup.printf_escaped(
- "<span font-weight='heavy'>You are about to remove the identity '%s'.</span>",
+ "<span font-weight='heavy'>" + _("You are about to remove the identity '%s'.") + "</span>",
id_card.display_name)
- + "\n\nAre you sure you want to do this?",
+ + "\n\n" + _("Are you sure you want to do this?"),
"delete_idcard");
if (remove)
remove_identity(id_card);
this.search_entry.key_press_event.connect(search_entry_key_press_event_cb);
this.search_entry.set_width_chars(24);
- var search_label_markup =_("<small>") + search_tooltip_text + _("</small>");
+ var search_label_markup ="<small>" + search_tooltip_text + "</small>";
var full_search_label = new Label(null);
full_search_label.set_markup(search_label_markup);
full_search_label.set_alignment(1, 0);
if (selection_in_progress()) {
var result = WarningDialog.confirm(this,
Markup.printf_escaped(
- _("<span font-weight='heavy'>Do you wish to use the %s service?</span>"),
+ "<span font-weight='heavy'>" + _("Do you wish to use the %s service?") + "</span>",
this.request_queue.peek_head().service)
- + _("\n\nSelect Yes to select an ID for this service, or No to cancel"),
+ + "\n\n" + _("Select Yes to select an ID for this service, or No to cancel"),
"close_moonshot_window");
if (result) {
// Prevent other handlers from handling this event; this keeps the window open.
}
private void import_identities_cb() {
- var dialog = new FileChooserDialog("Import File",
+ var dialog = new FileChooserDialog(_("Import File"),
this,
FileChooserAction.OPEN,
_("Cancel"),ResponseType.CANCEL,
- _("Save"), ResponseType.ACCEPT,
+ _("Open"), ResponseType.ACCEPT,
null);
if (import_directory != null) {
continue;
}
+ if (!card.trust_anchor.is_empty()) {
+ string ta_datetime_added = TrustAnchor.format_datetime_now();
+ card.trust_anchor.set_datetime_added(ta_datetime_added);
+ logger.trace("import_identities_cb : Set ta_datetime_added for '%s' to '%s'; ca_cert='%s'; server_cert='%s'"
+ .printf(card.display_name, ta_datetime_added, card.trust_anchor.ca_cert, card.trust_anchor.server_cert));
+ }
+
+
bool result = add_identity(card, use_flat_file_store);
if (result) {
logger.trace(@"import_identities_cb: Added or updated '$(card.display_name)'");
msg_dialog.run();
msg_dialog.destroy();
}
+ dialog.destroy();
}
}