Warning, /libraries/kpublictransport/tests/BackendPage.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 import QtQuick
0008 import QtQuick.Layouts
0009 import QtQuick.Controls as QQC2
0010 import org.kde.kirigami as Kirigami
0011 import org.kde.kpublictransport as KPublicTransport
0012 
0013 Kirigami.ScrollablePage {
0014     id: root
0015     title: "Backends"
0016 
0017     property alias publicTransportManager: backendModel.manager
0018 
0019     KPublicTransport.BackendModel {
0020         id: backendModel
0021     }
0022 
0023     Component {
0024         id: backendDelegate
0025         QQC2.ItemDelegate {
0026             highlighted: false
0027             enabled: model.itemEnabled
0028             width: ListView.view.width
0029 
0030             contentItem: GridLayout {
0031                 columns: 3
0032                 rows: 2
0033 
0034                 QQC2.Label {
0035                     text: model.name
0036                     Layout.fillWidth: true
0037                 }
0038                 Kirigami.Icon {
0039                     source: model.isSecure ? "channel-secure-symbolic" : "channel-insecure-symbolic"
0040                     color: model.isSecure ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.negativeTextColor
0041                     width: height
0042                     height: Kirigami.Units.gridUnit
0043                 }
0044                 QQC2.Switch {
0045                     id: toggle
0046                     checked: model.backendEnabled
0047                     Layout.rowSpan: 2
0048                     onToggled: model.backendEnabled = checked;
0049                 }
0050                 QQC2.Label {
0051                     Layout.columnSpan: 2
0052                     Layout.fillWidth: true
0053                     text: model.description
0054                     font.italic: true
0055                 }
0056             }
0057 
0058             onClicked: {
0059                 toggle.toggle(); // does not trigger the signal handler for toggled...
0060                 model.backendEnabled = toggle.checked;
0061             }
0062         }
0063     }
0064 
0065     ListView {
0066         model: backendModel
0067         delegate: backendDelegate
0068     }
0069 }