mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-05 13:10:24 +00:00
Fixed Brush Settings Post Refactor and Added Numeric Control (#7783)
## Summary
Refactored BrushSettingsPanel layout to stack labels and number inputs
above sliders, and fixed brush size keybinding limits to match the
updated 1-250 range.
## Changes
- **What**:
- Reorganized BrushSettingsPanel UI to display labels and number inputs
in a row above each slider (instead of side-by-side), creating a cleaner
vertical layout with better visual hierarchy.
- Updated brush size increase/decrease keybindings to clamp between
1-250 (previously 1-100) to match the refactored slider limits.
- Added setting for color picker keybinding
- **Breaking**: None
## Review Focus
- Verify the stacked layout (label + number input above slider) works
well across different panel widths
- Confirm all slider controls properly sync with their corresponding
number inputs
- Test brush size keybindings (increase/decrease) respect the new 1-250
limits
## Screenshot
<img width="1713" height="848" alt="image"
src="https://github.com/user-attachments/assets/22a26ad2-61be-4031-92d0-b4577a003552"
/>
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7783-Fixed-Brush-Settings-Port-Refactor-and-Added-Numeric-Control-2d76d73d365081bda7a8e12d3c649085)
by [Unito](https://www.unito.io)
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org>
This commit is contained in:
@@ -37,6 +37,15 @@ function isOpened(): boolean {
|
||||
return useDialogStore().isDialogOpen('global-mask-editor')
|
||||
}
|
||||
|
||||
const changeBrushSize = async (sizeChanger: (oldSize: number) => number) => {
|
||||
if (!isOpened()) return
|
||||
|
||||
const store = useMaskEditorStore()
|
||||
const oldBrushSize = store.brushSettings.size
|
||||
const newBrushSize = sizeChanger(oldBrushSize)
|
||||
store.setBrushSize(newBrushSize)
|
||||
}
|
||||
|
||||
app.registerExtension({
|
||||
name: 'Comfy.MaskEditor',
|
||||
settings: [
|
||||
@@ -82,13 +91,24 @@ app.registerExtension({
|
||||
id: 'Comfy.MaskEditor.BrushSize.Increase',
|
||||
icon: 'pi pi-plus-circle',
|
||||
label: 'Increase Brush Size in MaskEditor',
|
||||
function: () => changeBrushSize((old) => _.clamp(old + 4, 1, 100))
|
||||
function: () => changeBrushSize((old) => _.clamp(old + 2, 1, 250))
|
||||
},
|
||||
{
|
||||
id: 'Comfy.MaskEditor.BrushSize.Decrease',
|
||||
icon: 'pi pi-minus-circle',
|
||||
label: 'Decrease Brush Size in MaskEditor',
|
||||
function: () => changeBrushSize((old) => _.clamp(old - 4, 1, 100))
|
||||
function: () => changeBrushSize((old) => _.clamp(old - 2, 1, 250))
|
||||
},
|
||||
{
|
||||
id: 'Comfy.MaskEditor.ColorPicker',
|
||||
icon: 'pi pi-palette',
|
||||
label: 'Open Color Picker in MaskEditor',
|
||||
function: () => {
|
||||
if (!isOpened()) return
|
||||
|
||||
const store = useMaskEditorStore()
|
||||
store.colorInput?.click()
|
||||
}
|
||||
}
|
||||
],
|
||||
init() {
|
||||
@@ -101,12 +121,3 @@ app.registerExtension({
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
const changeBrushSize = async (sizeChanger: (oldSize: number) => number) => {
|
||||
if (!isOpened()) return
|
||||
|
||||
const store = useMaskEditorStore()
|
||||
const oldBrushSize = store.brushSettings.size
|
||||
const newBrushSize = sizeChanger(oldBrushSize)
|
||||
store.setBrushSize(newBrushSize)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user