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 }