From d859ec2ea19654603075b556094c6b59aad8e73a Mon Sep 17 00:00:00 2001 From: mathieui Date: Wed, 30 Apr 2014 20:37:18 +0200 Subject: Add a 'tab_change' event --- src/core/core.py | 3 +++ src/events.py | 2 ++ 2 files changed, 5 insertions(+) (limited to 'src') diff --git a/src/core/core.py b/src/core/core.py index 19eb9b16..4ffb0213 100644 --- a/src/core/core.py +++ b/src/core/core.py @@ -1098,12 +1098,15 @@ class Core(object): Prevents the tab number from going over the total number of opened tabs, or under 0 """ + old = self._current_tab_nb if value >= len(self.tabs): self._current_tab_nb = 0 elif value < 0: self._current_tab_nb = len(self.tabs) - 1 else: self._current_tab_nb = value + if old != self._current_tab_nb: + self.events.trigger('tab_change', old, self._current_tab_nb) ### Opening actions ### diff --git a/src/events.py b/src/events.py index 71687d14..50711022 100644 --- a/src/events.py +++ b/src/events.py @@ -45,6 +45,7 @@ class EventHandler(object): 'muc_ban': [], 'send_normal_presence': [], 'ignored_private': [], + 'tab_change': [], } def add_event_handler(self, name, callback, position=0): @@ -72,6 +73,7 @@ class EventHandler(object): if callbacks is None: log.debug('%s: No such event.', name) return + log.debug('Event %s triggered, callbacks: %s', name, callbacks) for callback in callbacks: callback(*args, **kwargs) -- cgit v1.2.3