Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2008-09-04 10:04:35 (GMT)
committer Simon Schampijer <simon@schampijer.de>2008-09-04 10:05:55 (GMT)
commit81d62449b5d3f8057f78336483534b7286712e38 (patch)
tree0368028642ff0e1e695d63b647dc6d0082b6c1ee
parent8d1f9a06adacc59dc8f2a4c5e4dc0c63381b8972 (diff)
Set activity active when the service is up #7856 (marco)
-rw-r--r--src/model/homeactivity.py16
-rw-r--r--src/model/homemodel.py18
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: