diff options
author | fiaxh <git@lightrise.org> | 2019-05-11 09:39:02 -0600 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2019-07-08 18:46:30 +0200 |
commit | 837de4063dbe398735a5b1d35bde1821c177b555 (patch) | |
tree | 81c46027a32a9ff14f2c4932260ac97d3574b848 /plugins/omemo/src/ui/account_settings_widget.vala | |
parent | 701175fcd3b39aff46f52627af74b4de29363058 (diff) | |
download | dino-837de4063dbe398735a5b1d35bde1821c177b555.tar.gz dino-837de4063dbe398735a5b1d35bde1821c177b555.zip |
OMEMO: Move files to fitting subdirectory
Diffstat (limited to 'plugins/omemo/src/ui/account_settings_widget.vala')
-rw-r--r-- | plugins/omemo/src/ui/account_settings_widget.vala | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/omemo/src/ui/account_settings_widget.vala b/plugins/omemo/src/ui/account_settings_widget.vala new file mode 100644 index 00000000..6148da56 --- /dev/null +++ b/plugins/omemo/src/ui/account_settings_widget.vala @@ -0,0 +1,54 @@ +using Gtk; +using Dino.Entities; + +namespace Dino.Plugins.Omemo { + +public class AccountSettingWidget : Plugins.AccountSettingsWidget, Box { + private Plugin plugin; + private Label fingerprint; + private Account account; + private Button btn; + + public AccountSettingWidget(Plugin plugin) { + this.plugin = plugin; + + fingerprint = new Label("..."); + fingerprint.xalign = 0; + Border border = new Button().get_style_context().get_padding(StateFlags.NORMAL); + fingerprint.margin_top = border.top + 1; + fingerprint.margin_start = border.left + 1; + fingerprint.visible = true; + pack_start(fingerprint); + + btn = new Button(); + btn.image = new Image.from_icon_name("view-list-symbolic", IconSize.BUTTON); + btn.relief = ReliefStyle.NONE; + btn.visible = false; + btn.valign = Align.CENTER; + btn.clicked.connect(() => { + activated(); + ContactDetailsDialog dialog = new ContactDetailsDialog(plugin, account, account.bare_jid); + dialog.set_transient_for((Window) get_toplevel()); + dialog.present(); + }); + pack_start(btn, false); + } + + public void set_account(Account account) { + this.account = account; + btn.visible = false; + Qlite.Row? row = plugin.db.identity.row_with(plugin.db.identity.account_id, account.id).inner; + if (row == null) { + fingerprint.set_markup("%s\n<span font='8'>%s</span>".printf(_("Own fingerprint"), _("Will be generated on first connect"))); + } else { + string res = fingerprint_markup(fingerprint_from_base64(((!)row)[plugin.db.identity.identity_key_public_base64])); + fingerprint.set_markup("%s\n<span font_family='monospace' font='8'>%s</span>".printf(_("Own fingerprint"), res)); + btn.visible = true; + } + } + + public void deactivate() { + } +} + +} |