def select_file(message)
filename = nil
fs = FileSelection.new(message)
fs.set_modal(true)
@default_dir = File.join(Dir.pwd, '') unless @default_dir
fs.set_filename(@default_dir)
fs.set_transient_for(self)
fs.signal_connect(:destroy) { Gtk.main_quit }
fs.ok_button.signal_connect(:clicked) do
filename = fs.filename
@default_dir = File.join(File.dirname(filename), '')
fs.destroy
Gtk.main_quit
end
fs.cancel_button.signal_connect(:clicked) do
fs.destroy
Gtk.main_quit
end
fs.show_all
Gtk.main
filename
end