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

85 lines
2.1 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.Core 0.1
import StatusQ.Core.Theme 0.1
import StatusQ.Controls 0.1
import utils 1.0
import "../../../../shared"
import "../../../../shared/popups"
import "../../../../shared/status"
2020-10-04 23:03:37 +00:00
import "./"
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)
Component.onDestruction: store.clearPermissionList()
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: {
root.store.revokePermission(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
}
}
}
}
}
// TODO: replace with StatusQ component
footer: StatusButton {
2020-10-04 23:03:37 +00:00
anchors.horizontalCenter: parent.horizontalCenter
type: "warn"
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: {
root.store.revokeAllPermissionAccess()
2020-10-04 23:03:37 +00:00
accessRevoked(dapp);
close();
}
}
}
/*##^##
Designer {
D{i:0;height:300;width:300}
}
##^##*/