[commit-gajim] r11236 - trunk/src
asterix at gajim.org
asterix at gajim.org
Thu Apr 23 09:26:09 CEST 2009
Author: asterix
Date: 2009-04-23 09:26:08 +0200 (Thu, 23 Apr 2009)
New Revision: 11236
Modified:
trunk/src/chat_control.py
trunk/src/groupchat_control.py
trunk/src/message_control.py
trunk/src/message_window.py
Log:
minimize groupchats when closing several windows at the same time. Fixes #4987
Modified: trunk/src/chat_control.py
===================================================================
--- trunk/src/chat_control.py 2009-04-23 06:58:55 UTC (rev 11235)
+++ trunk/src/chat_control.py 2009-04-23 07:26:08 UTC (rev 11236)
@@ -2327,6 +2327,9 @@
self.conv_textview.del_handlers()
self.msg_textview.destroy()
+ def minimizable(self):
+ return False
+
def safe_shutdown(self):
return False
Modified: trunk/src/groupchat_control.py
===================================================================
--- trunk/src/groupchat_control.py 2009-04-23 06:58:55 UTC (rev 11235)
+++ trunk/src/groupchat_control.py 2009-04-23 07:26:08 UTC (rev 11236)
@@ -1742,6 +1742,12 @@
proposed_nick, is_modal=False, ok_handler=on_ok,
cancel_handler=on_cancel)
+ def minimizable(self):
+ if self.contact.jid in gajim.config.get_per('accounts', self.account,
+ 'minimized_gc').split(' '):
+ return True
+ return False
+
def minimize(self, status='offline'):
# Minimize it
win = gajim.interface.msg_win_mgr.get_window(self.contact.jid,
@@ -1799,8 +1805,7 @@
gajim.events.remove_events(self.account, self.room_jid)
def safe_shutdown(self):
- if self.contact.jid in gajim.config.get_per('accounts', self.account,
- 'minimized_gc').split(' '):
+ if self.minimizable():
return True
includes = gajim.config.get('confirm_close_muc_rooms').split(' ')
excludes = gajim.config.get('noconfirm_close_muc_rooms').split(' ')
@@ -1812,8 +1817,7 @@
return True
def allow_shutdown(self, method, on_yes, on_no, on_minimize):
- if self.contact.jid in gajim.config.get_per('accounts', self.account,
- 'minimized_gc').split(' '):
+ if self.minimizable():
on_minimize(self)
return
if method == self.parent_win.CLOSE_ESC:
Modified: trunk/src/message_control.py
===================================================================
--- trunk/src/message_control.py 2009-04-23 06:58:55 UTC (rev 11235)
+++ trunk/src/message_control.py 2009-04-23 07:26:08 UTC (rev 11236)
@@ -71,6 +71,11 @@
or inactive (state is False)'''
pass # Derived classes MUST implement this method
+ def minimizable(self):
+ '''Called to check if control can be minimized'''
+ # NOTE: Derived classes MAY implement this
+ return False
+
def safe_shutdown(self):
'''Called to check if control can be closed without loosing data.
returns True if control can be closed safely else False'''
Modified: trunk/src/message_window.py
===================================================================
--- trunk/src/message_window.py 2009-04-23 06:58:55 UTC (rev 11235)
+++ trunk/src/message_window.py 2009-04-23 07:26:08 UTC (rev 11236)
@@ -206,6 +206,9 @@
if checked:
gajim.config.set('confirm_close_multiple_tabs', False)
self.dont_warn_on_delete = True
+ for ctrl in self.controls():
+ if ctrl.minimizable():
+ ctrl.minimize()
win.destroy()
if not gajim.config.get('confirm_close_multiple_tabs'):
More information about the Commits
mailing list