mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
* 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>
50 lines
1.1 KiB
QML
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
|
|
}
|
|
}
|