1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00
Files
DankMaterialShell/quickshell/Widgets/StateLayer.qml
mbpowers 17639e8729 feat: add sun and moon view to WeatherTab (#787)
* feat: add sun and moon view to WeatherTab

* feat: hourly forecast and scrollable date

* fix: put listviews in loaders to prevent ui blocking

* dankdash/weather: wrap all tab content in loaders, weather updates
- remove a bunch of transitions that make things feel glitchy
- use animation durations from Theme
- configurable detailed/compact hourly view

* weather: fix scroll and some display issues

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2025-11-30 18:47:27 -05:00

50 lines
1.1 KiB
QML

import QtQuick
import qs.Common
MouseArea {
id: root
property bool disabled: false
property color stateColor: Theme.surfaceText
property real cornerRadius: parent && parent.radius !== undefined ? parent.radius : Theme.cornerRadius
property var tooltipText: null
readonly property real stateOpacity: disabled ? 0 : pressed ? 0.12 : containsMouse ? 0.08 : 0
anchors.fill: parent
cursorShape: disabled ? undefined : Qt.PointingHandCursor
hoverEnabled: true
Rectangle {
anchors.fill: parent
radius: root.cornerRadius
color: Qt.rgba(stateColor.r, stateColor.g, stateColor.b, stateOpacity)
}
Timer {
id: hoverDelay
interval: 1000
repeat: false
onTriggered: {
const p = root.mapToItem(null, parent.width / 2, parent.height + Theme.spacingXS)
tooltip.show(I18n.tr(""), p.x, p.y, null)
}
}
onEntered: {
if (!tooltipText) { return }
hoverDelay.restart()
}
onExited: {
if (!tooltipText) { return }
hoverDelay.stop()
tooltip.hide()
}
DankTooltip {
id: tooltip
}
}