add noctalia and fuzzel
This commit is contained in:
+81
@@ -0,0 +1,81 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Modules.DesktopWidgets
|
||||
import qs.Services.UI
|
||||
import qs.Widgets
|
||||
|
||||
DraggableDesktopWidget {
|
||||
id: root
|
||||
|
||||
readonly property var now: Time.now
|
||||
readonly property var widgetMetadata: DesktopWidgetRegistry.widgetMetadata["Clock"]
|
||||
|
||||
readonly property color clockTextColor: Color.resolveColorKey(clockColor)
|
||||
readonly property real fontSize: Math.round(Style.fontSizeXXXL * 2.5 * widgetScale)
|
||||
readonly property real widgetOpacity: widgetData.opacity !== undefined ? widgetData.opacity : 1.0
|
||||
readonly property string clockStyle: widgetData.clockStyle !== undefined ? widgetData.clockStyle : widgetMetadata.clockStyle
|
||||
readonly property string clockColor: widgetData.clockColor !== undefined ? widgetData.clockColor : widgetMetadata.clockColor
|
||||
readonly property bool useCustomFont: widgetData.useCustomFont !== undefined ? widgetData.useCustomFont : widgetMetadata.useCustomFont
|
||||
readonly property string customFont: widgetData.customFont !== undefined ? widgetData.customFont : widgetMetadata.customFont
|
||||
readonly property string format: widgetData.format !== undefined ? widgetData.format : widgetMetadata.format
|
||||
|
||||
readonly property real contentPadding: Math.round((clockStyle === "minimal" ? Style.marginL : Style.marginXL) * widgetScale)
|
||||
implicitWidth: contentLoader.item ? Math.round((contentLoader.item.implicitWidth || contentLoader.item.width || 0) + contentPadding * 2) : 0
|
||||
implicitHeight: contentLoader.item ? Math.round((contentLoader.item.implicitHeight || contentLoader.item.height || 0) + contentPadding * 2) : 0
|
||||
width: implicitWidth
|
||||
height: implicitHeight
|
||||
|
||||
Component {
|
||||
id: nclockComponent
|
||||
NClock {
|
||||
now: root.now
|
||||
clockStyle: root.clockStyle
|
||||
backgroundColor: "transparent"
|
||||
clockColor: clockTextColor
|
||||
progressColor: Color.mPrimary
|
||||
opacity: root.widgetOpacity
|
||||
height: Math.round(fontSize * 1.9)
|
||||
width: height
|
||||
hoursFontSize: fontSize * 0.6
|
||||
minutesFontSize: fontSize * 0.4
|
||||
scaleRatio: root.widgetScale
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: minimalClockComponent
|
||||
ColumnLayout {
|
||||
spacing: -2
|
||||
opacity: root.widgetOpacity
|
||||
|
||||
Repeater {
|
||||
model: I18n.locale.toString(root.now, root.format.trim()).split("\\n")
|
||||
delegate: NText {
|
||||
visible: text !== ""
|
||||
text: modelData
|
||||
family: root.useCustomFont && root.customFont ? root.customFont : Settings.data.ui.fontDefault
|
||||
pointSize: {
|
||||
if (model.length == 1) {
|
||||
return Math.round(Style.fontSizeXXL * root.widgetScale);
|
||||
} else {
|
||||
return Math.round((index == 0) ? Style.fontSizeXXL * root.widgetScale : Style.fontSizeM * root.widgetScale);
|
||||
}
|
||||
}
|
||||
font.weight: Style.fontWeightBold
|
||||
color: root.clockTextColor
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: contentLoader
|
||||
anchors.centerIn: parent
|
||||
z: 2
|
||||
sourceComponent: clockStyle === "minimal" ? minimalClockComponent : nclockComponent
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user