diff options
author | Simon Schampijer <simon@schampijer.de> | 2008-09-04 10:04:35 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2008-09-04 10:04:35 (GMT) |
commit | 5e066cc06fb8e4c523af0f439c79b6276ff049ff (patch) | |
tree | 0917e5313d65e1774980f512e780e51cde7b7134 | |
parent | 48dd24c6e13a546e2bad71c1816ce584fa53105c (diff) |
Set activity active when the service is up #7856 (marco)
-rw-r--r-- | src/model/homeactivity.py | 16 | ||||
-rw-r--r-- | src/model/homemodel.py | 18 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/model/homeactivity.py b/src/model/homeactivity.py index 8965dec..9dc4f9c 100644 --- a/src/model/homeactivity.py +++ b/src/model/homeactivity.py @@ -15,6 +15,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import time +import logging import gobject import dbus @@ -218,3 +219,18 @@ class HomeActivity(gobject.GObject): def _name_owner_changed_cb(self, name, old, new): if name == self._get_service_name(): self._retrieve_service() + self.set_active(True) + + def set_active(self, state): + """Propagate the current state to the activity object""" + if self._service is not None: + self._service.SetActive(state, + reply_handler=self._set_active_success, + error_handler=self._set_active_error) + + def _set_active_success(self): + pass + + def _set_active_error(self, err): + logging.error("set_active() failed: %s" % err) + diff --git a/src/model/homemodel.py b/src/model/homemodel.py index eacbffd..655298a 100644 --- a/src/model/homemodel.py +++ b/src/model/homemodel.py @@ -135,17 +135,7 @@ class HomeModel(gobject.GObject): return if self._active_activity: - service = self._active_activity.get_service() - if service: - service.SetActive(False, - reply_handler=self._set_active_success, - error_handler=self._set_active_error) - if home_activity: - service = home_activity.get_service() - if service: - service.SetActive(True, - reply_handler=self._set_active_success, - error_handler=self._set_active_error) + self._active_activity.set_active(False) self._active_activity = home_activity self.emit('active-activity-changed', self._active_activity) @@ -207,12 +197,6 @@ class HomeModel(gobject.GObject): return home_activity return None - def _set_active_success(self): - pass - - def _set_active_error(self, err): - logging.error("set_active() failed: %s" % err) - def _active_window_changed_cb(self, screen, previous_window=None): window = screen.get_active_window() if window is None: |