def save_song_dialog(song_to_save, method_name, song_format): def ok_handler(dlg, path): getattr(song_to_save, method_name)(path) readable_song_name = pylsdjutils.name_without_zeroes(song_to_save.name) utils.file_dialog( "Save '%s'" % (readable_song_name), "*." + song_format, wx.SAVE, ok_handler, default_file=readable_song_name + "." + song_format)
def save_sav_dialog(sav_obj): def ok_handler(dlg, path): progress_dlg = wx.ProgressDialog( "Saving %s" % (path), "Reticulating splines", 100) def progress_update_function( message, step, total_steps, still_working): progress_dlg.Update((step * 100) / total_steps, newmsg=message) sav_obj.save(path, callback=progress_update_function) utils.file_dialog("Save .sav as ...", "*.sav", wx.SAVE, ok_handler)
def export_instrument(self, event): def ok_handler(dlg, path): self.instrument.export_to_file(path) if not utils.name_empty(self.instrument.name): default_file = '%s.lsdinst' % (self.instrument.name) else: default_file = '' utils.file_dialog( "Save instrument as ...", "*.lsdinst", wx.SAVE, ok_handler, default_file=default_file)
def progress_update_function(message, step, total_steps, still_working): pass try: sav_obj = SAVFile(path, callback=progress_update_function) if sav_obj is not None: main_window.set_sav(sav_obj) main_window.update_models() except Exception, e: utils.show_error_dialog( "Failed to load '%s'" % (dlg.GetFilename()), e, projects_window) # Display an open dialog box so the user can select a .sav file utils.file_dialog("Choose a .sav file", '*.sav', wx.OPEN, ok_handler) def save_sav(event, projects_window, main_window): save_sav_dialog(main_window.sav_obj) def save_sav_dialog(sav_obj): def ok_handler(dlg, path): progress_dlg = wx.ProgressDialog( "Saving %s" % (path), "Reticulating splines", 100) def progress_update_function( message, step, total_steps, still_working): progress_dlg.Update((step * 100) / total_steps, newmsg=message)