diff options
author | JRG 2 <jrg2@ubuntu.(none)> | 2013-12-24 23:49:14 (GMT) |
---|---|---|
committer | JRG 2 <jrg2@ubuntu.(none)> | 2013-12-24 23:49:14 (GMT) |
commit | 94558caba48480424a8a8d0f4613a7265e44998d (patch) | |
tree | b701821be7b273a8089684217476ce7e52275f99 /TurtleArt/tawindow.py | |
parent | d09e20d7fa9cc663b184623946a8b4d50baefc75 (diff) |
Export icon
Diffstat (limited to 'TurtleArt/tawindow.py')
-rw-r--r-- | TurtleArt/tawindow.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 4584726..63b088f 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -4642,6 +4642,47 @@ before making changes to your program')) save_picture(self.canvas, image_file) return ta_file, image_file + def save_as_icon(self, name=''): + from sugariconify import SugarIconify + + icon = SugarIconify() + path = self.canvas.get_square_svg_path() + self.square_svg(path) + + lst_path = path.split('/') + icon.set_use_default_colors(True) + output_path = '/'.join(lst_path[:-1]) + + icon.set_output_path(output_path) + icon.iconify(path) + + file_name_lst = lst_path[-1].split('.') + file_name = '.'.join(file_name_lst[:-1]) + '.sugar.svg' + lst_path[-1] = file_name + path = '/'.join(lst_path) + + if self.running_sugar: + from sugar.datastore import datastore + from sugar import profile + + dsobject = datastore.create() + if len(name) == 0: + dsobject.metadata['title'] = '%s %s' % \ + (self.activity.metadata['title'], _('icon')) + else: + dsobject.metadata['title'] = name + dsobject.metadata['icon-color'] = profile.get_color().to_string() + dsobject.metadata['mime_type'] = 'image/svg+xml' + dsobject.set_file_path(path) + datastore.write(dsobject) + dsobject.destroy() + self.saved_pictures.append((dsobject.object_id, True)) + os.remove(path) + + def write_svg_operation(self): + self.canvas.svg_close() + self.canvas.svg_reset() + def save_as_image(self, name='', svg=False): ''' Grab the current canvas and save it. ''' if svg: |