amnezia-client/client/ui/qml/Pages/PageShareConnection.qml
pokamest 3a5a7bf674 Check openvpn config for scripts
QML refactoring
2022-08-29 01:32:42 +03:00

91 lines
2.3 KiB
QML

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Dialogs 1.1
import QtQuick.Layouts 1.15
import QtGraphicalEffects 1.12
import SortFilterProxyModel 0.2
import ContainerProps 1.0
import ProtocolProps 1.0
import PageEnum 1.0
import ProtocolEnum 1.0
import "./"
import "../Controls"
import "../Config"
PageBase {
id: root
page: PageEnum.ShareConnection
logic: ShareConnectionLogic
BackButton {
id: back
}
Caption {
id: caption
text: qsTr("Share protocol config")
width: undefined
}
Flickable {
clip: true
width: parent.width
anchors.top: caption.bottom
anchors.bottom: root.bottom
contentHeight: col.height
Column {
id: col
anchors {
left: parent.left;
right: parent.right;
}
topPadding: 20
spacing: 10
SortFilterProxyModel {
id: proxyProtocolsModel
sourceModel: UiLogic.protocolsModel
filters: ValueFilter {
roleName: "is_installed_role"
value: true
}
}
ShareConnectionContent {
x: 10
text: qsTr("Share for Amnezia")
height: 40
width: tb_c.width - 10
onClicked: UiLogic.goToShareProtocolPage(ProtocolEnum.Any)
}
ListView {
id: tb_c
x: 10
width: parent.width - 10
height: tb_c.contentItem.height
currentIndex: -1
spacing: 10
clip: true
interactive: false
model: proxyProtocolsModel
delegate: Item {
implicitWidth: tb_c.width - 10
implicitHeight: c_item.height
ShareConnectionContent {
id: c_item
text: qsTr("Share for ") + name_role
height: 40
width: tb_c.width - 10
onClicked: UiLogic.goToShareProtocolPage(proxyProtocolsModel.mapToSource(index))
}
}
}
}
}
}