Warning, /plasma/plasma-workspace/plasmacalendarintegration/HolidaysConfig.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2013 Kai Uwe Broulik <kde@privat.broulik.de>
0003 SPDX-FileCopyrightText: 2015 Martin Klapetek <mklapetek@kde.org>
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.Layouts
0010 import QtQuick.Controls as QQC2
0011 import Qt.labs.qmlmodels
0012 import org.kde.kholidays as KHolidays
0013 import org.kde.holidayeventshelperplugin
0014 import org.kde.kitemmodels as KItemModels
0015 import org.kde.kirigami as Kirigami
0016 import org.kde.kirigami.delegates as KirigamiDelegates
0017 import org.kde.kcmutils as KCMUtils
0018
0019 KCMUtils.ScrollViewKCM {
0020 id: holidaysConfig
0021
0022 signal configurationChanged
0023
0024 function saveConfig() {
0025 configHelper.saveConfig();
0026 }
0027
0028 QmlConfigHelper {
0029 id: configHelper
0030 }
0031
0032 header: Kirigami.SearchField {
0033 id: filter
0034 }
0035
0036
0037 view: ListView {
0038 id: holidaysView
0039
0040 signal toggleCurrent
0041
0042 Keys.onSpacePressed: toggleCurrent()
0043
0044 clip: true
0045
0046 model: KItemModels.KSortFilterProxyModel {
0047 sourceModel: KHolidays.HolidayRegionsModel {
0048 id: holidaysModel
0049 }
0050 filterCaseSensitivity: Qt.CaseInsensitive
0051 filterString: filter.text
0052 filterRoleName: "name"
0053 }
0054
0055 delegate: KirigamiDelegates.CheckSubtitleDelegate {
0056 text: model.name
0057 subtitle: model.description
0058
0059 checked: model ? configHelper.selectedRegions.indexOf(model.region) !== -1 : false
0060 width: ListView.view.width
0061 onClicked: {
0062 //needed for model's setData to be called
0063 if (checked) {
0064 configHelper.addRegion(model.region);
0065 } else {
0066 configHelper.removeRegion(model.region);
0067 }
0068 holidaysConfig.configurationChanged();
0069 }
0070 }
0071 }
0072 }