2025-12-01
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import bpy
|
||||
from bpy.types import AddonPreferences
|
||||
from bpy.props import BoolProperty, StringProperty
|
||||
from .ui import change_ui_category
|
||||
from .util import get_addon_prefs
|
||||
from .operators import better_delete
|
||||
|
||||
class BlenLog_Prefs(AddonPreferences):
|
||||
bl_idname = __package__
|
||||
|
||||
def update_sidebar_panel(self, context):
|
||||
change_ui_category(self.sidebar_panel)
|
||||
|
||||
sidebar_panel: StringProperty(
|
||||
name="Sidebar Panel",
|
||||
description="Define which sidebar panel the Blender Log should appear in",
|
||||
default="Blender Log",
|
||||
update=update_sidebar_panel,
|
||||
)
|
||||
purge_on_save: BoolProperty(
|
||||
name="Purge On Save",
|
||||
description="Run a recursive purge on file save, rather than simply not saving unused datablocks, which is Blender's default behaviour. This ensures your file is never saved with any garbage orphan data",
|
||||
default=False,
|
||||
)
|
||||
|
||||
def update_deletion_pie(self, context):
|
||||
if self.use_deletion_pie:
|
||||
better_delete.register_hotkeys()
|
||||
else:
|
||||
better_delete.unregister_hotkeys()
|
||||
|
||||
use_deletion_pie: BoolProperty(
|
||||
name="Delete Pie On X",
|
||||
description="Overwrite the X hotkey in the 3D View and the Outliner for more truthful deletion behaviours",
|
||||
default=False,
|
||||
update=update_deletion_pie
|
||||
)
|
||||
|
||||
display_stack_trace: BoolProperty(
|
||||
name="Display Stack Trace",
|
||||
description="Whether to display the Python Stack Trace of a log entry. Only useful for Python developers",
|
||||
default=False,
|
||||
)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.use_property_split = True
|
||||
|
||||
layout = layout.column(align=True)
|
||||
layout.label(text="Cosmetic:")
|
||||
layout.prop(self, 'sidebar_panel')
|
||||
|
||||
layout.separator()
|
||||
layout.label(text="Debug:")
|
||||
layout.prop(self, 'display_stack_trace')
|
||||
|
||||
layout.separator()
|
||||
layout.label(text="Mistake Avoidance:")
|
||||
layout.prop(self, 'purge_on_save')
|
||||
layout.prop(self, 'use_deletion_pie')
|
||||
|
||||
|
||||
registry = [BlenLog_Prefs]
|
||||
|
||||
|
||||
@bpy.app.handlers.persistent
|
||||
def delayed_register(_):
|
||||
prefs = get_addon_prefs(bpy.context)
|
||||
prefs.sidebar_panel = prefs.sidebar_panel
|
||||
|
||||
|
||||
def register():
|
||||
bpy.app.handlers.load_post.append(delayed_register)
|
||||
|
||||
|
||||
def unregister():
|
||||
bpy.app.handlers.load_post.remove(delayed_register)
|
||||
Reference in New Issue
Block a user