Change own-notifcation wording and add a default action

This commit is contained in:
Samuel Hand 2018-08-12 12:16:42 +01:00
parent c59faad5bf
commit 380e5edc51
2 changed files with 15 additions and 2 deletions

View file

@ -33,8 +33,9 @@ public class OwnNotifications {
} }
private void display_notification() { private void display_notification() {
Notification notification = new Notification(_("Trust decision required")); Notification notification = new Notification(_("OMEMO trust decision required"));
notification.set_body(_("A new OMEMO device has been added for the account %s").printf("$(account.jid.bare_jid)")); notification.set_default_action_and_target_value("app.own-keys", new Variant.int32(account.id));
notification.set_body(_("Did you add a new device for account %s").printf(@"$(account.bare_jid.to_string())"));
plugin.app.send_notification(account.id.to_string()+"-new-device", notification); plugin.app.send_notification(account.id.to_string()+"-new-device", notification);
} }
} }

View file

@ -51,6 +51,18 @@ public class Plugin : RootInterface, Object {
}); });
Manager.start(this.app.stream_interactor, db, trust_manager); Manager.start(this.app.stream_interactor, db, trust_manager);
SimpleAction own_keys_action = new SimpleAction("own-keys", VariantType.INT32);
own_keys_action.activate.connect((variant) => {
foreach(Dino.Entities.Account account in this.app.stream_interactor.get_accounts()) {
if(account.id == variant.get_int32()) {
ContactDetailsDialog dialog = new ContactDetailsDialog(this, account, account.bare_jid);
dialog.set_transient_for((this.app as Gtk.Application).get_active_window());
dialog.present();
}
}
});
this.app.add_action(own_keys_action);
string locales_dir; string locales_dir;
if (app.search_path_generator != null) { if (app.search_path_generator != null) {
locales_dir = ((!)app.search_path_generator).get_locale_path(GETTEXT_PACKAGE, LOCALE_INSTALL_DIR); locales_dir = ((!)app.search_path_generator).get_locale_path(GETTEXT_PACKAGE, LOCALE_INSTALL_DIR);