From e69087d59ccb142eb5120ac99e346b151f62f2a3 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 06 Jan 2014 18:44:06 +0000 Subject: Alan's clean up of export code --- diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py index ff30b19..8e37f95 100644 --- a/TurtleArt/tautils.py +++ b/TurtleArt/tautils.py @@ -309,7 +309,7 @@ def get_save_name(filefilter, load_save_folder, save_file_name): gtk.FILE_CHOOSER_ACTION_SAVE, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE, gtk.RESPONSE_OK)) dialog.set_default_response(gtk.RESPONSE_OK) - if filefilter in ['.png', '.svg', '.lg', '.py']: + if filefilter in ['.png', '.svg', '.lg', '.py', '.odp']: suffix = filefilter else: suffix = SUFFIX[1] diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 9f5c600..4edf593 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -4654,7 +4654,7 @@ before making changes to your program')) save_picture(self.canvas, image_file) return ta_file, image_file - def save_as_odp(self, name=''): + def save_as_odp(self, name=None): from util.odp import TurtleODP path_list = [] @@ -4674,7 +4674,7 @@ before making changes to your program')) pres = TurtleODP() pres.create_presentation(TMP_ODP_PATH, 1024, 768) for file_path in path_list: - print file_path + #print file_path pres.add_image(file_path) pres.save_presentation() @@ -4693,19 +4693,19 @@ before making changes to your program')) dsobject.destroy() os.remove(TMP_ODP_PATH) else: - if len(name) == 0: - name = 'turtleblocks.odp' if self.save_folder is not None: self.load_save_folder = self.save_folder name, self.load_save_folder = get_save_name( - '.odp', self.load_save_folder, name) + '.odp', self.load_save_folder, 'turtleblocks.odp') datapath = self.load_save_folder else: datapath = os.getcwd() if '.odp' not in name: name = name + '.odp' - subprocess.check_output( - ['cp', TMP_ODP_PATH, os.path.join(datapath, name)]) + if name is not None: + res = subprocess.check_output( + ['cp', TMP_ODP_PATH, os.path.join(datapath, name)]) + def save_as_icon(self, name=''): from util.sugariconify import SugarIconify diff --git a/turtleblocks.py b/turtleblocks.py index 01ddbd3..3483169 100755 --- a/turtleblocks.py +++ b/turtleblocks.py @@ -428,11 +428,22 @@ return %s(self)" % (p, P, P) self._do_load_plugin_cb) MenuBuilder.make_menu_item(menu, _('Save'), self._do_save_cb) MenuBuilder.make_menu_item(menu, _('Save as'), self._do_save_as_cb) - MenuBuilder.make_menu_item(menu, _('Save as image'), + + # export submenu + export_submenu = gtk.Menu() + export_menu = MenuBuilder.make_sub_menu(export_submenu, _('Export as')) + menu.append(export_menu) + + MenuBuilder.make_menu_item(export_submenu, _('image'), self._do_save_picture_cb) - MenuBuilder.make_menu_item(menu, _('Save as Logo'), + MenuBuilder.make_menu_item(export_submenu, _('icon'), + self._do_save_as_icon_cb) + # TRANS: ODP is Open Office presentation + MenuBuilder.make_menu_item(export_submenu, _('ODP'), + self._do_save_as_odp_cb) + MenuBuilder.make_menu_item(export_submenu, _('Logo'), self._do_save_logo_cb) - MenuBuilder.make_menu_item(menu, _('Save as Python'), + MenuBuilder.make_menu_item(export_submenu, _('Python'), self._do_save_python_cb) MenuBuilder.make_menu_item(menu, _('Quit'), self._quit_ta) activity_menu = MenuBuilder.make_sub_menu(menu, _('File')) @@ -632,6 +643,15 @@ Would you like to save before quitting?')) ''' Callback for save canvas. ''' self.tw.save_as_image() + def _do_save_as_icon_cb(self, widget): + ''' Callback for save canvas. ''' + self.tw.write_svg_operation() + self.tw.save_as_icon() + + def _do_save_as_odp_cb(self, widget): + ''' Callback for save canvas. ''' + self.tw.save_as_odp() + def _do_save_logo_cb(self, widget): ''' Callback for save project to Logo. ''' logocode = save_logo(self.tw) diff --git a/util/odp.py b/util/odp.py index 89a5c80..8fc18d6 100644 --- a/util/odp.py +++ b/util/odp.py @@ -58,12 +58,12 @@ class TurtleODP: page.addElement(photoframe) href = self.doc.addPicture(path) photoframe.addElement(Image(href=href)) - print 'added image successfully' + #print 'added image successfully' def save_presentation(self): - print self.path + #print self.path self.doc.save(self.path) - print 'presentation saved successfully' + #print 'presentation saved successfully' def get_output_path(self): return self.path -- cgit v0.9.1