Warning, /plasma/plasma-workspace/applets/digital-clock/package/contents/ui/configCalendar.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2015 Martin Klapetek <mklapetek@kde.org> 0003 SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 0008 import QtQuick 0009 import QtQuick.Controls as QQC2 0010 import QtQuick.Layouts 0011 import org.kde.plasma.plasmoid 2.0 0012 import org.kde.plasma.workspace.calendar 2.0 as PlasmaCalendar 0013 import org.kde.kirigami 2.20 as Kirigami 0014 import org.kde.kcmutils as KCM 0015 0016 KCM.SimpleKCM { 0017 id: calendarPage 0018 0019 signal configurationChanged() 0020 0021 property alias cfg_showWeekNumbers: showWeekNumbers.checked 0022 property int cfg_firstDayOfWeek 0023 0024 function saveConfig() { 0025 Plasmoid.configuration.enabledCalendarPlugins = eventPluginsManager.enabledPlugins; 0026 } 0027 0028 Kirigami.FormLayout { 0029 PlasmaCalendar.EventPluginsManager { 0030 id: eventPluginsManager 0031 Component.onCompleted: { 0032 populateEnabledPluginsList(Plasmoid.configuration.enabledCalendarPlugins); 0033 } 0034 } 0035 0036 QQC2.CheckBox { 0037 id: showWeekNumbers 0038 Kirigami.FormData.label: i18n("General:") 0039 text: i18n("Show week numbers") 0040 } 0041 0042 RowLayout { 0043 Layout.fillWidth: true 0044 Kirigami.FormData.label: i18n("First day of week:") 0045 0046 QQC2.ComboBox { 0047 id: firstDayOfWeekCombo 0048 textRole: "text" 0049 model: [-1, 0, 1, 5, 6].map(day => ({ 0050 day, 0051 text: day === -1 ? i18n("Use Region Defaults") : Qt.locale().dayName(day), 0052 })) 0053 onActivated: cfg_firstDayOfWeek = model[index].day 0054 currentIndex: model.findIndex(item => item.day === cfg_firstDayOfWeek) 0055 } 0056 } 0057 0058 Item { 0059 Kirigami.FormData.isSection: true 0060 } 0061 0062 ColumnLayout { 0063 id: calendarPluginsLayout 0064 0065 Kirigami.FormData.label: i18n("Available Plugins:") 0066 0067 Repeater { 0068 id: calendarPluginsRepeater 0069 0070 model: eventPluginsManager.model 0071 0072 delegate: QQC2.CheckBox { 0073 text: model.display 0074 checked: model.checked 0075 0076 Accessible.onPressAction: { 0077 toggle(); 0078 clicked(); 0079 } 0080 0081 onClicked: { 0082 //needed for model's setData to be called 0083 model.checked = checked; 0084 calendarPage.configurationChanged(); 0085 } 0086 } 0087 0088 onItemAdded: (index, item) => { 0089 if (index === 0) { 0090 // Set buddy once, for an item in the first row. 0091 // No, it doesn't work as a binding on children list. 0092 calendarPluginsLayout.Kirigami.FormData.buddyFor = item; 0093 } 0094 } 0095 } 0096 } 0097 } 0098 }