[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26836] trunk/blender/release/scripts: button to save edited textures in texture paint
Campbell Barton
ideasman42 at gmail.com
Fri Feb 12 12:34:25 CET 2010
Revision: 26836
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26836
Author: campbellbarton
Date: 2010-02-12 12:34:25 +0100 (Fri, 12 Feb 2010)
Log Message:
-----------
button to save edited textures in texture paint
Modified Paths:
--------------
trunk/blender/release/scripts/ui/space_view3d.py
Added Paths:
-----------
trunk/blender/release/scripts/op/image.py
Added: trunk/blender/release/scripts/op/image.py
===================================================================
--- trunk/blender/release/scripts/op/image.py (rev 0)
+++ trunk/blender/release/scripts/op/image.py 2010-02-12 11:34:25 UTC (rev 26836)
@@ -0,0 +1,44 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+import bpy
+
+class SaveDirty(bpy.types.Operator):
+ '''Select object matching a naming pattern'''
+ bl_idname = "image.save_dirty"
+ bl_label = "Save Dirty"
+ bl_register = True
+ bl_undo = True
+
+ def execute(self, context):
+ unique_paths = set()
+ for image in bpy.data.images:
+ if image.dirty:
+ path = bpy.utils.expandpath(image.filename)
+ if "\\" not in path and "/" not in path:
+ self.report({'WARNING'}, "Invalid path: " + path)
+ elif path in unique_paths:
+ self.report({'WARNING'}, "Path used by more then one image: " + path)
+ else:
+ unique_paths.add(path)
+ image.save(path=path)
+ return {'FINISHED'}
+
+bpy.types.register(SaveDirty)
\ No newline at end of file
Property changes on: trunk/blender/release/scripts/op/image.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py 2010-02-12 11:03:41 UTC (rev 26835)
+++ trunk/blender/release/scripts/ui/space_view3d.py 2010-02-12 11:34:25 UTC (rev 26836)
@@ -65,22 +65,26 @@
row_sub.prop(toolsettings, "mesh_selection_mode", text="", index=2, icon='FACESEL')
'''
+ if obj:
+ # Particle edit
+ if obj.mode == 'PARTICLE_EDIT':
+ row.prop(toolsettings.particle_edit, "selection_mode", text="", expand=True, toggle=True)
- # Particle edit
- if obj and obj.mode == 'PARTICLE_EDIT':
- row.prop(toolsettings.particle_edit, "selection_mode", text="", expand=True, toggle=True)
+ # Occlude geometry
+ if view.viewport_shading in ('SOLID', 'SHADED', 'TEXTURED') and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
+ row.prop(view, "occlude_geometry", text="")
- # Occlude geometry
- if obj and view.viewport_shading in ('SOLID', 'SHADED', 'TEXTURED') and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
- row.prop(view, "occlude_geometry", text="")
+ # Proportional editing
+ if obj.mode in ('OBJECT', 'EDIT', 'PARTICLE_EDIT'):
+ row = layout.row(align=True)
+ row.prop(toolsettings, "proportional_editing", text="", icon_only=True)
+ if toolsettings.proportional_editing != 'DISABLED':
+ row.prop(toolsettings, "proportional_editing_falloff", text="", icon_only=True)
+
+ # paint save
+ if mode_string == 'PAINT_TEXTURE':
+ row.operator("image.save_dirty", text="Save Edited")
- # Proportional editing
- if obj and obj.mode in ('OBJECT', 'EDIT', 'PARTICLE_EDIT'):
- row = layout.row(align=True)
- row.prop(toolsettings, "proportional_editing", text="", icon_only=True)
- if toolsettings.proportional_editing != 'DISABLED':
- row.prop(toolsettings, "proportional_editing_falloff", text="", icon_only=True)
-
# Snap
row = layout.row(align=True)
row.prop(toolsettings, "snap", text="")
More information about the Bf-blender-cvs
mailing list