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:05:55 (GMT) |
commit | 81d62449b5d3f8057f78336483534b7286712e38 (patch) | |
tree | 0368028642ff0e1e695d63b647dc6d0082b6c1ee | |
parent | 8d1f9a06adacc59dc8f2a4c5e4dc0c63381b8972 (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 53594c8..9f523c7 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: |