diff --git a/applets/digital-clock/package/contents/config/main.xml b/applets/digital-clock/package/contents/config/main.xml
--- a/applets/digital-clock/package/contents/config/main.xml
+++ b/applets/digital-clock/package/contents/config/main.xml
@@ -70,4 +70,10 @@
false
+
+
+
+ -1
+
+
diff --git a/applets/digital-clock/package/contents/ui/CalendarView.qml b/applets/digital-clock/package/contents/ui/CalendarView.qml
--- a/applets/digital-clock/package/contents/ui/CalendarView.qml
+++ b/applets/digital-clock/package/contents/ui/CalendarView.qml
@@ -354,6 +354,13 @@
borderOpacity: 0.25
today: root.tzDate
showWeekNumbers: plasmoid.configuration.showWeekNumbers
+ firstDayOfWeek: {
+ if (plasmoid.configuration.firstDayOfWeek == -1) {
+ return Qt.locale().firstDayOfWeek
+ } else {
+ return plasmoid.configuration.firstDayOfWeek
+ }
+ }
anchors.fill: parent
}
diff --git a/applets/digital-clock/package/contents/ui/configCalendar.qml b/applets/digital-clock/package/contents/ui/configCalendar.qml
--- a/applets/digital-clock/package/contents/ui/configCalendar.qml
+++ b/applets/digital-clock/package/contents/ui/configCalendar.qml
@@ -32,6 +32,7 @@
signal configurationChanged
property alias cfg_showWeekNumbers: showWeekNumbers.checked
+ property int cfg_firstDayOfWeek: -1
function saveConfig()
{
@@ -50,6 +51,38 @@
text: i18n("Show week numbers")
}
+ QtControls.ComboBox {
+ id: firstDayOfWeekComboBox
+ Kirigami.FormData.label: i18n("First day of week:")
+ // [-1, 0, 1, 2, 3, 4, 5, 6] // Default = -1, 0..6 = Sun..Sat
+ model: ListModel {}
+ textRole: "text"
+
+ Connections {
+ target: calendarPage
+ onCfg_firstDayOfWeekChanged: firstDayOfWeekComboBox.currentIndex = cfg_firstDayOfWeek + 1
+ }
+
+ Component.onCompleted: {
+ model.append({
+ text: i18n("Default"),
+ value: -1,
+ })
+ for (var i = 0; i < 7; i++) {
+ model.append({
+ text: Qt.locale().dayName(i),
+ value: i,
+ })
+ }
+
+ // The firstDayOfWeek enum starts at -1 instead of 0
+ currentIndex = cfg_firstDayOfWeek + 1
+ currentIndexChanged.connect(function(){
+ cfg_firstDayOfWeek = currentIndex - 1
+ })
+ }
+ }
+
Item {
Kirigami.FormData.isSection: true
}