From e4c9820146b9dbc5c455ee7132eb0c042dcc407c Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Thu, 13 Oct 2011 18:04:43 +0200 Subject: [PATCH] handle default value in seclabel combobox. see #7010 --- src/chat_control.py | 11 +++++++++-- src/common/connection_handlers.py | 6 +++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/chat_control.py b/src/chat_control.py index 0ce18a8ed..2969ba474 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -311,9 +311,16 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools): def on_seclabels_ready(self): lb = self.seclabel_combo.get_model() lb.clear() - for label in gajim.connections[self.account].seclabel_catalogues[self.contact.jid][2]: + i = 0 + sel = 0 + catalogue = gajim.connections[self.account].seclabel_catalogues[ + self.contact.jid] + for label in catalogue[2]: lb.append([label]) - self.seclabel_combo.set_active(0) + if label == catalogue[3]: + sel = i + i += 1 + self.seclabel_combo.set_active(sel) self.seclabel_combo.set_no_show_all(False) self.seclabel_combo.show_all() diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py index 0e96eb500..3a5f43534 100644 --- a/src/common/connection_handlers.py +++ b/src/common/connection_handlers.py @@ -1416,14 +1416,18 @@ ConnectionJingle, ConnectionIBBytestream): items = query.getTags('item') labels = {} ll = [] + default = None for item in items: label = item.getAttr('selector') labels[label] = item.getTag('securitylabel') ll.append(label) + if item.getAttr('default') == 'true': + default = label if to not in self.seclabel_catalogues: - self.seclabel_catalogues[to] = [[], None, None] + self.seclabel_catalogues[to] = [[], None, None, None] self.seclabel_catalogues[to][1] = labels self.seclabel_catalogues[to][2] = ll + self.seclabel_catalogues[to][3] = default for callback in self.seclabel_catalogues[to][0]: callback() self.seclabel_catalogues[to][0] = []