changeset 0bbc2cffc0f8 in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: gajim_0.16 details:http://hg.gajim.org/gajim?cmd=changeset;node=0bbc2cffc0f8 description: add a new event that is sent just before changing status. Fixes #7593
diffstat:
src/common/connection.py | 8 ++++++++ src/common/connection_handlers_events.py | 4 ++++ 2 files changed, 12 insertions(+), 0 deletions(-)
diffs (51 lines):
diff -r 2ba669552014 -r 0bbc2cffc0f8 src/common/connection.py --- a/src/common/connection.py Mon Jan 13 20:25:07 2014 +0100 +++ b/src/common/connection.py Tue Jan 14 22:48:51 2014 +0100 @@ -709,12 +709,16 @@ if gajim.HAVE_GPG: self.USE_GPG = True self.gpg = gpg.GnuPG(gajim.config.get('use_gpg_agent')) + gajim.nec.push_incoming_event(BeforeChangeShowEvent(None, + conn=self, show=show, message=msg)) self.connect_and_init(show, msg, sign_msg) return
if show == 'offline': self.connected = 0 if self.connection: + gajim.nec.push_incoming_event(BeforeChangeShowEvent(None, + conn=self, show=show, message=msg)) p = nbxmpp.Presence(typ = 'unavailable') p = self.add_sha(p, False) if msg: @@ -732,12 +736,16 @@ if self.connected == 1: return if show == 'invisible': + gajim.nec.push_incoming_event(BeforeChangeShowEvent(None, + conn=self, show=show, message=msg)) self._change_to_invisible(msg) return if show not in ['offline', 'online', 'chat', 'away', 'xa', 'dnd']: return -1 was_invisible = self.connected == gajim.SHOW_LIST.index('invisible') self.connected = gajim.SHOW_LIST.index(show) + gajim.nec.push_incoming_event(BeforeChangeShowEvent(None, + conn=self, show=show, message=msg)) if was_invisible: self._change_from_invisible() self._update_status(show, msg) diff -r 2ba669552014 -r 0bbc2cffc0f8 src/common/connection_handlers_events.py --- a/src/common/connection_handlers_events.py Mon Jan 13 20:25:07 2014 +0100 +++ b/src/common/connection_handlers_events.py Tue Jan 14 22:48:51 2014 +0100 @@ -998,6 +998,10 @@ name = 'our-show' base_network_events = []
+class BeforeChangeShowEvent(nec.NetworkIncomingEvent): + name = 'before-change-show' + base_network_events = [] + class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent): name = 'message-received' base_network_events = ['raw-message-received']