From eb41f6bb14384a4d608e81ad99e665ef902fa420 Mon Sep 17 00:00:00 2001 From: Diyou Date: Sat, 16 Mar 2024 19:52:37 +0100 Subject: [PATCH 1/6] =?UTF-8?q?Added=20compatibility=20f=C3=BCr=20plasma?= =?UTF-8?q?=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contents/ui/config/configAppearance.qml | 8 ++++---- package/contents/ui/lib/ColorButton.qml | 10 ++++++---- package/contents/ui/lib/FontConfig.qml | 6 ++++-- package/contents/ui/lib/ShadowConfig.qml | 2 +- package/contents/ui/main.qml | 19 ++++++++++--------- package/metadata.json | 3 +-- 6 files changed, 26 insertions(+), 22 deletions(-) diff --git a/package/contents/ui/config/configAppearance.qml b/package/contents/ui/config/configAppearance.qml index 96581a8..b9f4c8a 100644 --- a/package/contents/ui/config/configAppearance.qml +++ b/package/contents/ui/config/configAppearance.qml @@ -6,7 +6,7 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 as QtControls import QtQuick.Layouts 1.12 as QtLayouts -import QtQuick.Dialogs 1.2 +import QtQuick.Dialogs import org.kde.kirigami 2.3 as Kirigami @@ -155,7 +155,7 @@ Item { cfg_clockFontColor = colorValue } - fontValue: cgf_clockFontFamily + fontValue: cfg_clockFontFamily onFontValueChanged: { cfg_clockFontFamily = fontValue } @@ -232,7 +232,7 @@ Item { cfg_dayFontColor = colorValue } - fontValue: cgf_dayFontFamily + fontValue: cfg_dayFontFamily onFontValueChanged: { cfg_dayFontFamily = fontValue } @@ -331,7 +331,7 @@ Item { cfg_dateFontColor = colorValue } - fontValue: cgf_dateFontFamily + fontValue: cfg_dateFontFamily onFontValueChanged: { cfg_dateFontFamily = fontValue } diff --git a/package/contents/ui/lib/ColorButton.qml b/package/contents/ui/lib/ColorButton.qml index ae5cc12..bd19fbb 100644 --- a/package/contents/ui/lib/ColorButton.qml +++ b/package/contents/ui/lib/ColorButton.qml @@ -6,7 +6,7 @@ import QtQuick.Layouts 1.12 as QtLayouts SPDX-License-Identifier: GPL-3.0-or-later */ -import QtQuick.Dialogs 1.2 +import QtQuick.Dialogs QtControls.Button { id: clockFontColorButton @@ -33,10 +33,12 @@ QtControls.Button { ColorDialog { id: dialog title: "Select Background Color" - color: value - showAlphaChannel: true + selectedColor: value + options: { + ShowAlphaChannel: true + } onAccepted: { - value = dialog.color + value = selectedColor } } } diff --git a/package/contents/ui/lib/FontConfig.qml b/package/contents/ui/lib/FontConfig.qml index 3aed4ea..201f429 100644 --- a/package/contents/ui/lib/FontConfig.qml +++ b/package/contents/ui/lib/FontConfig.qml @@ -6,7 +6,9 @@ import QtQuick 2.4 import QtQuick.Controls 2.12 as QtControls import QtQuick.Layouts 1.12 as QtLayouts -import QtQuick.Dialogs 1.2 +import QtQuick.Dialogs + +import org.kde.kirigami 2.3 as Kirigami import "." @@ -39,7 +41,7 @@ QtLayouts.RowLayout { QtControls.ComboBox { id: fontFamilyComboBox QtLayouts.Layout.fillWidth: true - QtLayouts.Layout.minimumWidth: units.gridUnit * 10 + QtLayouts.Layout.minimumWidth: Kirigami.Units.gridUnit * 10 model: fontModel textRole: "text" currentIndex: fontValue diff --git a/package/contents/ui/lib/ShadowConfig.qml b/package/contents/ui/lib/ShadowConfig.qml index 73fdba1..1ab9ef4 100644 --- a/package/contents/ui/lib/ShadowConfig.qml +++ b/package/contents/ui/lib/ShadowConfig.qml @@ -6,7 +6,7 @@ import QtQuick 2.4 import QtQuick.Controls 2.12 as QtControls import QtQuick.Layouts 1.12 as QtLayouts -import QtQuick.Dialogs 1.2 +import QtQuick.Dialogs import "." diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index 4e723f7..58e342e 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -5,27 +5,28 @@ import QtQuick 2.12 import QtQuick.Layouts 1.12 -import QtGraphicalEffects 1.12 +import Qt5Compat.GraphicalEffects +import org.kde.plasma.plasma5support as Plasma5Support import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.plasma.extras 2.0 as PlasmaExtras -Item { +PlasmoidItem { id: root - Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation + preferredRepresentation: fullRepresentation Plasmoid.backgroundHints: PlasmaCore.Types.ConfigurableBackground readonly property date currentDateTime: dataSource.data.Local ? dataSource.data.Local.DateTime : new Date() - PlasmaCore.DataSource { + Plasma5Support.DataSource { id: dataSource engine: "time" connectedSources: ["Local"] interval: plasmoid.configuration.clockShowSeconds ? 1000 : 60000 - intervalAlignment: plasmoid.configuration.clockShowSeconds ? PlasmaCore.Types.NoAlignment : PlasmaCore.Types.AlignToMinute + intervalAlignment: plasmoid.configuration.clockShowSeconds ? Plasma5Support.Types.NoAlignment : Plasma5Support.Types.AlignToMinute } FontLoader { @@ -43,7 +44,7 @@ Item { source: "../fonts/Smooch-Regular.ttf" } - Plasmoid.fullRepresentation: ColumnLayout { + fullRepresentation: ColumnLayout { anchors.fill: parent spacing: -20 @@ -73,7 +74,7 @@ Item { id: clockLabel anchors.centerIn: parent - property var textFormat: { + property var getTextFormat: { var AMPM = plasmoid.configuration.clockUse24hFormat ? "" : " AP" if (plasmoid.configuration.clockShowSeconds) return Qt.formatTime(currentDateTime, "hh.mm.ss" + AMPM).split(".").join(plasmoid.configuration.clockSeparator) @@ -81,7 +82,7 @@ Item { return Qt.formatTime(currentDateTime, "hh.mm" + AMPM).split(".").join(plasmoid.configuration.clockSeparator) } - text: textFormat + text: getTextFormat color: plasmoid.configuration.clockFontColor font.family: if (plasmoid.configuration.clockFontFamily === "ccdefault") fontOutfitBold.name @@ -110,7 +111,7 @@ Item { color: plasmoid.configuration.dayFontColor font.family: if (plasmoid.configuration.dayFontFamily === "ccdefault") fontSmooch.name else plasmoid.configuration.dayFontFamily - font.bold: plasmoid.configuration.daykBoldText + font.bold: plasmoid.configuration.dayBoldText font.italic: plasmoid.configuration.dayItalicText font.pixelSize: plasmoid.configuration.dayFontSize diff --git a/package/metadata.json b/package/metadata.json index e5c0dc0..b9c213b 100644 --- a/package/metadata.json +++ b/package/metadata.json @@ -18,6 +18,5 @@ "Version": "0.3", "Website": "https://github.com/qewer33/ClearClock" }, - "X-Plasma-API": "declarativeappletscript", - "X-Plasma-MainScript": "ui/main.qml" + "X-Plasma-API-Minimum-Version": "6.0" } From ca95ddc64b77fad6419efc9b3699547ff3319fa2 Mon Sep 17 00:00:00 2001 From: Diyou Date: Sun, 17 Mar 2024 17:42:24 +0100 Subject: [PATCH 2/6] Fixed Bold/Italic Buttons --- package/contents/ui/lib/FontConfig.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/contents/ui/lib/FontConfig.qml b/package/contents/ui/lib/FontConfig.qml index 201f429..efa6062 100644 --- a/package/contents/ui/lib/FontConfig.qml +++ b/package/contents/ui/lib/FontConfig.qml @@ -61,7 +61,7 @@ QtLayouts.RowLayout { checkable: true checked: boldValue - onStateChanged: { + onToggled: { boldValue = checked } } @@ -72,8 +72,8 @@ QtLayouts.RowLayout { checkable: true checked: italicValue - onStateChanged: { - italicvalue = checked + onToggled: { + italicValue = checked } } From 94d85dbcc41c758e441faee7bf14f052793cb5c6 Mon Sep 17 00:00:00 2001 From: Diyou Date: Sun, 17 Mar 2024 18:33:16 +0100 Subject: [PATCH 3/6] Fixed fontFamilyComboBox --- .../contents/ui/config/configAppearance.qml | 25 ------------------- package/contents/ui/lib/FontConfig.qml | 11 +++++++- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/package/contents/ui/config/configAppearance.qml b/package/contents/ui/config/configAppearance.qml index b9f4c8a..52da327 100644 --- a/package/contents/ui/config/configAppearance.qml +++ b/package/contents/ui/config/configAppearance.qml @@ -58,31 +58,6 @@ Item { property int cfg_dateShadowXOffset property int cfg_dateShadowYOffset - - function fixFontFamilyChange(id, comboBox) { - // HACK by the time we populate our model and/or the ComboBox is finished the value is still undefined - if (id) { - for (var i = 0, j = fontsModel.count; i < j; ++i) { - if (fontsModel.get(i).value === id) { - comboBox.currentIndex = i - break - } - } - } - } - - onCfg_clockFontFamilyChanged: { - fixFontFamilyChange(cfg_clockFontFamily, clockFontFamilyComboBox) - } - - onCfg_dayFontFamilyChanged: { - fixFontFamilyChange(cfg_dayFontFamily, dayFontFamilyComboBox) - } - - onCfg_dateFontFamilyChanged: { - fixFontFamilyChange(cfg_dateFontFamily, dateFontFamilyComboBox) - } - ListModel { id: fontsModel Component.onCompleted: { diff --git a/package/contents/ui/lib/FontConfig.qml b/package/contents/ui/lib/FontConfig.qml index efa6062..d74cbd9 100644 --- a/package/contents/ui/lib/FontConfig.qml +++ b/package/contents/ui/lib/FontConfig.qml @@ -44,7 +44,16 @@ QtLayouts.RowLayout { QtLayouts.Layout.minimumWidth: Kirigami.Units.gridUnit * 10 model: fontModel textRole: "text" - currentIndex: fontValue + currentIndex: getIdFromModel() + + function getIdFromModel(){ + for(var i = 0; i < model.count; i++){ + if(model.get(i).value === fontValue){ + return i; + } + } + return 0; + } onCurrentIndexChanged: { var current = model.get(currentIndex) From 7137c24b203460cb93699da4ea40a1f227df4684 Mon Sep 17 00:00:00 2001 From: Diyou Date: Tue, 19 Mar 2024 17:47:39 +0100 Subject: [PATCH 4/6] Fixed Layout to automatically recenter --- package/contents/ui/main.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index 58e342e..69dd117 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -45,6 +45,8 @@ PlasmoidItem { } fullRepresentation: ColumnLayout { + width: childrenRect.width + 20 + height: childrenRect.height + 20 anchors.fill: parent spacing: -20 @@ -68,7 +70,7 @@ PlasmoidItem { Item { width: Math.max(textMetricsClockLabel.width, textMetricsDayLabel.width) height: Math.max(textMetricsClockLabel.height, textMetricsDayLabel.height) - Layout.alignment: Qt.AlignCenter + Layout.alignment: Qt.AlignHCenter Text { id: clockLabel @@ -129,7 +131,7 @@ PlasmoidItem { Text { id: dateLabel visible: plasmoid.configuration.showDateDisplay - Layout.alignment: Qt.AlignCenter + Layout.alignment: Qt.AlignHCenter text: Qt.formatDate(currentDateTime, plasmoid.configuration.dateCustomDateFormat) From 3d748944dacfca2b2421a1d552056a1c42209b17 Mon Sep 17 00:00:00 2001 From: Diyou Date: Wed, 20 Mar 2024 17:08:10 +0100 Subject: [PATCH 5/6] Fixes missing scrollbar --- package/contents/ui/config/configAppearance.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/contents/ui/config/configAppearance.qml b/package/contents/ui/config/configAppearance.qml index 52da327..76f4a28 100644 --- a/package/contents/ui/config/configAppearance.qml +++ b/package/contents/ui/config/configAppearance.qml @@ -9,10 +9,12 @@ import QtQuick.Layouts 1.12 as QtLayouts import QtQuick.Dialogs import org.kde.kirigami 2.3 as Kirigami +import org.kde.kcmutils as KCM + import "../lib" -Item { +KCM.SimpleKCM { id: appearancePage width: childrenRect.width height: childrenRect.height From 2e6786bd8df37fb1a9fe1c111f41c614f3a26a74 Mon Sep 17 00:00:00 2001 From: Diyou Date: Thu, 21 Mar 2024 06:28:27 +0100 Subject: [PATCH 6/6] Fixed minimum sized --- package/contents/ui/main.qml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package/contents/ui/main.qml b/package/contents/ui/main.qml index 69dd117..044f2f0 100644 --- a/package/contents/ui/main.qml +++ b/package/contents/ui/main.qml @@ -45,8 +45,6 @@ PlasmoidItem { } fullRepresentation: ColumnLayout { - width: childrenRect.width + 20 - height: childrenRect.height + 20 anchors.fill: parent spacing: -20 @@ -68,8 +66,8 @@ PlasmoidItem { } Item { - width: Math.max(textMetricsClockLabel.width, textMetricsDayLabel.width) - height: Math.max(textMetricsClockLabel.height, textMetricsDayLabel.height) + implicitWidth: Math.max(textMetricsClockLabel.width, textMetricsDayLabel.width) + implicitHeight: Math.max(textMetricsClockLabel.height, textMetricsDayLabel.height) Layout.alignment: Qt.AlignHCenter Text {