io_scene_vrml2: moved to contrib: T63750
[blender-addons-contrib.git] / amaranth / prefs.py
1 #  This program is free software; you can redistribute it and/or
2 #  modify it under the terms of the GNU General Public License
3 #  as published by the Free Software Foundation; either version 2
4 #  of the License, or (at your option) any later version.
5 #
6 #  This program is distributed in the hope that it will be useful,
7 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #  GNU General Public License for more details.
10 #
11 #  You should have received a copy of the GNU General Public License
12 #  along with this program; if not, write to the Free Software Foundation,
13 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14
15 import bpy
16 from bpy.props import (
17         BoolProperty,
18         IntProperty,
19         )
20
21
22 class AmaranthToolsetPreferences(bpy.types.AddonPreferences):
23     bl_idname = "amaranth"
24     use_frame_current: BoolProperty(
25         name="Current Frame Slider",
26         description="Set the current frame from the Specials menu in the 3D View",
27         default=True,
28     )
29     use_file_save_reload: BoolProperty(
30         name="Save & Reload File",
31         description="File menu > Save & Reload, or Ctrl + Shift + W",
32         default=True,
33     )
34     use_scene_refresh: BoolProperty(
35         name="Refresh Scene",
36         description="Specials Menu [W]",
37         default=True,
38     )
39     use_timeline_extra_info: BoolProperty(
40         name="Timeline Extra Info",
41         description="Timeline Header",
42         default=True,
43     )
44     use_image_node_display: BoolProperty(
45         name="Active Image Node in Editor",
46         description="Display active node image in image editor",
47         default=True,
48     )
49     use_scene_stats: BoolProperty(
50         name="Extra Scene Statistics",
51         description="Display extra scene statistics in the status bar (may be slow in heavy scenes)",
52         default=False,
53     )
54     frames_jump: IntProperty(
55         name="Frames",
56         description="Number of frames to jump forward/backward",
57         default=10,
58         min=1
59     )
60     use_framerate: BoolProperty(
61         name="Framerate Jump",
62         description="Jump the amount of frames forward/backward that you have set as your framerate",
63         default=False,
64     )
65     use_layers_for_render: BoolProperty(
66         name="Current Layers for Render",
67         description="Save the layers that should be enabled for render",
68         default=True,
69     )
70
71     def draw(self, context):
72         layout = self.layout
73
74         layout.label(
75             text="Here you can enable or disable specific tools, "
76                  "in case they interfere with others or are just plain annoying")
77
78         split = layout.split(factor=0.25)
79
80         col = split.column()
81         sub = col.column(align=True)
82         sub.label(text="3D View", icon="VIEW3D")
83         sub.prop(self, "use_frame_current")
84         sub.prop(self, "use_scene_refresh")
85
86         sub.separator()
87
88         sub.label(text="General", icon="SCENE_DATA")
89         sub.prop(self, "use_file_save_reload")
90         sub.prop(self, "use_timeline_extra_info")
91         sub.prop(self, "use_scene_stats")
92         sub.prop(self, "use_layers_for_render")
93         sub.prop(self, "use_framerate")
94
95         sub.separator()
96
97         sub.label(text="Nodes Editor", icon="NODETREE")
98         sub.prop(self, "use_image_node_display")
99
100         col = split.column()
101         sub = col.column(align=True)
102         sub.label(text="")
103         sub.label(
104             text="Set the current frame from the Specials menu in the 3D View [W]")
105         sub.label(
106             text="Refresh the current Scene. Hotkey: F5 or in Specials menu [W]")
107
108         sub.separator()
109         sub.label(text="")  # General icon
110         sub.label(
111             text="Quickly save and reload the current file (no warning!). "
112                  "File menu or Ctrl+Shift+W")
113         sub.label(
114             text="SMPTE Timecode and frames left/ahead on Timeline's header")
115         sub.label(
116             text="Display extra stats for Scenes, Cameras, Meshlights (Cycles). Can be slow in heavy scenes")
117         sub.label(
118             text="Save the set of layers that should be activated for a final render")
119         sub.label(
120             text="Jump the amount of frames forward/backward that you've set as your framerate")
121
122         sub.separator()
123         sub.label(text="")  # Nodes
124         sub.label(
125             text="When double-clicking an Image node, display it on the Image editor "
126                  "(if any)")
127
128
129 def register():
130     bpy.utils.register_class(AmaranthToolsetPreferences)
131
132
133 def unregister():
134     bpy.utils.unregister_class(AmaranthToolsetPreferences)