diff --git a/data/gui/preferences_window.ui b/data/gui/preferences_window.ui index 4fc92decc..9cdc74338 100644 --- a/data/gui/preferences_window.ui +++ b/data/gui/preferences_window.ui @@ -2567,7 +2567,7 @@ to discover one from server. - Allow _OS information to be sent + Allow client / _OS information to be sent True True False @@ -2581,6 +2581,24 @@ to discover one from server. 2 + + + Allow local system time information to be sent + True + True + False + If checked, Gajim will allow others to detect the time on your system + True + True + + + + 2 + 3 + + + + Log _encrypted chat session @@ -2593,8 +2611,8 @@ to discover one from server. - 2 - 3 + 3 + 4 @@ -2608,8 +2626,8 @@ to discover one from server. - 3 - 4 + 4 + 5 diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py index 07165bd4d..b320515e6 100644 --- a/src/common/connection_handlers.py +++ b/src/common/connection_handlers.py @@ -1469,13 +1469,18 @@ ConnectionJingle, ConnectionIBBytestream): def _nec_version_request_received(self, obj): if obj.conn.name != self.name: return - iq_obj = obj.stanza.buildReply('result') - qp = iq_obj.setQuery() - qp.setTagData('name', 'Gajim') - qp.setTagData('version', gajim.version) send_os = gajim.config.get_per('accounts', self.name, 'send_os_info') if send_os: + iq_obj = obj.stanza.buildReply('result') + qp = iq_obj.getQuery() + qp.setTagData('name', 'Gajim') + qp.setTagData('version', gajim.version) qp.setTagData('os', helpers.get_os_info()) + else: + iq_obj = obj.stanza.buildReply('error') + err = common.xmpp.ErrorNode(name=common.xmpp.NS_STANZAS + \ + ' service-unavailable') + iq_obj.addChild(node=err) self.connection.send(iq_obj) def _LastCB(self, con, iq_obj): diff --git a/src/config.py b/src/config.py index 2e5867ce5..2057655ca 100644 --- a/src/config.py +++ b/src/config.py @@ -535,6 +535,14 @@ class PreferencesWindow: else: w.set_active(st) + # send absolute time info + w = self.xml.get_object('send_time_info_checkbutton') + st = self.get_per_account_option('send_time_info') + if st == 'mixed': + w.set_inconsistent(True) + else: + w.set_active(st) + # send idle time w = self.xml.get_object('send_idle_time_checkbutton') st = self.get_per_account_option('send_idle_time') @@ -1166,6 +1174,10 @@ class PreferencesWindow: widget.set_inconsistent(False) self.on_per_account_checkbutton_toggled(widget, 'send_os_info') + def on_send_time_info_checkbutton_toggled(self, widget): + widget.set_inconsistent(False) + self.on_per_account_checkbutton_toggled(widget, 'send_time_info') + def on_send_idle_time_checkbutton_toggled(self, widget): widget.set_inconsistent(False) self.on_per_account_checkbutton_toggled(widget, 'send_idle_time')