feat(MintToken): Created remote self destruct popup

Created remote self destruct popup.

Part of #10051

remoteselfpopu
This commit is contained in:
Noelia 2023-03-31 13:26:50 +02:00 committed by Noelia
parent b3b53de9ea
commit 7a77748d32
2 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,83 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import QtQml.Models 2.14
import StatusQ.Core 0.1
import StatusQ.Controls 0.1
import StatusQ.Popups.Dialog 0.1
import StatusQ.Core.Theme 0.1
import AppLayouts.Chat.panels.communities 1.0
import utils 1.0
StatusDialog {
id: root
property alias model: tokenHoldersPanel.model
property string collectibleName
signal selfDestructClicked(int tokenCount)
QtObject {
id: d
readonly property int maxHeight: 560 // by design
property int tokenCount: 0
function getVerticalPadding() {
return root.topPadding + root.bottomPadding
}
function getHorizontalPadding() {
return root.leftPadding + root.rightPadding
}
function calculateTotalTokensToDestruct() {
tokenCount = 0
for(var i = 0; i < tokenHoldersPanel.model.count; i ++) {
var item = tokenHoldersPanel.model.get(i)
if(item.selfDestruct) {
tokenCount += item.selfDestructAmount
}
}
}
}
title: qsTr("Remotely self-destruct %1 token").arg(root.collectibleName)
implicitWidth: 600 // by design
topPadding: Style.current.padding
bottomPadding: topPadding
implicitHeight: Math.min(tokenHoldersPanel.implicitHeight + d.getVerticalPadding() + root.header.height + root.footer.height, d.maxHeight)
contentItem: StatusScrollView {
id: scrollview
contentHeight: tokenHoldersPanel.implicitHeight
contentWidth: tokenHoldersPanel.implicitWidth
rightPadding: 20
TokenHoldersPanel {
id: tokenHoldersPanel
width: root.width - d.getHorizontalPadding() - scrollview.rightPadding
tokenName: root.collectibleName
isSelectorMode: true
onSelfDestructChanged: d.calculateTotalTokensToDestruct()
}
}
footer: StatusDialogFooter {
spacing: Style.current.padding
rightButtons: ObjectModel {
StatusButton {
enabled: d.tokenCount > 0
text: qsTr("Self-destruct %n token(s)", "", d.tokenCount)
type: StatusBaseButton.Type.Danger
onClicked: root.selfDestructClicked(d.tokenCount)
}
}
}
}

View File

@ -1,3 +1,4 @@
CreateChannelPopup 1.0 CreateChannelPopup.qml
CommunityTokenPermissionsPopup 1.0 CommunityTokenPermissionsPopup.qml
SignMintTokenTransactionPopup 1.0 SignMintTokenTransactionPopup.qml
RemoteSelfDestructPopup 1.0 RemoteSelfDestructPopup.qml