Files
z-bar-qt/Helpers/Time.qml
T

44 lines
1.0 KiB
QML

pragma Singleton
import Quickshell
import QtQuick
import ZShell.Config
Singleton {
id: root
readonly property date date: clock.date
readonly property string dateStr: format(Config.general.dateFormat)
property alias enabled: clock.enabled
readonly property string hourStr: timeComponents[0] ?? ""
readonly property int hours: clock.hours
readonly property string minuteStr: timeComponents[1] ?? ""
readonly property int minutes: clock.minutes
readonly property string secondStr: timeComponents[2] ?? ""
readonly property int seconds: clock.seconds
readonly property list<string> timeComponents: timeStr.split(":")
readonly property string timeStr: format("hh:mm:ss")
function format(fmt: string): string {
return Qt.formatDateTime(clock.date, resolveFormat(fmt));
}
function resolveFormat(fmt: string): string {
if (!Config.services.useTwelveHourClock)
return fmt;
let f = fmt.replace(/hh/g, "h");
if (/h/.test(f) && !/AP|ap/.test(f))
f += " AP";
return f;
}
SystemClock {
id: clock
precision: SystemClock.Seconds
}
}