64 lines
2.5 KiB
Python

# Custom Templates - Blender Add-On
# Copyright (C) 2024 Francesco Bellini
# 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 3 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, see <https://www.gnu.org/licenses/>.
import bpy
from .classes.ots import CustomTemplatesPreferences, TemplateItem, OT_ExportTemplates, OT_ImportTemplates, CUSTOM_MT_Export_Menu, OT_SelectTemplatePopup, OT_AddTemplatePopup, OT_AddTemplateItem, OT_RemoveTemplateItem, OT_MoveDownTemplateItem, OT_MoveUpTemplateItem, OT_OpenAddonPreferences
from .classes.draw import draw_file_new_templates, draw_file_default_operators
from .classes.splash import WM_MT_splash, CUSTOM_MT_splash_mode, OT_SplashCustom, OT_SplashDefault
bl_info = {
"id": "custom_templates",
"name": "Custom Templates",
"tagline": "Add your own .blend files as template options for new projects",
"blender": (4, 2, 0),
"location": "File > New & File > Defaults",
"category": "System",
"support": "COMMUNITY",
"blender_manifest": "blender_manifest.toml"
}
classes = [WM_MT_splash,
TemplateItem,
OT_ExportTemplates,
OT_ImportTemplates,
OT_SplashCustom,
OT_SplashDefault,
OT_OpenAddonPreferences,
CUSTOM_MT_splash_mode,
CUSTOM_MT_Export_Menu,
OT_MoveUpTemplateItem,
OT_MoveDownTemplateItem,
OT_AddTemplateItem,
OT_RemoveTemplateItem,
OT_AddTemplatePopup,
OT_SelectTemplatePopup,
CustomTemplatesPreferences]
def register():
for c in classes:
bpy.utils.register_class(c)
bpy.types.TOPBAR_MT_file_new.remove(draw_file_new_templates)
bpy.types.TOPBAR_MT_file_new.append(draw_file_new_templates)
bpy.types.TOPBAR_MT_file_defaults.append(draw_file_default_operators)
def unregister():
for c in reversed(classes):
bpy.utils.unregister_class(c)
bpy.types.TOPBAR_MT_file_new.remove(draw_file_new_templates)
bpy.types.TOPBAR_MT_file_defaults.remove(draw_file_default_operators)
if __name__ == "__main__":
register()