From 9ba1e280a70d49b8deb523b804d911d43a0c25c8 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 16 Nov 2013 05:10:01 +0000 Subject: alan's patch --- (limited to 'turtleblocks.py') diff --git a/turtleblocks.py b/turtleblocks.py index 604d609..d8bd71b 100755 --- a/turtleblocks.py +++ b/turtleblocks.py @@ -482,33 +482,36 @@ return %s(self)" % (p, P, P) ''' Save changes on exit ''' project_empty = self.tw.is_project_empty() if not project_empty: - if self.tw.is_new_project(): - self._show_save_dialog(True) - else: - if self.tw.project_has_changed(): - self._show_save_dialog(False) + resp = self._show_save_dialog(e == None) + if resp == gtk.RESPONSE_YES: + if self.tw.is_new_project(): + self._save_as() + else: + if self.tw.project_has_changed(): + self._save_changes() + elif resp == gtk.RESPONSE_CANCEL: + return + for plugin in self.tw.turtleart_plugins: if hasattr(plugin, 'quit'): plugin.quit() gtk.main_quit() exit() - def _show_save_dialog(self, new_project=True): + def _show_save_dialog(self, add_cancel=False): ''' Dialog for save project ''' dlg = gtk.MessageDialog(parent=None, type=gtk.MESSAGE_INFO, buttons=gtk.BUTTONS_YES_NO, message_format=_('You have unsaved work. \ Would you like to save before quitting?')) + if add_cancel: + dlg.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) dlg.set_title(_('Save project?')) dlg.set_property('skip-taskbar-hint', False) resp = dlg.run() dlg.destroy() - if resp == gtk.RESPONSE_YES: - if new_project: - self._save_as() - else: - self._save_changes() + return resp def _do_new_cb(self, widget): ''' Callback for new project. ''' -- cgit v0.9.1