1786192304
This commit is contained in:
@@ -5,7 +5,7 @@ in property <string> : "CONNECTING";
|
|||||||
in property <string> : "cloud";
|
in property <string> : "cloud";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Palette } from "std-widgets.slint";
|
import { Palette, HorizontalBox, VerticalBox } from "std-widgets.slint";
|
||||||
export struct WeatherData {
|
export struct WeatherData {
|
||||||
kind: string,
|
kind: string,
|
||||||
label: string,
|
label: string,
|
||||||
@@ -31,18 +31,93 @@ export component Climate inherits Rectangle {
|
|||||||
in property <WeatherData> weather;
|
in property <WeatherData> weather;
|
||||||
in property <bool> is-night;
|
in property <bool> is-night;
|
||||||
|
|
||||||
Text {
|
HorizontalBox {
|
||||||
text: "\{weather.temperature}\{weather.temperature-unit}";
|
if weather.kind == "sun": Image {
|
||||||
font-size: 72px;
|
colorize: Palette.foreground;
|
||||||
font-weight: 700;
|
width: 120px;
|
||||||
vertical-alignment: center;
|
height: 105px;
|
||||||
}
|
source: @image-url("icons/sun.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-sun" && !is-night: Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-sun.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-sun" && is-night: Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-moon.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-rain": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-rain.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-rain-wind": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-rain-wind.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-lightning": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-lightning.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "snowflake": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/snowflake.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "cloud-fog": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/cloud-fog.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
if weather.kind == "moon": Image {
|
||||||
|
colorize: Palette.foreground;
|
||||||
|
width: 120px;
|
||||||
|
height: 105px;
|
||||||
|
source: @image-url("icons/moon.svg");
|
||||||
|
image-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
Text {
|
VerticalBox {
|
||||||
text: weather.label;
|
Text {
|
||||||
font-size: 24px;
|
text: "\{weather.temperature}\{weather.temperature-unit}";
|
||||||
font-weight: 500;
|
font-size: 36px;
|
||||||
vertical-alignment: center;
|
font-weight: 700;
|
||||||
|
vertical-alignment: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: weather.label;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 500;
|
||||||
|
vertical-alignment: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Text {
|
// Text {
|
||||||
@@ -53,75 +128,4 @@ export component Climate inherits Rectangle {
|
|||||||
// font-weight: 700;
|
// font-weight: 700;
|
||||||
// vertical-alignment: center;
|
// vertical-alignment: center;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if weather.kind == "sun": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/sun.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-sun" && !is-night: Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-sun.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-sun" && is-night: Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-moon.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-rain": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-rain.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-rain-wind": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-rain-wind.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-lightning": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-lightning.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "snowflake": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/snowflake.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "cloud-fog": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/cloud-fog.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
if weather.kind == "moon": Image {
|
|
||||||
colorize: Palette.foreground;
|
|
||||||
width: 120px;
|
|
||||||
height: 105px;
|
|
||||||
source: @image-url("icons/moon.svg");
|
|
||||||
image-fit: contain;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user