Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ActivityHost.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-08-11 22:29:32 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-11 22:29:32 (GMT)
commitc5fb39875c9a6609868ef7295193840df183a6f4 (patch)
tree985631a58e94173bb1a45c8c66545ceaca4f3a72 /shell/ActivityHost.py
parent72bf63709136bf26d73e43023b9b95af2e5737e9 (diff)
Do not open multiple copies of the same activity
Diffstat (limited to 'shell/ActivityHost.py')
-rw-r--r--shell/ActivityHost.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/shell/ActivityHost.py b/shell/ActivityHost.py
index c5c0335..639c589 100644
--- a/shell/ActivityHost.py
+++ b/shell/ActivityHost.py
@@ -7,17 +7,17 @@ from PeopleWindow import PeopleWindow
class ActivityHost:
def __init__(self, shell, window):
self._shell = shell
-
- xid = window.get_xid()
+ self._window = window
+ self._xid = window.get_xid()
bus = dbus.SessionBus()
- proxy_obj = bus.get_object(Activity.get_service_name(xid),
- Activity.get_object_path(xid))
+ proxy_obj = bus.get_object(Activity.get_service_name(self._xid),
+ Activity.get_object_path(self._xid))
self._activity = dbus.Interface(proxy_obj, Activity.ACTIVITY_INTERFACE)
self._id = self._activity.get_id()
self._default_type = self._activity.get_default_type()
- self._window = gtk.gdk.window_foreign_new(window.get_xid())
+ self._gdk_window = gtk.gdk.window_foreign_new(self._xid)
self._people_window = PeopleWindow(shell, self)
def get_id(self):
@@ -36,6 +36,9 @@ class ActivityHost:
def show_people(self):
self.show_dialog(self._people_window)
+ def present(self):
+ self._window.activate(gtk.get_current_event_time())
+
def show_dialog(self, dialog):
dialog.show()
- dialog.window.set_transient_for(self._window)
+ dialog.window.set_transient_for(self._gdk_window)