Warning, /plasma/kdeplasma-addons/applets/binary-clock/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Joseph Wenninger <jowenn@kde.org> 0003 * SPDX-FileCopyrightText: 2018 Piotr Kąkol <piotrkakol@protonmail.com> 0004 * 0005 * Based on fuzzy-clock main.qml: 0006 * SPDX-FileCopyrightText: 2013 Heena Mahour <heena393@gmail.com> 0007 * SPDX-FileCopyrightText: 2013 Sebastian Kügler <sebas@kde.org> 0008 * SPDX-FileCopyrightText: 2014 Kai Uwe Broulik <kde@privat.broulik.de> 0009 * 0010 * SPDX-License-Identifier: GPL-2.0-or-later 0011 */ 0012 0013 import QtQml 0014 import QtQuick 2.0 0015 import QtQuick.Layouts 1.1 0016 0017 import org.kde.plasma.plasmoid 2.0 0018 import org.kde.kirigami 2.20 as Kirigami 0019 import org.kde.plasma.plasma5support 2.0 as P5Support 0020 import org.kde.plasma.core as PlasmaCore 0021 import org.kde.plasma.extras 2.0 as PlasmaExtras 0022 import org.kde.plasma.workspace.calendar 2.0 as PlasmaCalendar 0023 0024 PlasmoidItem { 0025 id: root 0026 0027 property bool showSeconds: plasmoid.configuration.showSeconds 0028 property int hours 0029 property int minutes 0030 property int seconds 0031 width: Kirigami.Units.gridUnit * 10 0032 height: Kirigami.Units.gridUnit * 4 0033 0034 Plasmoid.backgroundHints: PlasmaCore.Types.DefaultBackground | PlasmaCore.Types.ConfigurableBackground 0035 preferredRepresentation: compactRepresentation 0036 0037 // keep this consistent with toolTipMainText and toolTipSubText in analog-clock 0038 toolTipMainText: Qt.formatDate(dataSource.data["Local"]["DateTime"], "dddd") 0039 toolTipSubText: Qt.formatTime(dataSource.data["Local"]["DateTime"], Qt.locale().timeFormat(Locale.LongFormat)) + "\n" + Qt.formatDate(dataSource.data["Local"]["DateTime"], Qt.locale().dateFormat(Locale.LongFormat).replace(/(^dddd.?\s)|(,?\sdddd$)/, "")) 0040 0041 P5Support.DataSource { 0042 id: dataSource 0043 engine: "time" 0044 connectedSources: ["Local"] 0045 intervalAlignment: plasmoid.configuration.showSeconds || compactRepresentationItem.mouseArea.containsMouse ? P5Support.Types.NoAlignment : P5Support.Types.AlignToMinute 0046 interval: showSeconds || compactRepresentationItem.mouseArea.containsMouse ? 1000 : 60000 0047 0048 onDataChanged: { 0049 var date = new Date(data["Local"]["DateTime"]); 0050 hours = date.getHours(); 0051 minutes = date.getMinutes(); 0052 seconds = date.getSeconds(); 0053 } 0054 Component.onCompleted: { 0055 onDataChanged(); 0056 } 0057 } 0058 0059 compactRepresentation: BinaryClock { } 0060 0061 fullRepresentation: PlasmaCalendar.MonthView { 0062 Layout.minimumWidth: Kirigami.Units.gridUnit * 20 0063 Layout.minimumHeight: Kirigami.Units.gridUnit * 20 0064 0065 today: dataSource.data["Local"]["DateTime"] 0066 } 0067 }