add option to en(dis)able XEP-0136/0313. Fixes #8127
This commit is contained in:
parent
190b1b7886
commit
a44a71d6a5
|
@ -579,6 +579,23 @@
|
|||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="sync_logs_with_server_checkbutton1">
|
||||
<property name="label" translatable="yes">Synchronize logs with server</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_sync_logs_with_server_checkbutton_toggled"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="sync_with_global_status_checkbutton1">
|
||||
<property name="label" translatable="yes">Synch_ronize account status with global status</property>
|
||||
|
@ -594,7 +611,7 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -611,7 +628,7 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">4</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -629,7 +646,7 @@
|
|||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">5</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
@ -363,6 +363,7 @@ class Config:
|
|||
'custom_host': [ opt_str, '', '', True ],
|
||||
'sync_with_global_status': [ opt_bool, False, ],
|
||||
'no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you do not want to store logs. You can also add account name to log nothing for this account.')],
|
||||
'sync_logs_with_server': [ opt_bool, True, _('Download logs stored on server on Gajim startup if server supports XEP-0136 or XEP-0313')],
|
||||
'allow_no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you accept to not log conversations if he does not want to.')],
|
||||
'minimized_gc': [ opt_str, '' ],
|
||||
'attached_gpg_keys': [ opt_str, '' ],
|
||||
|
|
|
@ -1990,6 +1990,8 @@ class AccountsWindow:
|
|||
else:
|
||||
self.xml.get_object('log_history_checkbutton1').set_active(True)
|
||||
|
||||
self.xml.get_object('sync_logs_with_server_checkbutton1').set_active(
|
||||
gajim.config.get_per('accounts', account, 'sync_logs_with_server'))
|
||||
self.xml.get_object('sync_with_global_status_checkbutton1').set_active(
|
||||
gajim.config.get_per('accounts', account,
|
||||
'sync_with_global_status'))
|
||||
|
@ -2343,6 +2345,12 @@ class AccountsWindow:
|
|||
gajim.config.set_per('accounts', self.current_account, 'no_log_for',
|
||||
' '.join(list_no_log_for))
|
||||
|
||||
def on_sync_logs_with_server_checkbutton_toggled(self, widget):
|
||||
if self.ignore_events:
|
||||
return
|
||||
self.on_checkbutton_toggled(widget, 'sync_logs_with_server',
|
||||
account=self.current_account)
|
||||
|
||||
def on_sync_with_global_status_checkbutton_toggled(self, widget):
|
||||
if self.ignore_events:
|
||||
return
|
||||
|
|
|
@ -1139,13 +1139,15 @@ class Interface:
|
|||
# Else disable autoaway
|
||||
gajim.sleeper_state[account] = 'off'
|
||||
|
||||
if obj.conn.archiving_136_supported:
|
||||
if obj.conn.archiving_136_supported and gajim.config.get_per('accounts',
|
||||
account, 'sync_logs_with_server'):
|
||||
# Start merging logs from server
|
||||
obj.conn.request_modifications_page(gajim.config.get_per('accounts',
|
||||
account, 'last_archiving_time'))
|
||||
gajim.config.set_per('accounts', account, 'last_archiving_time',
|
||||
time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()))
|
||||
if obj.conn.archiving_313_supported:
|
||||
if obj.conn.archiving_313_supported and gajim.config.get_per('accounts',
|
||||
account, 'sync_logs_with_server'):
|
||||
mam_id = gajim.config.get_per('accounts', account, 'last_mam_id')
|
||||
if mam_id:
|
||||
obj.conn.request_archive(after=mam_id)
|
||||
|
|
Loading…
Reference in New Issue