60 lines
1.5 KiB
Python
60 lines
1.5 KiB
Python
|
|
|
|
import bpy
|
|
from bpy.types import AddonPreferences
|
|
from bpy.props import (CollectionProperty, StringProperty)
|
|
|
|
from . properties import AssetLibrary
|
|
from . core.bl_utils import get_addon_prefs
|
|
from . core.lib_utils import update_library_path
|
|
|
|
|
|
class AssetLibraryPrefs(AddonPreferences):
|
|
bl_idname = __package__
|
|
|
|
config_path : StringProperty(subtype="FILE_PATH")
|
|
libraries : CollectionProperty(type=AssetLibrary)
|
|
bundle_directory : StringProperty(
|
|
name="Path",
|
|
subtype='DIR_PATH',
|
|
default='',
|
|
update=lambda s, c: update_library_path()
|
|
)
|
|
|
|
def draw(self, context):
|
|
prefs = get_addon_prefs()
|
|
|
|
layout = self.layout
|
|
col = layout.column(align=False)
|
|
|
|
col.prop(self, "config_path", text='Config')
|
|
col.prop(self, "bundle_directory", text='Bundle Directory')
|
|
col.separator()
|
|
|
|
row = col.row()
|
|
row.label(text='Libraries:')
|
|
#row.alignment = 'RIGHT'
|
|
row.separator_spacer()
|
|
row.operator("assetlibrary.reload_addon", icon='FILE_REFRESH', text='')
|
|
row.operator("assetlibrary.add_library", icon="ADD", text='', emboss=False)
|
|
|
|
for lib in self.libraries:# list(self.env_libraries) + list(self.user_libraries):
|
|
lib.draw(col)
|
|
|
|
|
|
|
|
|
|
classes = (
|
|
AssetLibraryPrefs,
|
|
)
|
|
|
|
|
|
def register():
|
|
for cls in classes:
|
|
bpy.utils.register_class(cls)
|
|
|
|
|
|
def unregister():
|
|
for cls in reversed(classes):
|
|
bpy.utils.unregister_class(cls)
|