selenite/TimePicker.slint
2024-10-16 11:40:45 +02:00

25 lines
701 B
Text

import { Button, TimePickerPopup, Date, Palette, Time } from "std-widgets.slint";
import { VLabeledComponent } from "LabeledComponent.slint";
import { VButton } from "Button.slint";
export component VTimePicker inherits VLabeledComponent {
in-out property<Time> time;
in-out property<string> timeDisplay: formatZeroPadding(time.hour) + "h" + formatZeroPadding(time.minute);
pure function formatZeroPadding(number: int) -> string {
if (number < 10) {
return "0\{number}";
}
return number;
}
button := VButton {
text: timeDisplay;
enabled: root.enabled;
clicked => { timePickerPopup.show() }
}
timePickerPopup := TimePickerPopup {
accepted(time) => { root.time = time }
}
}