# HG changeset patch # User Goffi # Date 1552289983 -3600 # Node ID a579eda31f4fed286180c71d798c0c800f904ae2 # Parent 145c29b5f2b5f95b0cab7e04d1407a23eff8b92b chat: don't use "force" argument anymore diff -r 145c29b5f2b5 -r a579eda31f4f cagou/plugins/plugin_wid_chat.py --- a/cagou/plugins/plugin_wid_chat.py Mon Mar 11 08:39:43 2019 +0100 +++ b/cagou/plugins/plugin_wid_chat.py Mon Mar 11 08:39:43 2019 +0100 @@ -678,14 +678,16 @@ self.encryption_btn.symbol = self.encryption_btn.getSymbol() self.encryption_btn.color = self.encryption_btn.getColor() - def onDelete(self, force=False): - if force==True: - return self._onDelete() - if len(list(G.host.widgets.getWidgets( - self.__class__, self.target, profiles=self.profiles))) > 1: - # we don't keep duplicate widgets - return self._onDelete() - return False + def onDelete(self): + # we always keep one widget, so it's available when swiping + # TODO: delete all widgets when chat is closed + nb_instances = sum(1 for _ in self.host.widgets.getWidgetInstances(self)) + if nb_instances > 1: + self.host.removeListener('progressFinished', self.onProgressFinished) + self.host.removeListener('progressError', self.onProgressError) + return super(Chat, self).onDelete() + else: + return False PLUGIN_INFO["factory"] = Chat.factory