trackplacer: fix slightly bugg cancel button.

This commit is contained in:
Eric S. Raymond 2008-10-12 16:18:29 +00:00
parent 0ffdea70f5
commit d34f99828d

View File

@ -135,14 +135,12 @@ class JourneyTrack:
class ModalFileSelector:
def __init__(self, default, blocker=False):
self.default = default
self.blocker = blocker
self.filename = None
# Create a new file selection widget
self.filew = gtk.FileSelection("File selection")
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)
@ -151,6 +149,8 @@ class ModalFileSelector:
def selection_canceled(self, widget):
self.filename = None
self.filew.destroy()
if self.blocker:
sys.exit(0)
def selection_ok(self, widget):
self.filename = self.filew.get_filename()
@ -391,4 +391,4 @@ if __name__ == "__main__":
if arguments:
TrackEditor(filename=arguments[0], verbose=verbose)
else:
TrackEditor(ModalFileSelector(default_map).filename, verbose=verbose)
TrackEditor(ModalFileSelector(default=default_map, blocker=True).filename, verbose=verbose)