status-desktop/ui/app/AppLayouts/Profile/popups/PermissionList.qml

73 lines
1.8 KiB
QML
Raw Normal View History

2020-10-04 23:03:37 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import StatusQ.Controls 0.1
import shared.popups 1.0
import utils 1.0
import "../panels"
2020-10-04 23:03:37 +00:00
// TODO: replace with StatusModal
2020-10-04 23:03:37 +00:00
ModalPopup {
property string dapp: ""
id: root
2020-10-04 23:03:37 +00:00
title: dapp
width: 400
height: 400
property var store
Component.onCompleted: store.initPermissionList(dapp)
2020-10-04 23:03:37 +00:00
signal accessRevoked(string dapp)
Item {
anchors.fill: parent
ScrollView {
anchors.fill: parent
Layout.fillWidth: true
Layout.fillHeight: true
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ScrollBar.vertical.policy: permissionListView.contentHeight > permissionListView.height ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
ListView {
anchors.fill: parent
spacing: 0
clip: true
id: permissionListView
model: root.store.permissionList
2020-10-04 23:03:37 +00:00
delegate: Permission {
name: model.name
onRemoveBtnClicked: {
2021-10-22 19:21:04 +00:00
root.store.revokePermission(dapp, model.name);
2020-10-04 23:03:37 +00:00
if(permissionListView.count === 1){
accessRevoked(dapp);
close();
}
root.store.initPermissionList(dapp)
2020-10-04 23:03:37 +00:00
}
}
}
}
}
footer: StatusButton {
2020-10-04 23:03:37 +00:00
anchors.horizontalCenter: parent.horizontalCenter
type: StatusBaseButton.Type.Danger
2021-02-18 16:36:05 +00:00
//% "Revoke all access"
text: qsTrId("revoke-all-access")
2020-10-04 23:03:37 +00:00
onClicked: {
2021-10-22 19:21:04 +00:00
root.store.clearPermissions(dapp)
2020-10-04 23:03:37 +00:00
accessRevoked(dapp);
close();
}
}
}