Author: esr
Date: Sun Oct 12 01:07:34 2008
New Revision: 30065

URL: http://svn.gna.org/viewcvs/wesnoth?rev=30065&view=rev
Log:
trackplacer: correctly modal file selector.

Modified:
    trunk/data/tools/trackplacer

Modified: trunk/data/tools/trackplacer
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/data/tools/trackplacer?rev=30065&r1=30064&r2=30065&view=diff
==============================================================================
--- trunk/data/tools/trackplacer (original)
+++ trunk/data/tools/trackplacer Sun Oct 12 01:07:34 2008
@@ -93,28 +93,28 @@
         self.track.pop()
 
 class ModalFileSelector:
-    def __init__(self, default):
+    def __init__(self, default, blocker=False):
         self.default = default
         self.filename = None
         # Create a new file selection widget
         self.filew = gtk.FileSelection("File selection")
-
-        self.filew.connect("destroy", self.destroy)
-        # Connect the ok_button to file_selected method
-        self.filew.ok_button.connect("clicked", self.file_selected)
-    
-        # Connect the cancel_button to destroy the widget
-        self.filew.cancel_button.connect("clicked",
-                                         lambda w: self.filew.destroy())
-    
+        self.filew.set_modal(True);
+
+        if blocker:
+            self.filew.connect("destroy", lambda w: sys.exit(0))
+
+        self.filew.ok_button.connect("clicked", self.selection_ok)
+        self.filew.cancel_button.connect("clicked", self.selection_canceled)
         self.filew.set_filename(self.default)
         self.filew.run()
 
-    def file_selected(self, w):
+    def selection_canceled(self, widget):
+        self.filename = None
+        self.filew.destroy()
+
+    def selection_ok(self, widget):
         self.filename = self.filew.get_filename()
-
-    def destroy(self, widget):
-        sys.exit(0)
+        self.filew.destroy()
 
 # Backing pixmap for drawing area
 pixmap = None


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to