changeset d0fcde466a48 in /home/hg/repos/gajim-plugins
author: lovetox <[email protected]>
branches:
details:gajim-plugins?cmd=changeset;node=d0fcde466a48
description: Show config dialog if there are no accounts
Fixes:#118
diffstat:
omemo/ui.py | 50 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 38 insertions(+), 12 deletions(-)
diffs (96 lines):
diff -r 94f78e560b6b -r d0fcde466a48 omemo/ui.py
--- a/omemo/ui.py Sun Sep 18 01:59:27 2016 +0200
+++ b/omemo/ui.py Sun Sep 18 18:13:01 2016 +0200
@@ -266,11 +266,6 @@
self.device_model = gtk.ListStore(gobject.TYPE_STRING)
- self.account_store = self.B.get_object('account_store')
-
- for account in sorted(gajim.contacts.get_accounts()):
- self.account_store.append(row=(account,))
-
self.fpr_view = self.B.get_object('fingerprint_view')
self.fpr_view.set_model(self.fpr_model)
self.fpr_view.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
@@ -278,19 +273,38 @@
self.device_view = self.B.get_object('deviceid_view')
self.device_view.set_model(self.device_model)
- if len(self.account_store) > 0:
- self.B.get_object('account_combobox').set_active(0)
-
self.child.pack_start(self.B.get_object('notebook1'))
self.B.connect_signals(self)
def on_run(self):
- self.update_context_list()
- self.account_combobox_changed_cb(self.B.get_object('account_combobox'))
+ self.update_account_combobox()
+ self.clear_all()
+ if len(self.account_store) > 0:
+ self.account_combobox_changed_cb(
+ self.B.get_object('account_combobox'))
+
+ def clear_all(self):
+ self.fpr_model.clear()
+ self.device_model.clear()
+ self.B.get_object('ID').set_markup('')
+ self.B.get_object('fingerprint_label').set_markup('')
+ self.B.get_object('trust_button').set_sensitive(False)
+ self.B.get_object('delfprbutton').set_sensitive(False)
+ self.B.get_object('refresh').set_sensitive(False)
+ self.B.get_object('cleardevice_button').set_sensitive(False)
+
+ def update_account_combobox(self):
+ self.account_store = self.B.get_object('account_store')
+ self.account_store.clear()
+ for account in sorted(gajim.contacts.get_accounts()):
+ self.account_store.append(row=(account,))
+ if len(self.account_store) > 0:
+ self.B.get_object('account_combobox').set_active(0)
def account_combobox_changed_cb(self, box, *args):
- self.update_context_list()
+ if len(self.account_store) > 0:
+ self.update_context_list()
def delfpr_button_clicked(self, button, *args):
active = self.B.get_object('account_combobox').get_active()
@@ -429,8 +443,18 @@
self.device_model.clear()
active = self.B.get_object('account_combobox').get_active()
account = self.account_store[active][0]
+
+ # Set buttons active
+ self.B.get_object('trust_button').set_sensitive(True)
+ self.B.get_object('delfprbutton').set_sensitive(True)
+ self.B.get_object('refresh').set_sensitive(True)
+ if account == 'Local':
+ self.B.get_object('cleardevice_button').set_sensitive(False)
+ else:
+ self.B.get_object('cleardevice_button').set_sensitive(True)
+
+ # Set FPR Label and DeviceID
state = self.plugin.get_omemo_state(account)
-
deviceid = state.own_device_id
self.B.get_object('ID').set_markup('<tt>%s</tt>' % deviceid)
@@ -440,6 +464,7 @@
self.B.get_object('fingerprint_label').set_markup('<tt>%s</tt>'
% ownfpr)
+ # Set Fingerprint List
trust_str = {0: 'False', 1: 'True', 2: 'Undecided'}
session_db = state.store.getAllSessions()
@@ -468,6 +493,7 @@
format(color[trust], fpr),
deviceid))
+ # Set Device ID List
for item in state.own_devices:
self.device_model.append([item])
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits