Skip to content

Commit

Permalink
feat: basic config support
Browse files Browse the repository at this point in the history
  • Loading branch information
BLumia committed Oct 18, 2021
1 parent a762d73 commit 14e8105
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 14 deletions.
10 changes: 10 additions & 0 deletions plasmoid/package/contents/config/config.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import QtQuick 2.0
import org.kde.plasma.configuration 2.0

ConfigModel {
ConfigCategory {
name: i18n("General")
icon: "configure"
source: "configGeneral.qml"
}
}
14 changes: 14 additions & 0 deletions plasmoid/package/contents/config/main.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name=""/>

<group name="General">
<entry name="fontPixelSize" type="Int">
<default>13</default>
</entry>
<entry name="datetimeFormat" type="String">
<default>h:mm&#x000A;yyyy/MM/dd</default>
</entry>
</group>

</kcfg>
23 changes: 9 additions & 14 deletions plasmoid/package/contents/ui/CompactRepresentation.qml
Original file line number Diff line number Diff line change
@@ -1,20 +1,13 @@
import QtQuick 2.1
import QtQuick.Layouts 1.1
import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.components 2.0 as PlasmaComponents

import QtQuick 2.4
import QtQuick.Layouts 1.1
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents

Item {
id: mainWindow
//Layout.minimumWidth: Plasmoid.configuration.marginSize
Layout.minimumWidth: textMetrics.width
Layout.minimumHeight: 16
property string textColor: Plasmoid.configuration.textColor
property string textFont: Plasmoid.configuration.textFont

PlasmaCore.DataSource {
id: dataSource
Expand All @@ -27,16 +20,18 @@ Item {
id: time
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.weight: plasmoid.configuration.bold ? Font.Bold : Font.Normal
color: theme.textColor
font.pixelSize: plasmoid.configuration.clockFontSize
text: Qt.formatDateTime( dataSource.data["Local"]["DateTime"],"h:mm\nyyyy/MM/dd" )
font.pixelSize: plasmoid.configuration.fontPixelSize
text: Qt.formatDateTime(
dataSource.data["Local"]["DateTime"],
plasmoid.configuration.datetimeFormat
)
anchors.fill: parent

TextMetrics {
id: textMetrics
font.family: label.font.family
font.pointSize: label.font.pointSize
font.family: time.font.family
font.pointSize: time.font.pointSize
text: time.text
}
}
Expand Down
32 changes: 32 additions & 0 deletions plasmoid/package/contents/ui/configGeneral.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import QtQuick 2.0
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.0
import org.kde.kirigami 2.4 as Kirigami

Item {
id: page

property alias cfg_fontPixelSize: fontPixelSize.value
property alias cfg_datetimeFormat: datetimeFormatLabel.text

Kirigami.FormLayout {
anchors.left: parent.left
anchors.right: parent.right

Item {
Kirigami.FormData.label: "Panel"
Kirigami.FormData.isSection: true
}

SpinBox {
id: fontPixelSize
Kirigami.FormData.label: "Font size:"
}

TextArea {
id: datetimeFormatLabel
Kirigami.FormData.label: "Datetime display format:"
placeholderText: "h:mm\\nyyyy/MM/dd"
}
}
}

0 comments on commit 14e8105

Please sign in to comment.