From 184181edf40145de5cbd37ba3f9cbc3c9d13e822 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sat, 05 Jul 2008 12:20:28 +0000 Subject: #7339 Stop the launching box to pulse in the background indefinitely --- (limited to 'src') diff --git a/src/view/home/launchbox.py b/src/view/home/launchbox.py index dfbec40..da4cb84 100644 --- a/src/view/home/launchbox.py +++ b/src/view/home/launchbox.py @@ -46,6 +46,8 @@ class LaunchBox(hippo.Canvas): self._home = shellmodel.get_instance().get_home() self._home.connect('active-activity-changed', self.__active_activity_changed_cb) + self._home.connect('launch-failed', self.__launch_ended_cb) + self._home.connect('launch-completed', self.__launch_ended_cb) self._update_icon() @@ -72,15 +74,23 @@ class LaunchBox(hippo.Canvas): def _update_icon(self): activity = self._home.get_active_activity() - if activity: + if activity is not None: self._activity_icon.props.file_name = activity.get_icon_path() self._activity_icon.props.pulse_color = activity.get_icon_color() else: self._activity_icon.props.file_name = None + if activity is not None and activity.props.launching: + self.resume() + else: + self.suspend() + def __active_activity_changed_cb(self, model, activity): self._update_icon() + def __launch_ended_cb(self, model, activity): + self._update_icon() + class _Animation(animator.Animation): def __init__(self, icon, start_size, end_size): animator.Animation.__init__(self, 0.0, 1.0) diff --git a/src/view/pulsingicon.py b/src/view/pulsingicon.py index 235e7f9..c733043 100644 --- a/src/view/pulsingicon.py +++ b/src/view/pulsingicon.py @@ -91,7 +91,8 @@ class PulsingIcon(Icon): def _start_pulsing(self, restart=False): if restart: self._phase = 0 - self._pulse_hid = gobject.timeout_add(_INTERVAL, self.__pulse_cb) + if self._pulse_hid is None: + self._pulse_hid = gobject.timeout_add(_INTERVAL, self.__pulse_cb) def _stop_pulsing(self): if self._pulse_hid is not None: @@ -183,7 +184,8 @@ class CanvasPulsingIcon(CanvasIcon): def _start_pulsing(self, restart=False): if restart: self._phase = 0 - self._pulse_hid = gobject.timeout_add(_INTERVAL, self.__pulse_cb) + if self._pulse_hid is None: + self._pulse_hid = gobject.timeout_add(_INTERVAL, self.__pulse_cb) def _stop_pulsing(self): if self._pulse_hid is not None: -- cgit v0.9.1