[hamster-applet] quit mainloop on dialog window close if no parent was provided (avoid hanging)
- From: Toms Baugis <tbaugis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [hamster-applet] quit mainloop on dialog window close if no parent was provided (avoid hanging)
- Date: Mon, 12 Jul 2010 10:35:24 +0000 (UTC)
commit 621459b6f78e3021d9edf8d0f73df7b46fcffcf8
Author: Toms Bauģis <toms baugis gmail com>
Date: Mon Jul 12 11:34:55 2010 +0100
quit mainloop on dialog window close if no parent was provided (avoid hanging)
src/hamster/applet.py | 2 +-
src/hamster/configuration.py | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/src/hamster/applet.py b/src/hamster/applet.py
index 882579f..39c242d 100755
--- a/src/hamster/applet.py
+++ b/src/hamster/applet.py
@@ -537,7 +537,7 @@ class HamsterApplet(object):
dialogs.edit.show(self.applet)
def on_about (self, component, verb):
- dialogs.about.show()
+ dialogs.about.show(self.window)
def show_preferences(self, menu_item, verb):
self.__show_toggle(False)
diff --git a/src/hamster/configuration.py b/src/hamster/configuration.py
index 758fdec..a623081 100644
--- a/src/hamster/configuration.py
+++ b/src/hamster/configuration.py
@@ -28,7 +28,7 @@ from client import Storage
from xdg.BaseDirectory import xdg_data_home
import logging
import datetime as dt
-import gobject
+import gobject, gtk
import logging
log = logging.getLogger("configuration")
@@ -111,13 +111,20 @@ class OneWindow(object):
if parent:
dialog = self.get_dialog_class()(parent, **kwargs)
dialog.window.set_transient_for(parent.get_toplevel())
+
+ # to make things simple, we hope that the target has defined self.window
+ dialog.window.connect("destroy",
+ lambda window, params: self.on_dialog_destroy(params),
+ params)
+
else:
dialog = self.get_dialog_class()(**kwargs)
- # to make things simple, we hope that the target has defined self.window
- dialog.window.connect("destroy",
- lambda window, params: self.on_dialog_destroy(params),
- params)
+ # no parent means we close on window close
+ dialog.window.connect("destroy",
+ lambda window, params: gtk.main_quit(),
+ params)
+
self.dialogs[params] = dialog
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]