1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-31 17:02:51 -05:00

system tray: use id+title as identifier

fixes #1542
This commit is contained in:
bbedward
2026-01-29 22:01:33 -05:00
parent 9fbff5e833
commit 67d3aa9da3

View File

@@ -36,8 +36,17 @@ Item {
return !hiddenTrayIds.includes(itemId.toLowerCase());
});
}
readonly property var mainBarItems: allTrayItems.filter(item => !SessionData.isHiddenTrayId(item?.id || ""))
readonly property var hiddenBarItems: allTrayItems.filter(item => SessionData.isHiddenTrayId(item?.id || ""))
function getTrayItemKey(item) {
const id = item?.id || "";
const tooltipTitle = item?.tooltipTitle || "";
if (!tooltipTitle || tooltipTitle === id) {
return id;
}
return `${id}::${tooltipTitle}`;
}
readonly property var mainBarItems: allTrayItems.filter(item => !SessionData.isHiddenTrayId(root.getTrayItemKey(item)))
readonly property var hiddenBarItems: allTrayItems.filter(item => SessionData.isHiddenTrayId(root.getTrayItemKey(item)))
readonly property bool hasHiddenItems: allTrayItems.length > mainBarItems.length
readonly property int calculatedSize: {
if (allTrayItems.length === 0)
@@ -1226,7 +1235,7 @@ Item {
anchors.right: parent.right
anchors.rightMargin: Theme.spacingS
anchors.verticalCenter: parent.verticalCenter
name: SessionData.isHiddenTrayId(menuRoot.trayItem?.id || "") ? "visibility" : "visibility_off"
name: SessionData.isHiddenTrayId(root.getTrayItemKey(menuRoot.trayItem)) ? "visibility" : "visibility_off"
size: 16
color: Theme.widgetTextColor
}
@@ -1237,13 +1246,13 @@ Item {
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
const itemId = menuRoot.trayItem?.id || "";
if (!itemId)
const itemKey = root.getTrayItemKey(menuRoot.trayItem);
if (!itemKey)
return;
if (SessionData.isHiddenTrayId(itemId)) {
SessionData.showTrayId(itemId);
if (SessionData.isHiddenTrayId(itemKey)) {
SessionData.showTrayId(itemKey);
} else {
SessionData.hideTrayId(itemId);
SessionData.hideTrayId(itemKey);
}
menuRoot.closeWithAction();
}