Import images: add file handler #105274
@ -45,6 +45,7 @@ from bpy_extras.object_utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from bpy_extras.image_utils import load_image
|
from bpy_extras.image_utils import load_image
|
||||||
|
from bpy_extras.io_utils import ImportHelper
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Module-level Shared State
|
# Module-level Shared State
|
||||||
@ -594,7 +595,7 @@ def setup_compositing(context, plane, img_spec):
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Operator
|
# Operator
|
||||||
|
|
||||||
class IMPORT_IMAGE_OT_to_plane(Operator, AddObjectHelper):
|
class IMPORT_IMAGE_OT_to_plane(Operator, AddObjectHelper, ImportHelper):
|
||||||
"""Create mesh plane(s) from image files with the appropriate aspect ratio"""
|
"""Create mesh plane(s) from image files with the appropriate aspect ratio"""
|
||||||
|
|
||||||
bl_idname = "import_image.to_plane"
|
bl_idname = "import_image.to_plane"
|
||||||
@ -919,9 +920,7 @@ class IMPORT_IMAGE_OT_to_plane(Operator, AddObjectHelper):
|
|||||||
self.report({'WARNING'},
|
self.report({'WARNING'},
|
||||||
tip_("Generating Cycles/EEVEE compatible material, but won't be visible with %s engine") % engine)
|
tip_("Generating Cycles/EEVEE compatible material, but won't be visible with %s engine") % engine)
|
||||||
|
|
||||||
# Open file browser
|
return self.invoke_popup(context)
|
||||||
context.window_manager.fileselect_add(self)
|
|
||||||
return {'RUNNING_MODAL'}
|
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
if not bpy.data.is_saved:
|
if not bpy.data.is_saved:
|
||||||
@ -1225,6 +1224,18 @@ class IMPORT_IMAGE_OT_to_plane(Operator, AddObjectHelper):
|
|||||||
constraint.lock_axis = 'LOCK_Y'
|
constraint.lock_axis = 'LOCK_Y'
|
||||||
|
|
||||||
|
|
||||||
|
class IMPORT_IMAGE_FH_to_plane(bpy.types.FileHandler):
|
||||||
|
bl_idname = "IMPORT_IMAGE_FH_to_plane"
|
||||||
|
bl_label = "File handler for images as planes import"
|
||||||
|
bl_import_operator = "import_image.to_plane"
|
||||||
|
bl_file_extensions = ";".join(bpy.path.extensions_image.union(bpy.path.extensions_movie))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def poll_drop(cls, context):
|
||||||
|
return (context.region and context.region.type == 'WINDOW'
|
||||||
|
and context.area and context.area.ui_type == 'VIEW_3D')
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Register
|
# Register
|
||||||
|
|
||||||
@ -1234,6 +1245,7 @@ def import_images_button(self, context):
|
|||||||
|
|
||||||
classes = (
|
classes = (
|
||||||
IMPORT_IMAGE_OT_to_plane,
|
IMPORT_IMAGE_OT_to_plane,
|
||||||
|
IMPORT_IMAGE_FH_to_plane,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user