def draw(self, context):
        layout = self.layout
        missing_images = missing.images()
        missing_libraries = missing.libraries()

        if missing_images or missing_libraries:
            row = layout.row()
            row.label(text="Atomic was unable to reload the following files:")

            if missing_images:
                ui_layouts.box_list(layout=self.layout,
                                    items=missing_images,
                                    icon='IMAGE_DATA',
                                    columns=2)

            if missing_libraries:
                ui_layouts.box_list(layout=self.layout,
                                    items=missing_images,
                                    icon='LIBRARY_DATA_DIRECT',
                                    columns=2)

        else:
            row = layout.row()
            row.label(text="All files successfully reloaded!")

        row = layout.row()  # extra space
    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.label(text="Remove the following data-blocks?")

        ui_layouts.box_list(layout=layout,
                            items=missing.images(),
                            icon="IMAGE_DATA",
                            columns=2)

        row = layout.row()  # extra space
    def invoke(self, context, event):

        # update missing file lists
        self.missing_images = missing.images()
        self.missing_libraries = missing.libraries()

        wm = context.window_manager

        # invoke large dialog if there are missing files
        if self.missing_images or self.missing_libraries:
            return wm.invoke_props_dialog(self, width=500)

        # invoke small dialog if there are no missing files
        else:
            return wm.invoke_popup(self, width=300)
def autodetect_missing_files(dummy=None):
    # invokes the detect missing popup when missing files are detected upon
    # loading a new Blender project
    if config.enable_missing_file_warning and \
            (missing.images() or missing.libraries()):
        bpy.ops.atomic.detect_missing('INVOKE_DEFAULT')
Пример #5
0
def images_missing():
    # returns the number of missing images in the project

    return len(missing.images())
    def execute(self, context):
        for image_key in missing.images():
            bpy.data.images.remove(bpy.data.images[image_key])

        return {'FINISHED'}