forked from Shinonome/dots-hyprland
53 lines
1.3 KiB
QML
53 lines
1.3 KiB
QML
pragma ComponentBehavior: Bound
|
|
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
import qs.services
|
|
import qs
|
|
import Quickshell
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
|
|
MouseArea {
|
|
id: root
|
|
property bool hovered: false
|
|
implicitWidth: rowLayout.implicitWidth + 10 * 2
|
|
implicitHeight: Appearance.sizes.barHeight
|
|
|
|
hoverEnabled: true
|
|
|
|
onClicked: {
|
|
Weather.getData();
|
|
Quickshell.execDetached(["notify-send",
|
|
Translation.tr("Weather"),
|
|
Translation.tr("Refreshing (manually triggered)")
|
|
, "-a", "Shell"
|
|
])
|
|
}
|
|
|
|
RowLayout {
|
|
id: rowLayout
|
|
anchors.centerIn: parent
|
|
|
|
MaterialSymbol {
|
|
fill: 0
|
|
text: WeatherIcons.codeToName[Weather.data.wCode] ?? "cloud"
|
|
iconSize: Appearance.font.pixelSize.large
|
|
color: Appearance.colors.colOnLayer1
|
|
Layout.alignment: Qt.AlignVCenter
|
|
}
|
|
|
|
StyledText {
|
|
visible: true
|
|
font.pixelSize: Appearance.font.pixelSize.small
|
|
color: Appearance.colors.colOnLayer1
|
|
text: Weather.data?.temp ?? "--°"
|
|
Layout.alignment: Qt.AlignVCenter
|
|
}
|
|
}
|
|
|
|
WeatherPopup {
|
|
id: weatherPopup
|
|
hoverTarget: root
|
|
}
|
|
}
|