import QtQuick import QtQuick.Controls import QtQuick.Layouts import SortFilterProxyModel 0.2 import PageEnum 1.0 import ProtocolEnum 1.0 import Style 1.0 import "./" import "../Controls2" import "../Config" PageType { id: root SortFilterProxyModel { id: proxyContainersModel sourceModel: ContainersModel filters: [ ValueFilter { roleName: "serviceType" value: ProtocolEnum.Vpn }, ValueFilter { roleName: "isSupported" value: true } ] sorters: RoleSorter { roleName: "installPageOrder" sortOrder: Qt.AscendingOrder } } BackButtonType { id: backButton anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.topMargin: 20 } ListViewType { id: listView anchors.top: backButton.bottom anchors.bottom: parent.bottom anchors.right: parent.right anchors.left: parent.left header: ColumnLayout { width: listView.width BaseHeaderType { id: header Layout.fillWidth: true Layout.leftMargin: 16 Layout.rightMargin: 16 Layout.bottomMargin: 16 headerText: qsTr("VPN protocol") descriptionText: qsTr("Choose the one with the highest priority for you. Later, you can install other protocols and additional services, such as DNS proxy and SFTP.") } } model: proxyContainersModel spacing: 0 snapMode: ListView.SnapToItem delegate: ColumnLayout { width: listView.width LabelWithButtonType { Layout.fillWidth: true text: name descriptionText: description rightImageSource: "qrc:/images/controls/chevron-right.svg" clickedFunction: function () { ContainersModel.setProcessedContainerIndex(proxyContainersModel.mapToSource(index)); PageController.goToPage(PageEnum.PageSetupWizardProtocolSettings); } } DividerType {} } } }