1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

Compare commits

...

4 Commits

Author SHA1 Message Date
bbedward
3ebdd5631c dankdash: fix binding breaking when clicking overview card
fixes #1170
2025-12-27 00:58:47 -05:00
Linken Quy Dinh
6c4caf121a add seconds to wallpaper cycling (#1169) 2025-12-27 00:53:48 -05:00
bbedward
89788e9ca7 workspace: chagne pill hover color 2025-12-27 00:53:01 -05:00
bbedward
0787c63fed bar: change widget base hover blend logic 2025-12-27 00:49:11 -05:00
9 changed files with 39 additions and 36 deletions

View File

@@ -687,7 +687,10 @@ Singleton {
}
}
property alias widgetBaseHoverColor: root.primaryPressed
property color widgetBaseHoverColor: {
const blended = blend(widgetBaseBackgroundColor, primary, 0.1);
return withAlpha(blended, Math.max(0.3, blended.a));
}
property color widgetIconColor: {
if (typeof SettingsData === "undefined") {

View File

@@ -317,7 +317,7 @@ BasePill {
height: 20
radius: 10
anchors.verticalCenter: parent.verticalCenter
color: prevArea.containsMouse ? Theme.primaryHover : "transparent"
color: prevArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
visible: root.playerAvailable
opacity: (activePlayer && activePlayer.canGoPrevious) ? 1 : 0.3
@@ -374,7 +374,7 @@ BasePill {
height: 20
radius: 10
anchors.verticalCenter: parent.verticalCenter
color: nextArea.containsMouse ? Theme.primaryHover : "transparent"
color: nextArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
visible: playerAvailable
opacity: (activePlayer && activePlayer.canGoNext) ? 1 : 0.3

View File

@@ -86,12 +86,10 @@ Item {
return "transparent";
}
if (privacyArea.containsMouse) {
return Theme.primaryPressed;
}
const baseColor = Theme.widgetBaseBackgroundColor;
const transparency = (root.barConfig && root.barConfig.widgetTransparency !== undefined) ? root.barConfig.widgetTransparency : 1.0;
const rawTransparency = (root.barConfig && root.barConfig.widgetTransparency !== undefined) ? root.barConfig.widgetTransparency : 1.0;
const isHovered = privacyArea.containsMouse;
const transparency = isHovered ? Math.max(0.3, rawTransparency) : rawTransparency;
const baseColor = isHovered ? Theme.widgetBaseHoverColor : Theme.widgetBaseBackgroundColor;
return Theme.withAlpha(baseColor, transparency);
}
}

View File

@@ -348,10 +348,9 @@ Item {
radius: Theme.cornerRadius
color: {
if (isFocused) {
return mouseArea.containsMouse ? Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.3) : Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.2);
} else {
return mouseArea.containsMouse ? Qt.rgba(Theme.primaryHover.r, Theme.primaryHover.g, Theme.primaryHover.b, 0.1) : "transparent";
return mouseArea.containsMouse ? Theme.primarySelected : Theme.withAlpha(Theme.primary, 0.2);
}
return mouseArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent";
}
// App icon
@@ -598,10 +597,9 @@ Item {
radius: Theme.cornerRadius
color: {
if (isFocused) {
return mouseArea.containsMouse ? Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.3) : Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.2);
} else {
return mouseArea.containsMouse ? Qt.rgba(Theme.primaryHover.r, Theme.primaryHover.g, Theme.primaryHover.b, 0.1) : "transparent";
return mouseArea.containsMouse ? Theme.primarySelected : Theme.withAlpha(Theme.primary, 0.2);
}
return mouseArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent";
}
IconImage {
@@ -912,7 +910,7 @@ Item {
Rectangle {
anchors.fill: parent
radius: parent.radius
color: closeMouseArea.containsMouse ? Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.08) : "transparent"
color: closeMouseArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
}
StyledText {

View File

@@ -193,7 +193,7 @@ Item {
height: 24
anchors.centerIn: parent
radius: Theme.cornerRadius
color: trayItemArea.containsMouse ? Theme.primaryHover : "transparent"
color: trayItemArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
IconImage {
id: iconImg
@@ -257,7 +257,7 @@ Item {
height: 24
anchors.centerIn: parent
radius: Theme.cornerRadius
color: caretArea.containsMouse ? Theme.primaryHover : "transparent"
color: caretArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
DankIcon {
anchors.centerIn: parent
@@ -326,7 +326,7 @@ Item {
height: 24
anchors.centerIn: parent
radius: Theme.cornerRadius
color: trayItemArea.containsMouse ? Theme.primaryHover : "transparent"
color: trayItemArea.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
IconImage {
id: iconImg
@@ -390,7 +390,7 @@ Item {
height: 24
anchors.centerIn: parent
radius: Theme.cornerRadius
color: caretAreaVert.containsMouse ? Theme.primaryHover : "transparent"
color: caretAreaVert.containsMouse ? Theme.widgetBaseHoverColor : "transparent"
DankIcon {
anchors.centerIn: parent
@@ -749,7 +749,7 @@ Item {
width: 28
height: 28
radius: Theme.cornerRadius
color: itemArea.containsMouse ? Theme.primaryHover : Theme.withAlpha(Theme.surfaceContainer, 0)
color: itemArea.containsMouse ? Theme.widgetBaseHoverColor : Theme.withAlpha(Theme.surfaceContainer, 0)
IconImage {
id: menuIconImg
@@ -1209,7 +1209,7 @@ Item {
width: parent.width
height: 28
radius: 0
color: visibilityToggleArea.containsMouse ? Theme.primaryHover : Theme.withAlpha(Theme.surfaceContainer, 0)
color: visibilityToggleArea.containsMouse ? Theme.widgetBaseHoverColor : Theme.withAlpha(Theme.surfaceContainer, 0)
StyledText {
anchors.left: parent.left
@@ -1262,7 +1262,7 @@ Item {
width: parent.width
height: 28
radius: 0
color: backArea.containsMouse ? Theme.primaryHover : Theme.withAlpha(Theme.surfaceContainer, 0)
color: backArea.containsMouse ? Theme.widgetBaseHoverColor : Theme.withAlpha(Theme.surfaceContainer, 0)
Row {
anchors.left: parent.left
@@ -1314,7 +1314,7 @@ Item {
if (menuEntry?.isSeparator) {
return Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2);
}
return itemArea.containsMouse ? Theme.primaryHover : Theme.withAlpha(Theme.surfaceContainer, 0);
return itemArea.containsMouse ? Theme.widgetBaseHoverColor : Theme.withAlpha(Theme.surfaceContainer, 0);
}
MouseArea {

View File

@@ -881,7 +881,7 @@ Item {
height: delegateRoot.visualHeight
anchors.centerIn: parent
radius: Theme.cornerRadius
color: isActive ? Theme.primary : isUrgent ? Theme.error : isPlaceholder ? Theme.surfaceTextLight : isHovered ? Theme.outlineButton : Theme.surfaceTextAlpha
color: isActive ? Theme.primary : isUrgent ? Theme.error : isPlaceholder ? Theme.surfaceTextLight : isHovered ? Theme.withAlpha(Theme.surfaceText, 0.45) : Theme.surfaceTextAlpha
border.width: isUrgent ? 2 : 0
border.color: isUrgent ? Theme.error : Theme.withAlpha(Theme.error, 0)

View File

@@ -338,13 +338,11 @@ DankPopout {
onCloseDash: root.dashVisible = false
onSwitchToWeatherTab: {
if (SettingsData.weatherEnabled) {
tabBar.currentIndex = 3;
tabBar.tabClicked(3);
root.currentTabIndex = 3;
}
}
onSwitchToMediaTab: {
tabBar.currentIndex = 1;
tabBar.tabClicked(1);
root.currentTabIndex = 1;
}
}
}

View File

@@ -92,13 +92,11 @@ Item {
return "transparent";
}
const rawTransparency = (root.barConfig && root.barConfig.widgetTransparency !== undefined) ? root.barConfig.widgetTransparency : 1.0;
const isHovered = mouseArea.containsMouse || (root.isHovered || false);
if (isHovered) {
return Theme.primaryPressed;
}
const transparency = isHovered ? Math.max(0.3, rawTransparency) : rawTransparency;
const baseColor = isHovered ? Theme.widgetBaseHoverColor : Theme.widgetBaseBackgroundColor;
const baseColor = Theme.widgetBaseBackgroundColor;
const transparency = (root.barConfig && root.barConfig.widgetTransparency !== undefined) ? root.barConfig.widgetTransparency : 1.0;
if (Theme.widgetBackgroundHasAlpha) {
return Qt.rgba(baseColor.r, baseColor.g, baseColor.b, baseColor.a * transparency);
}

View File

@@ -968,9 +968,17 @@ Item {
SettingsDropdownRow {
id: intervalDropdown
property var intervalOptions: ["1 minute", "5 minutes", "15 minutes", "30 minutes", "1 hour", "1.5 hours", "2 hours", "3 hours", "4 hours", "6 hours", "8 hours", "12 hours"]
property var intervalValues: [60, 300, 900, 1800, 3600, 5400, 7200, 10800, 14400, 21600, 28800, 43200]
property var intervalOptions: [
"5 seconds", "10 seconds", "15 seconds", "20 seconds", "25 seconds", "30 seconds",
"35 seconds", "40 seconds", "45 seconds", "50 seconds", "55 seconds",
"1 minute", "5 minutes", "15 minutes", "30 minutes", "1 hour", "1.5 hours", "2 hours",
"3 hours", "4 hours", "6 hours", "8 hours", "12 hours"
]
property var intervalValues: [
5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60,
300, 900, 1800, 3600, 5400, 7200, 10800, 14400, 21600, 28800, 43200
]
tab: "wallpaper"
tags: ["interval", "cycling", "time", "frequency"]
settingKey: "wallpaperCyclingInterval"