forked from bartvdbraak/blender
button to save edited textures in texture paint
This commit is contained in:
parent
9e652ce6bb
commit
912fdcacab
44
release/scripts/op/image.py
Normal file
44
release/scripts/op/image.py
Normal file
@ -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)
|
@ -65,21 +65,25 @@ class VIEW3D_HT_header(bpy.types.Header):
|
||||
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 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)
|
||||
# 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")
|
||||
|
||||
# Snap
|
||||
row = layout.row(align=True)
|
||||
|
Loading…
Reference in New Issue
Block a user