1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/*
* SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de>
* SPDX-FileCopyrightText: 2020-2024 Devin Lin <devin@kde.org>
* SPDX-License-Identifier: GPL-2.0-or-later
*/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
import org.kde.kirigami 2.20 as Kirigami
import org.kde.plasma.plasma5support 2.0 as P5Support
import org.kde.plasma.components 3.0 as PC3
import org.kde.plasma.private.mobileshell as MobileShell
Item {
id: root
implicitHeight: clockColumn.implicitHeight
implicitWidth: clockColumn.implicitWidth
property int layoutAlignment
P5Support.DataSource {
id: timeSource
engine: "time"
connectedSources: ["Local"]
interval: 60000
intervalAlignment: P5Support.Types.AlignToMinute
}
ColumnLayout {
id: clockColumn
spacing: 0
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
PC3.Label {
text: {
let timeText = Qt.formatTime(timeSource.data["Local"]["DateTime"], MobileShell.ShellUtil.isSystem24HourFormat ? "h:mm" : "h:mm ap");
// Remove am/pm in 12-hour time to avoid excessive length
if (!MobileShell.ShellUtil.isSystem24HourFormat) {
timeText = timeText.substring(0, timeText.length - 3);
}
return timeText;
}
color: "white"
opacity: 0.9
renderType: Text.NativeRendering
Layout.alignment: root.layoutAlignment
font.weight: Font.Medium
font.pointSize: 64
layer.enabled: true
layer.effect: MobileShell.TextDropShadow {
blurMax: 16
}
}
PC3.Label {
text: Qt.formatDate(timeSource.data["Local"]["DateTime"], "dddd, MMMM d")
color: "white"
opacity: 0.9
Layout.alignment: root.layoutAlignment
font.weight: Font.Bold
font.pointSize: 12
layer.enabled: true
layer.effect: MobileShell.TextDropShadow {
blurMax: 16
}
}
}
}
|