Author: asterix Date: 2007-08-31 10:48:04 +0200 (Fri, 31 Aug 2007) New Revision: 8667
Modified: branches/gajim_0.11.1/src/roster_window.py Log: join bookmarks when we come back from invisibility. fixes #3203
Modified: branches/gajim_0.11.1/src/roster_window.py =================================================================== --- branches/gajim_0.11.1/src/roster_window.py 2007-08-31 08:45:09 UTC (rev 8666) +++ branches/gajim_0.11.1/src/roster_window.py 2007-08-31 08:48:04 UTC (rev 8667) @@ -2812,8 +2812,37 @@ gajim.sleeper_state[account] = 'online' elif gajim.sleeper_state[account] not in ('autoaway', 'autoxa'): gajim.sleeper_state[account] = 'off' - gajim.connections[account].change_status(status, txt, auto) + if to: + gajim.connections[account].send_custom_status(status, txt, to) + else: + was_invisible = gajim.connections[account].connected == \ + gajim.SHOW_LIST.index('invisible') + gajim.connections[account].change_status(status, txt, auto)
+ if not gajim.interface.minimized_controls.has_key(account): + gajim.interface.minimized_controls[account] = {} + for gc_control in gajim.interface.msg_win_mgr.get_controls( + message_control.TYPE_GC) + \ + gajim.interface.minimized_controls[account].values(): + if gc_control.account == account: + if gajim.gc_connected[account][gc_control.room_jid]: + gajim.connections[account].send_gc_status(gc_control.nick, + gc_control.room_jid, status, txt) + else: + # for some reason, we are not connected to the room even if + # tab is opened, send initial join_gc() + gajim.connections[account].join_gc(gc_control.nick, + gc_control.room_jid, None) + if was_invisible: + # We come back from invisible, join bookmarks + for bm in gajim.connections[account].bookmarks: + room_jid = bm['jid'] + if room_jid in gajim.gc_connected[account] and \ + gajim.gc_connected[account][room_jid]: + continue + self.join_gc_room(account, room_jid, bm['nick'], bm['password'], + minimize = gajim.config.get('minimize_autojoined_rooms')) + def get_status_message(self, show): if show in gajim.config.get_per('defaultstatusmsg'): if gajim.config.get_per('defaultstatusmsg', show, 'enabled'):