diff --git a/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/scripts/startup/bl_ui/space_toolsystem_toolbar.py index 6e1c36d0b01..4cbbbfd975d 100644 --- a/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -3008,6 +3008,9 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): *_tools_annotate, _defs_view3d_generic.ruler, ], + 'EDIT_GREASE_PENCIL': [ + *_tools_select, + ], 'PARTICLE': [ *_tools_select, _defs_view3d_generic.cursor, @@ -3113,7 +3116,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): *_tools_annotate, ], 'EDIT_GPENCIL': [ - *_tools_select, + *_tools_gpencil_select, _defs_view3d_generic.cursor, None, *_tools_transform, diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index 6aeac9d9435..a95d8c42179 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -754,7 +754,7 @@ class VIEW3D_HT_header(Header): row = layout.row(align=True) row.prop_enum(tool_settings, "gpencil_selectmode_edit", text="", value='POINT') row.prop_enum(tool_settings, "gpencil_selectmode_edit", text="", value='STROKE') - + # Grease Pencil (legacy) if obj and obj.type == 'GPENCIL' and context.gpencil_data: gpd = context.gpencil_data @@ -3065,7 +3065,7 @@ class VIEW3D_MT_object_convert(Menu): def draw(self, context): layout = self.layout ob = context.active_object - + if ob and ob.type == 'GPENCIL' and context.gpencil_data and not context.preferences.experimental.use_grease_pencil_version3: layout.operator_enum("gpencil.convert", "type") else: diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h index 3e5cfac78d3..44a6a056a69 100644 --- a/source/blender/blenkernel/BKE_context.h +++ b/source/blender/blenkernel/BKE_context.h @@ -118,6 +118,7 @@ typedef enum eContextObjectMode { CTX_MODE_EDIT_METABALL, CTX_MODE_EDIT_LATTICE, CTX_MODE_EDIT_CURVES, + CTX_MODE_EDIT_GREASE_PENCIL, CTX_MODE_POSE, CTX_MODE_SCULPT, CTX_MODE_PAINT_WEIGHT, @@ -126,7 +127,7 @@ typedef enum eContextObjectMode { CTX_MODE_PARTICLE, CTX_MODE_OBJECT, CTX_MODE_PAINT_GPENCIL, - CTX_MODE_EDIT_GPENCIL, + CTX_MODE_EDIT_GPENCIL_LEGACY, CTX_MODE_SCULPT_GPENCIL, CTX_MODE_WEIGHT_GPENCIL, CTX_MODE_VERTEX_GPENCIL, diff --git a/source/blender/blenkernel/intern/context.cc b/source/blender/blenkernel/intern/context.cc index 1d85f0559aa..3c183d6f8c8 100644 --- a/source/blender/blenkernel/intern/context.cc +++ b/source/blender/blenkernel/intern/context.cc @@ -1187,7 +1187,7 @@ enum eContextObjectMode CTX_data_mode_enum_ex(const Object *obedit, case OB_CURVES: return CTX_MODE_EDIT_CURVES; case OB_GREASE_PENCIL: - return CTX_MODE_EDIT_GPENCIL; + return CTX_MODE_EDIT_GREASE_PENCIL; } } else { @@ -1215,7 +1215,7 @@ enum eContextObjectMode CTX_data_mode_enum_ex(const Object *obedit, return CTX_MODE_PAINT_GPENCIL; } if (object_mode & OB_MODE_EDIT_GPENCIL) { - return CTX_MODE_EDIT_GPENCIL; + return CTX_MODE_EDIT_GPENCIL_LEGACY; } if (object_mode & OB_MODE_SCULPT_GPENCIL) { return CTX_MODE_SCULPT_GPENCIL; @@ -1256,6 +1256,7 @@ static const char *data_mode_strings[] = { "mball_edit", "lattice_edit", "curves_edit", + "grease_pencil_edit", "posemode", "sculpt_mode", "weightpaint", diff --git a/source/blender/draw/engines/overlay/overlay_engine.cc b/source/blender/draw/engines/overlay/overlay_engine.cc index a5c32fce142..d29c3935131 100644 --- a/source/blender/draw/engines/overlay/overlay_engine.cc +++ b/source/blender/draw/engines/overlay/overlay_engine.cc @@ -181,6 +181,9 @@ static void OVERLAY_cache_init(void *vedata) case CTX_MODE_EDIT_LATTICE: OVERLAY_edit_lattice_cache_init(data); break; + case CTX_MODE_EDIT_GREASE_PENCIL: + OVERLAY_edit_grease_pencil_cache_init(data); + break; case CTX_MODE_PARTICLE: OVERLAY_edit_particle_cache_init(data); break; @@ -193,13 +196,8 @@ static void OVERLAY_cache_init(void *vedata) case CTX_MODE_SCULPT: OVERLAY_sculpt_cache_init(data); break; - case CTX_MODE_EDIT_GPENCIL: - if (U.experimental.use_grease_pencil_version3) { - OVERLAY_edit_grease_pencil_cache_init(data); - } - else { - OVERLAY_edit_gpencil_legacy_cache_init(data); - } + case CTX_MODE_EDIT_GPENCIL_LEGACY: + OVERLAY_edit_gpencil_legacy_cache_init(data); break; case CTX_MODE_PAINT_GPENCIL: case CTX_MODE_SCULPT_GPENCIL: @@ -287,7 +285,7 @@ static bool overlay_object_is_edit_mode(const OVERLAY_PrivateData *pd, const Obj /* No edit mode yet. */ return false; case OB_GREASE_PENCIL: - return pd->ctx_mode == CTX_MODE_EDIT_GPENCIL; + return pd->ctx_mode == CTX_MODE_EDIT_GREASE_PENCIL; } } return false; @@ -731,13 +729,8 @@ static void OVERLAY_draw_scene(void *vedata) case CTX_MODE_PARTICLE: OVERLAY_edit_particle_draw(data); break; - case CTX_MODE_EDIT_GPENCIL: - if (U.experimental.use_grease_pencil_version3) { - OVERLAY_edit_grease_pencil_draw(data); - } - else { - OVERLAY_edit_gpencil_legacy_draw(data); - } + case CTX_MODE_EDIT_GPENCIL_LEGACY: + OVERLAY_edit_gpencil_legacy_draw(data); break; case CTX_MODE_PAINT_GPENCIL: case CTX_MODE_SCULPT_GPENCIL: @@ -750,6 +743,9 @@ static void OVERLAY_draw_scene(void *vedata) case CTX_MODE_EDIT_CURVES: OVERLAY_edit_curves_draw(data); break; + case CTX_MODE_EDIT_GREASE_PENCIL: + OVERLAY_edit_grease_pencil_draw(data); + break; default: break; } diff --git a/source/blender/editors/gpencil_legacy/gpencil_interpolate.c b/source/blender/editors/gpencil_legacy/gpencil_interpolate.c index a7b20750c9d..95ddda0c0a1 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_interpolate.c +++ b/source/blender/editors/gpencil_legacy/gpencil_interpolate.c @@ -1449,7 +1449,7 @@ static void gpencil_interpolate_seq_ui(bContext *C, wmOperator *op) row = uiLayoutRow(layout, true); uiItemR(row, op->ptr, "layers", 0, NULL, ICON_NONE); - if (CTX_data_mode_enum(C) == CTX_MODE_EDIT_GPENCIL) { + if (CTX_data_mode_enum(C) == CTX_MODE_EDIT_GPENCIL_LEGACY) { row = uiLayoutRow(layout, true); uiItemR(row, op->ptr, "interpolate_selected_only", 0, NULL, ICON_NONE); } diff --git a/source/blender/editors/space_view3d/space_view3d.cc b/source/blender/editors/space_view3d/space_view3d.cc index c44e14e5dc0..81c25602e46 100644 --- a/source/blender/editors/space_view3d/space_view3d.cc +++ b/source/blender/editors/space_view3d/space_view3d.cc @@ -1698,6 +1698,9 @@ void ED_view3d_buttons_region_layout_ex(const bContext *C, case CTX_MODE_EDIT_LATTICE: ARRAY_SET_ITEMS(contexts, ".lattice_edit"); break; + case CTX_MODE_EDIT_GREASE_PENCIL: + ARRAY_SET_ITEMS(contexts, ".grease_pencil_edit"); + break; case CTX_MODE_POSE: ARRAY_SET_ITEMS(contexts, ".posemode"); break; @@ -1748,7 +1751,7 @@ void ED_view3d_buttons_region_layout_ex(const bContext *C, case CTX_MODE_WEIGHT_GPENCIL: ARRAY_SET_ITEMS(contexts, ".greasepencil_weight"); break; - case CTX_MODE_EDIT_GPENCIL: + case CTX_MODE_EDIT_GPENCIL_LEGACY: ARRAY_SET_ITEMS(contexts, ".greasepencil_edit"); break; case CTX_MODE_VERTEX_GPENCIL: diff --git a/source/blender/makesrna/intern/rna_context.c b/source/blender/makesrna/intern/rna_context.c index 405e1becc90..c35308236e8 100644 --- a/source/blender/makesrna/intern/rna_context.c +++ b/source/blender/makesrna/intern/rna_context.c @@ -30,6 +30,7 @@ const EnumPropertyItem rna_enum_context_mode_items[] = { {CTX_MODE_EDIT_ARMATURE, "EDIT_ARMATURE", 0, "Armature Edit", ""}, {CTX_MODE_EDIT_METABALL, "EDIT_METABALL", 0, "Metaball Edit", ""}, {CTX_MODE_EDIT_LATTICE, "EDIT_LATTICE", 0, "Lattice Edit", ""}, + {CTX_MODE_EDIT_GREASE_PENCIL, "EDIT_GREASE_PENCIL", 0, "Grease Pencil Edit", ""}, {CTX_MODE_POSE, "POSE", 0, "Pose", ""}, {CTX_MODE_SCULPT, "SCULPT", 0, "Sculpt", ""}, {CTX_MODE_PAINT_WEIGHT, "PAINT_WEIGHT", 0, "Weight Paint", ""}, @@ -38,7 +39,7 @@ const EnumPropertyItem rna_enum_context_mode_items[] = { {CTX_MODE_PARTICLE, "PARTICLE", 0, "Particle", ""}, {CTX_MODE_OBJECT, "OBJECT", 0, "Object", ""}, {CTX_MODE_PAINT_GPENCIL, "PAINT_GPENCIL", 0, "Grease Pencil Paint", ""}, - {CTX_MODE_EDIT_GPENCIL, "EDIT_GPENCIL", 0, "Grease Pencil Edit", ""}, + {CTX_MODE_EDIT_GPENCIL_LEGACY, "EDIT_GPENCIL", 0, "Grease Pencil Edit", ""}, {CTX_MODE_SCULPT_GPENCIL, "SCULPT_GPENCIL", 0, "Grease Pencil Sculpt", ""}, {CTX_MODE_WEIGHT_GPENCIL, "WEIGHT_GPENCIL", 0, "Grease Pencil Weight Paint", ""}, {CTX_MODE_VERTEX_GPENCIL, "VERTEX_GPENCIL", 0, "Grease Pencil Vertex Paint", ""}, diff --git a/source/blender/windowmanager/intern/wm_keymap_utils.c b/source/blender/windowmanager/intern/wm_keymap_utils.c index 7ef0ca80d57..05983fe6389 100644 --- a/source/blender/windowmanager/intern/wm_keymap_utils.c +++ b/source/blender/windowmanager/intern/wm_keymap_utils.c @@ -106,6 +106,9 @@ wmKeyMap *WM_keymap_guess_from_context(const bContext *C) case CTX_MODE_EDIT_LATTICE: km_id = "Lattice"; break; + case CTX_MODE_EDIT_GREASE_PENCIL: + km_id = "Grease Pencil Edit Mode"; + break; case CTX_MODE_POSE: km_id = "Pose"; break; @@ -130,13 +133,8 @@ wmKeyMap *WM_keymap_guess_from_context(const bContext *C) case CTX_MODE_PAINT_GPENCIL: km_id = "Grease Pencil Stroke Paint Mode"; break; - case CTX_MODE_EDIT_GPENCIL: - if (U.experimental.use_grease_pencil_version3) { - km_id = "Grease Pencil Edit Mode"; - } - else { - km_id = "Grease Pencil Stroke Edit Mode"; - } + case CTX_MODE_EDIT_GPENCIL_LEGACY: + km_id = "Grease Pencil Stroke Edit Mode"; break; case CTX_MODE_SCULPT_GPENCIL: km_id = "Grease Pencil Stroke Sculpt Mode";