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:04:35 (GMT)
commit5e066cc06fb8e4c523af0f439c79b6276ff049ff (patch)
tree0917e5313d65e1774980f512e780e51cde7b7134
parent48dd24c6e13a546e2bad71c1816ce584fa53105c (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 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: