From dec18e7bfd275925be2916177ae7c106f21a9f27 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 10 Feb 2009 14:00:26 +0000 Subject: Close the object chooser when the activity is closed. #329 --- (limited to 'src') diff --git a/src/jarabe/journal/objectchooser.py b/src/jarabe/journal/objectchooser.py index ee894cf..b70cf72 100644 --- a/src/jarabe/journal/objectchooser.py +++ b/src/jarabe/journal/objectchooser.py @@ -20,6 +20,7 @@ import logging import gobject import gtk import hippo +import wnck from sugar.graphics import style from sugar.graphics.toolbutton import ToolButton @@ -53,9 +54,15 @@ class ObjectChooser(gtk.Window): self.__visibility_notify_event_cb) self.connect('delete-event', self.__delete_event_cb) self.connect('key-press-event', self.__key_press_event_cb) - if parent is not None: + + if parent is None: + logging.warning('ObjectChooser: No parent window specified') + else: self.connect('realize', self.__realize_cb, parent) + screen = wnck.screen_get_default() + screen.connect('window-closed', self.__window_closed_cb, parent) + vbox = gtk.VBox() self.add(vbox) vbox.show() @@ -96,6 +103,10 @@ class ObjectChooser(gtk.Window): self.window.set_transient_for(parent) # TODO: Should we disconnect the signal here? + def __window_closed_cb(self, screen, window, parent): + if window.get_xid() == parent.xid: + self.destroy() + def __entry_activated_cb(self, list_view, entry): self._selected_object_id = entry.metadata['uid'] self.emit('response', gtk.RESPONSE_ACCEPT) -- cgit v0.9.1