Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/desktop/meshbox.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-02-23 18:11:14 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-02-23 18:11:14 (GMT)
commit49dd11de789ee68962af03d821adbc0adde4e274 (patch)
treedadba31379efa7d52223911967f41f3e22fde23c /src/jarabe/desktop/meshbox.py
parentb51bbe58b50d466c03d70431b511a89efa339172 (diff)
Switch to existing instance of an activity if it's already running #410
Diffstat (limited to 'src/jarabe/desktop/meshbox.py')
-rw-r--r--src/jarabe/desktop/meshbox.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py
index eb6cc80..e56c4d5 100644
--- a/src/jarabe/desktop/meshbox.py
+++ b/src/jarabe/desktop/meshbox.py
@@ -44,6 +44,7 @@ from jarabe.desktop.spreadlayout import SpreadLayout
from jarabe.desktop import keydialog
from jarabe.model import bundleregistry
from jarabe.model import network
+from jarabe.model import shell
from jarabe.model.network import Settings
from jarabe.model.network import WirelessSecurity
@@ -467,16 +468,20 @@ class ActivityView(hippo.CanvasBox):
icon.destroy()
def _clicked_cb(self, item):
- bundle_id = self._model.get_bundle_id()
-
- handle = ActivityHandle(self._model.get_id())
+ shell_model = shell.get_model()
+ activity = shell_model.get_activity_by_id(self._model.get_id())
+ if activity:
+ activity.get_window().activate(gtk.get_current_event_time())
+ return
+ bundle_id = self._model.get_bundle_id()
bundle = bundleregistry.get_registry().get_bundle(bundle_id)
launcher.add_launcher(self._model.get_id(),
bundle.get_icon(),
self._model.get_color())
+ handle = ActivityHandle(self._model.get_id())
activityfactory.create(bundle, handle)
def set_filter(self, query):