blender-addons/amaranth/prefs.py

123 lines
3.9 KiB
Python

# SPDX-License-Identifier: GPL-2.0-or-later
import bpy
from bpy.props import (
BoolProperty,
IntProperty,
)
class AmaranthToolsetPreferences(bpy.types.AddonPreferences):
bl_idname = "amaranth"
use_frame_current: BoolProperty(
name="Current Frame Slider",
description="Set the current frame from the Specials menu in the 3D View",
default=True,
)
use_file_save_reload: BoolProperty(
name="Save & Reload File",
description="File menu > Save & Reload, or Ctrl + Shift + W",
default=True,
)
use_scene_refresh: BoolProperty(
name="Refresh Scene",
description="Specials Menu [W]",
default=True,
)
use_timeline_extra_info: BoolProperty(
name="Timeline Extra Info",
description="Timeline Header",
default=True,
)
use_image_node_display: BoolProperty(
name="Active Image Node in Editor",
description="Display active node image in image editor",
default=True,
)
use_scene_stats: BoolProperty(
name="Extra Scene Statistics",
description="Display extra scene statistics in the status bar (may be slow in heavy scenes)",
default=False,
)
frames_jump: IntProperty(
name="Frames",
description="Number of frames to jump forward/backward",
default=10,
min=1
)
use_framerate: BoolProperty(
name="Framerate Jump",
description="Jump the amount of frames forward/backward that you have set as your framerate",
default=False,
)
use_layers_for_render: BoolProperty(
name="Current Layers for Render",
description="Save the layers that should be enabled for render",
default=True,
)
def draw(self, context):
layout = self.layout
layout.label(
text="Here you can enable or disable specific tools, "
"in case they interfere with others or are just plain annoying")
split = layout.split(factor=0.25)
col = split.column()
sub = col.column(align=True)
sub.label(text="3D View", icon="VIEW3D")
sub.prop(self, "use_frame_current")
sub.prop(self, "use_scene_refresh")
sub.separator()
sub.label(text="General", icon="SCENE_DATA")
sub.prop(self, "use_file_save_reload")
sub.prop(self, "use_timeline_extra_info")
sub.prop(self, "use_scene_stats")
sub.prop(self, "use_layers_for_render")
sub.prop(self, "use_framerate")
sub.separator()
sub.label(text="Nodes Editor", icon="NODETREE")
sub.prop(self, "use_image_node_display")
col = split.column()
sub = col.column(align=True)
sub.label(text="")
sub.label(
text="Set the current frame from the Specials menu in the 3D View [W]")
sub.label(
text="Refresh the current Scene. Hotkey: F5 or in Specials menu [W]")
sub.separator()
sub.label(text="") # General icon
sub.label(
text="Quickly save and reload the current file (no warning!). "
"File menu or Ctrl+Shift+W")
sub.label(
text="SMPTE Timecode and frames left/ahead on Timeline's header")
sub.label(
text="Display extra stats for Scenes, Cameras, Meshlights (Cycles). Can be slow in heavy scenes")
sub.label(
text="Save the set of layers that should be activated for a final render")
sub.label(
text="Jump the amount of frames forward/backward that you've set as your framerate")
sub.separator()
sub.label(text="") # Nodes
sub.label(
text="When double-clicking an Image node, display it on the Image editor "
"(if any)")
def register():
bpy.utils.register_class(AmaranthToolsetPreferences)
def unregister():
bpy.utils.unregister_class(AmaranthToolsetPreferences)