fix(ui): improve CustomButton settings visibility logic

- Show icon toggle depends on textCommand input
- Add fallback for valueShowIcon (default true) and valueEnableColorization (default false)
- Reorder settings: Show Icon, Icon, iconPosition, enableColorization, colorizeSystemIcon
This commit is contained in:
loner
2026-04-06 07:35:10 +08:00
parent b6a85d88e7
commit 55c7f344b3
@@ -72,8 +72,22 @@ ColumnLayout {
settingsChanged(settings);
}
NToggle {
id: showIconToggle
label: I18n.tr("bar.custom-button.show-icon-label")
description: I18n.tr("bar.custom-button.show-icon-description")
checked: valueShowIcon
onToggled: checked => {
valueShowIcon = checked;
saveSettings();
}
visible: textCommandInput.text !== ""
defaultValue: widgetMetadata.showIcon
}
RowLayout {
spacing: Style.marginM
visible: valueShowIcon
NLabel {
label: I18n.tr("common.icon")
@@ -134,19 +148,6 @@ ColumnLayout {
defaultValue: widgetMetadata.iconPosition
}
NToggle {
id: showIconToggle
label: I18n.tr("bar.custom-button.show-icon-label")
description: I18n.tr("bar.custom-button.show-icon-description")
checked: valueShowIcon
onToggled: checked => {
valueShowIcon = checked;
saveSettings();
}
visible: textCommandInput.text !== ""
defaultValue: widgetMetadata.showIcon
}
NToggle {
label: I18n.tr("bar.custom-button.enable-colorization-label")
description: I18n.tr("bar.custom-button.enable-colorization-description")
@@ -155,11 +156,12 @@ ColumnLayout {
valueEnableColorization = checked;
saveSettings();
}
visible: valueShowIcon
defaultValue: widgetMetadata.enableColorization
}
NColorChoice {
visible: valueEnableColorization
visible: valueShowIcon && valueEnableColorization
label: I18n.tr("common.select-icon-color")
description: I18n.tr("bar.custom-button.color-selection-description")
currentKey: valueColorizeSystemIcon