diff --git a/sat_frontends/quick_frontend/quick_app.py b/sat_frontends/quick_frontend/quick_app.py index 3c896b37..e503e884 100644 --- a/sat_frontends/quick_frontend/quick_app.py +++ b/sat_frontends/quick_frontend/quick_app.py @@ -886,7 +886,8 @@ class QuickApp(object): room_jid = jid.JID(room_jid_s) chat_widget = self.widgets.getWidget(quick_chat.QuickChat, room_jid, profile) if chat_widget: - self.widgets.deleteWidget(chat_widget) + self.widgets.deleteWidget( + chat_widget, all_instances=True, explicit_close=True) self.contact_lists[profile].removeContact(room_jid) def mucRoomUserChangedNickHandler(self, room_jid_s, old_nick, new_nick, profile): diff --git a/sat_frontends/quick_frontend/quick_widgets.py b/sat_frontends/quick_frontend/quick_widgets.py index 1e5b7c9d..abf4ce33 100644 --- a/sat_frontends/quick_frontend/quick_widgets.py +++ b/sat_frontends/quick_frontend/quick_widgets.py @@ -274,11 +274,16 @@ class QuickWidgetsManager(object): @param widget_to_delete(QuickWidget): widget which need to deleted @param *args: extra arguments to pass to onDelete @param *kwargs: extra keywords arguments to pass to onDelete - the extra arguments are not use by QuickFrontend, it's is up to - the frontend to use them or not - "all_instances" can be used as kwarg, if it evaluate to True, all - instances of the widget will be deleted (if onDelete is not returning False - for any of the instance). This arguments is not sent to onDelete methods. + the extra arguments are not used by QuickFrontend, it's is up to + the frontend to use them or not. + following extra arguments are well known: + - "all_instances" can be used as kwarg, if it evaluate to True, + all instances of the widget will be deleted (if onDelete is + not returning False for any of the instance). This arguments + is not sent to onDelete methods. + - "explicit_close" is used when the deletion is requested by + the user or a leave signal, "all_instances" is usually set at + the same time. """ # TODO: all_instances must be independante kwargs, this is not possible with Python 2 # but will be with Python 3