mirror of
https://codeberg.org/vyn/selenite.git
synced 2025-07-01 17:23:18 +00:00
26 lines
701 B
Text
26 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 }
|
||
|
}
|
||
|
}
|