diff --git a/js/interface/settings.js b/js/interface/settings.js index 0ca78462..0937b711 100644 --- a/js/interface/settings.js +++ b/js/interface/settings.js @@ -489,6 +489,7 @@ const Settings = { Interface.Panels.color.vue.picker_type = value ? 'wheel' : 'box'; }}); new Setting('pick_color_opacity', {category: 'paint', value: false}); + new Setting('outlines_in_paint_mode', {category: 'paint', value: true}); new Setting('paint_through_transparency', {category: 'paint', value: true}); new Setting('paint_side_restrict', {category: 'paint', value: true}); new Setting('paint_with_stylus_only', {category: 'paint', value: false}); diff --git a/js/outliner/outliner.js b/js/outliner/outliner.js index 6d7ff9b5..f0099bb0 100644 --- a/js/outliner/outliner.js +++ b/js/outliner/outliner.js @@ -623,7 +623,11 @@ class NodePreviewController extends EventSystem { updateSelection(element) { let {mesh} = element; if (mesh && mesh.outline) { - mesh.outline.visible = element.selected + if (Modes.paint && settings.outlines_in_paint_mode.value === false) { + mesh.outline.visible = false; + } else { + mesh.outline.visible = element.selected; + } } this.dispatchEvent('update_selection', {element}); diff --git a/lang/en.json b/lang/en.json index dd06360f..f3465b96 100644 --- a/lang/en.json +++ b/lang/en.json @@ -891,6 +891,8 @@ "settings.color_wheel.desc": "Use the color wheel as the main color picker", "settings.pick_color_opacity": "Pick Color Opacity", "settings.pick_color_opacity.desc": "Pick the color opacity with the Color Picker and set it as brush opacity", + "settings.outlines_in_paint_mode": "Selection Outlines in Paint Mode", + "settings.outlines_in_paint_mode.desc": "Display element selection outlines while in paint mode", "settings.paint_through_transparency": "Paint Through Transparency", "settings.paint_through_transparency.desc": "Paint through transparent pixels when Lock Alpha Channel is enabled", "settings.paint_side_restrict": "Restrict Brush to Side",