tray-bar: added setting to colorize the chevron

This commit is contained in:
Lemmy
2026-02-06 11:18:56 -05:00
parent dd9d643eb3
commit 081ac08e67
19 changed files with 63 additions and 13 deletions
+4 -2
View File
@@ -66,6 +66,8 @@ Item {
property var pinned: widgetSettings.pinned || widgetMetadata.pinned || [] // Pinned items (shown inline)
property bool drawerEnabled: widgetSettings.drawerEnabled !== undefined ? widgetSettings.drawerEnabled : (widgetMetadata.drawerEnabled !== undefined ? widgetMetadata.drawerEnabled : true) // Enable drawer panel
property bool hidePassive: widgetSettings.hidePassive !== undefined ? widgetSettings.hidePassive : true // Hide passive status items
readonly property string chevronColorKey: widgetSettings.chevronColor !== undefined ? widgetSettings.chevronColor : widgetMetadata.chevronColor
readonly property color chevronColor: Color.resolveColorKey(chevronColorKey)
property var filteredItems: [] // Items to show inline (pinned)
property var dropdownItems: [] // Items to show in drawer (unpinned)
property int hoveredItemIndex: -1 // Track hovered item for dot indicator
@@ -332,7 +334,7 @@ Item {
applyUiScale: false
customRadius: Style.radiusL
colorBg: "transparent"
colorFg: Color.mOnSurface
colorFg: root.chevronColor
colorBorder: "transparent"
colorBorderHover: "transparent"
icon: {
@@ -528,7 +530,7 @@ Item {
applyUiScale: false
customRadius: Style.radiusL
colorBg: "transparent"
colorFg: Color.mOnSurface
colorFg: root.chevronColor
colorBorder: "transparent"
colorBorderHover: "transparent"
icon: {
@@ -15,6 +15,7 @@ ColumnLayout {
// Local state
property var localBlacklist: widgetData.blacklist || []
property bool valueColorizeIcons: widgetData.colorizeIcons !== undefined ? widgetData.colorizeIcons : widgetMetadata.colorizeIcons
property string valueChevronColor: widgetData.chevronColor !== undefined ? widgetData.chevronColor : widgetMetadata.chevronColor
property bool valueDrawerEnabled: widgetData.drawerEnabled !== undefined ? widgetData.drawerEnabled : widgetMetadata.drawerEnabled
property bool valueHidePassive: widgetData.hidePassive !== undefined ? widgetData.hidePassive : widgetMetadata.hidePassive
@@ -33,17 +34,6 @@ ColumnLayout {
spacing: Style.marginM
NToggle {
Layout.fillWidth: true
label: I18n.tr("bar.tray.colorize-icons-label")
description: I18n.tr("bar.tray.colorize-icons-description")
checked: root.valueColorizeIcons
onToggled: checked => {
root.valueColorizeIcons = checked;
settingsChanged(saveSettings());
}
}
NToggle {
Layout.fillWidth: true
label: I18n.tr("bar.tray.drawer-enabled-label")
@@ -55,6 +45,30 @@ ColumnLayout {
}
}
NComboBox {
label: I18n.tr("bar.tray.chevron-color-label")
description: I18n.tr("bar.tray.chevron-color-description")
model: Color.colorKeyModel
currentKey: root.valueChevronColor
onSelected: key => {
root.valueChevronColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
visible: root.valueDrawerEnabled
}
NToggle {
Layout.fillWidth: true
label: I18n.tr("bar.tray.colorize-icons-label")
description: I18n.tr("bar.tray.colorize-icons-description")
checked: root.valueColorizeIcons
onToggled: checked => {
root.valueColorizeIcons = checked;
settingsChanged(saveSettings());
}
}
NToggle {
Layout.fillWidth: true
label: I18n.tr("bar.tray.hide-passive-label")
@@ -170,6 +184,7 @@ ColumnLayout {
var settings = Object.assign({}, widgetData || {});
settings.blacklist = newBlacklist;
settings.colorizeIcons = root.valueColorizeIcons;
settings.chevronColor = root.valueChevronColor;
settings.drawerEnabled = root.valueDrawerEnabled;
settings.hidePassive = root.valueHidePassive;
return settings;