diff options
author | mathieui <mathieui@mathieui.net> | 2012-07-31 13:37:40 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2012-07-31 13:38:53 +0200 |
commit | ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12 (patch) | |
tree | 246f4983bc1b4ba839fa11ee23c7e5ee469c5362 | |
parent | 906c74f0bea7794ad4341b9f64ca7508e2394fff (diff) | |
download | poezio-ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12.tar.gz poezio-ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12.tar.bz2 poezio-ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12.tar.xz poezio-ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12.zip |
Make the autorejoin option work with bans, too, and fix the documentation
-rw-r--r-- | data/default_config.cfg | 6 | ||||
-rw-r--r-- | doc/en/configure.txt | 8 | ||||
-rw-r--r-- | src/tabs.py | 13 |
3 files changed, 20 insertions, 7 deletions
diff --git a/data/default_config.cfg b/data/default_config.cfg index 677da719..d674e098 100644 --- a/data/default_config.cfg +++ b/data/default_config.cfg @@ -144,11 +144,11 @@ popup_time = 4 # Set to 'true' if you want to automatically rejoin the -# rooms when you're kicked +# rooms when you're kicked or banned autorejoin = false -# Set to the delay you want to reconnect when you are kicked -# no value, 0, or a negative value means you will be reconnected +# Set to the number of seconds before reconnecting when you are kicked +# or banned. No value, 0, or a negative value means you will be reconnected # instantly. Only effective if autorejoin is set to true. autorejoin_delay = 5 diff --git a/doc/en/configure.txt b/doc/en/configure.txt index 5e2f1053..f72d1627 100644 --- a/doc/en/configure.txt +++ b/doc/en/configure.txt @@ -478,12 +478,12 @@ foo = true *autorejoin*:: false - set to 'true' if you want to automatically rejoin the - room when you're kicked. + Set to 'true' if you want to automatically rejoin the + room when you're kicked or banned. *autorejoin_delay*:: 5 - Set to the number of seconds before reconnecting after getting kicked. - 0, a negative value, or no value means you instant reconnection. + Set to the number of seconds before reconnecting after getting kicked or + banned. 0, a negative value, or no value means instant reconnection. This option only works if autorejoin is enabled. diff --git a/src/tabs.py b/src/tabs.py index d6369a9d..4d52a285 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -1320,6 +1320,19 @@ class MucTab(ChatTab): self.refresh_tab_win() self.core.current_tab().input.refresh() self.core.doupdate() + if config.get_by_tabname('autorejoin', 'false', self.general_jid, True) == 'true': + delay = config.get_by_tabname('autorejoin_delay', "5", self.general_jid, True) + delay = common.parse_str_to_secs(delay) + if delay <= 0: + muc.join_groupchat(self.core.xmpp, self.name, self.own_nick) + else: + self.core.add_timed_event(timed_events.DelayedEvent( + delay, + muc.join_groupchat, + self.core.xmpp, + self.name, + self.own_nick)) + else: color = user.color[0] if config.get_by_tabname('display_user_color_in_join_part', '', self.general_jid, True) == 'true' else 3 if by: |