Layer actions and navigations features

1.9.0

- feat: New shortcuts:
  - `F2` in Paint and Edit to rename active layer
  - `Insert` add a new layer (same as Krita)
  - `Shift + Insert` add a new layer and immediately pop-up a rename box
  - `page up / page down` change active layer up/down with a temporary fade (settings in addon prefs)
- fix: error when tweaking `gp.duplicate_send_to_layer` shortcut
This commit is contained in:
Pullusb
2021-12-22 14:11:31 +01:00
parent 3c7477c442
commit 97b09444ab
8 changed files with 379 additions and 32 deletions
+54 -3
View File
@@ -15,7 +15,7 @@ bl_info = {
"name": "GP toolbox",
"description": "Tool set for Grease Pencil in animation production",
"author": "Samuel Bernou, Christophe Seux",
"version": (1, 8, 1),
"version": (1, 9, 0),
"blender": (2, 91, 0),
"location": "Sidebar (N menu) > Gpencil > Toolbox / Gpencil properties",
"warning": "",
@@ -51,6 +51,7 @@ from . import OP_depth_move
from . import OP_key_duplicate_send
from . import OP_layer_manager
from . import OP_layer_picker
from . import OP_layer_nav
from . import OP_material_picker
from . import OP_eraser_brush
from . import TOOL_eraser_brush
@@ -310,6 +311,38 @@ class GPTB_prefs(bpy.types.AddonPreferences):
fixprops: bpy.props.PointerProperty(type = GP_PG_FixSettings)
## GP Layer navigator
nav_use_fade : BoolProperty(
name='Fade Inactive Layers',
description='Fade Inactive layers to determine active layer in a glimpse',
default=True)
nav_fade_val : FloatProperty(
name='Fade Value',
description='Fade value for other layers when navigating (0=invisible)',
default=0.35, min=0.0, max=0.95, step=1, precision=2)
nav_limit : FloatProperty(
name='Fade Duration',
description='Time of other layer faded when using layer navigation',
default=1.4, min=0.1, max=5, step=2, precision=1, subtype='TIME', unit='TIME')
nav_use_fade_in : BoolProperty(
name='Progressive Fade Back',
description='Use a fade on other layer when navigating',
default=True)
nav_fade_in_time : FloatProperty(
name='Fade-In Time',
description='Duration of the fade',
default=0.5, min=0.1, max=5, step=2, precision=2, subtype='TIME', unit='TIME')
nav_interval : FloatProperty(
name='Refresh Rate',
description='Refresh rate for fade updating (upper value means stepped fade)',
default=0.04, min=0.01, max=0.5, step=3, precision=2, subtype='TIME', unit='TIME')
## Temp cutter
# temp_cutter_use_shortcut: BoolProperty(
# name = "Use temp cutter Shortcut",
@@ -415,6 +448,21 @@ class GPTB_prefs(bpy.types.AddonPreferences):
box = layout.box()
box.label(text='Tools options:')
subbox= box.box()
subbox.label(text='Layer Navigation')
col = subbox.column()
col.prop(self, 'nav_use_fade')
if self.nav_use_fade:
row = col.row()
row.prop(self, 'nav_fade_val')
row.prop(self, 'nav_limit')
row = subbox.row(align=False)
row.prop(self, 'nav_use_fade_in')
if self.nav_use_fade_in:
row.prop(self, 'nav_fade_in_time', text='Fade Back Time')
# row.prop(self, 'nav_interval') # Do not expose refresh rate for now, not usefull to user...
box.prop(self, 'use_precise_eraser')
if self.pref_tabs == 'KEYS':
@@ -427,14 +475,15 @@ class GPTB_prefs(bpy.types.AddonPreferences):
## TOOL_eraser_brush.addon_keymaps # has a checkbox in
prev_key_category = ''
kmi_see_list = []
for kms in [
OP_keyframe_jump.addon_keymaps,
OP_copy_paste.addon_keymaps,
OP_breakdowner.breakdowner_addon_keymaps,
OP_breakdowner.addon_keymaps,
OP_key_duplicate_send.addon_keymaps,
OP_layer_picker.addon_keymaps,
OP_material_picker.addon_keymaps,
OP_layer_nav.addon_keymaps,
# OP_layer_manager.addon_keymaps, # Do not display, wm.call_panel call panel ops mixed with natives shortcut (F2)
]:
ct = 0
@@ -644,6 +693,7 @@ def register():
OP_eraser_brush.register()
OP_material_picker.register()
OP_layer_picker.register()
OP_layer_nav.register()
TOOL_eraser_brush.register()
handler_draw_cam.register()
UI_tools.register()
@@ -670,6 +720,7 @@ def unregister():
UI_tools.unregister()
handler_draw_cam.unregister()
TOOL_eraser_brush.unregister()
OP_layer_nav.unregister()
OP_layer_picker.unregister()
OP_material_picker.unregister()
OP_eraser_brush.unregister()