diff options
author | Samuel Hand <samuel.hand@openmailbox.org> | 2018-08-12 12:16:42 +0100 |
---|---|---|
committer | Samuel Hand <samuel.hand@openmailbox.org> | 2018-08-12 12:16:42 +0100 |
commit | 380e5edc5108d549d2faa0b3b5819a7c2ee03bd8 (patch) | |
tree | b70209b0479eea543b8706427b2f2cc39d97a734 | |
parent | c59faad5bf62b9e9a124a6e330745885c993ea21 (diff) | |
download | dino-380e5edc5108d549d2faa0b3b5819a7c2ee03bd8.tar.gz dino-380e5edc5108d549d2faa0b3b5819a7c2ee03bd8.zip |
Change own-notifcation wording and add a default action
-rw-r--r-- | plugins/omemo/src/own_notifications.vala | 5 | ||||
-rw-r--r-- | plugins/omemo/src/plugin.vala | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/plugins/omemo/src/own_notifications.vala b/plugins/omemo/src/own_notifications.vala index 862ff33a..5c96f8d5 100644 --- a/plugins/omemo/src/own_notifications.vala +++ b/plugins/omemo/src/own_notifications.vala @@ -33,8 +33,9 @@ public class OwnNotifications { } private void display_notification() { - Notification notification = new Notification(_("Trust decision required")); - notification.set_body(_("A new OMEMO device has been added for the account %s").printf("$(account.jid.bare_jid)")); + Notification notification = new Notification(_("OMEMO trust decision required")); + 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); } } diff --git a/plugins/omemo/src/plugin.vala b/plugins/omemo/src/plugin.vala index 81cf5c7f..ab22651f 100644 --- a/plugins/omemo/src/plugin.vala +++ b/plugins/omemo/src/plugin.vala @@ -51,6 +51,18 @@ public class Plugin : RootInterface, Object { }); 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; if (app.search_path_generator != null) { locales_dir = ((!)app.search_path_generator).get_locale_path(GETTEXT_PACKAGE, LOCALE_INSTALL_DIR); |