feat(MintToken): Created remote self destruct popup
Created remote self destruct popup. Part of #10051 remoteselfpopu
This commit is contained in:
parent
b3b53de9ea
commit
7a77748d32
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
CreateChannelPopup 1.0 CreateChannelPopup.qml
|
CreateChannelPopup 1.0 CreateChannelPopup.qml
|
||||||
CommunityTokenPermissionsPopup 1.0 CommunityTokenPermissionsPopup.qml
|
CommunityTokenPermissionsPopup 1.0 CommunityTokenPermissionsPopup.qml
|
||||||
SignMintTokenTransactionPopup 1.0 SignMintTokenTransactionPopup.qml
|
SignMintTokenTransactionPopup 1.0 SignMintTokenTransactionPopup.qml
|
||||||
|
RemoteSelfDestructPopup 1.0 RemoteSelfDestructPopup.qml
|
||||||
|
|
Loading…
Reference in New Issue