feat(AirdropRecipientsSelector): status label with current and max number of recipients added
This commit is contained in:
parent
aa039a859e
commit
da07230fa6
|
@ -23,6 +23,10 @@ SplitView {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCompressedPk(publicKey) {
|
||||||
|
return "compressed_" + publicKey
|
||||||
|
}
|
||||||
|
|
||||||
function getColorId(publicKey) {
|
function getColorId(publicKey) {
|
||||||
return Math.floor(Math.random() * 10)
|
return Math.floor(Math.random() * 10)
|
||||||
}
|
}
|
||||||
|
@ -106,6 +110,12 @@ SplitView {
|
||||||
showAddressesInputWhenEmpty:
|
showAddressesInputWhenEmpty:
|
||||||
showAddressesInputWhenEmptyCheckBox.checked
|
showAddressesInputWhenEmptyCheckBox.checked
|
||||||
|
|
||||||
|
infiniteExpectedNumberOfRecipients:
|
||||||
|
infiniteExpectedNumberOfRecipientsCheckBox.checked
|
||||||
|
|
||||||
|
expectedNumberOfRecipients:
|
||||||
|
expectedNumberOfRecipientsSpinBox.value
|
||||||
|
|
||||||
onAddAddressesRequested: timer.start()
|
onAddAddressesRequested: timer.start()
|
||||||
onRemoveAddressRequested: addresses.remove(index)
|
onRemoveAddressRequested: addresses.remove(index)
|
||||||
onRemoveMemberRequested: members.remove(index)
|
onRemoveMemberRequested: members.remove(index)
|
||||||
|
@ -128,8 +138,6 @@ SplitView {
|
||||||
|
|
||||||
LogsAndControlsPanel {
|
LogsAndControlsPanel {
|
||||||
SplitView.minimumHeight: 100
|
SplitView.minimumHeight: 100
|
||||||
SplitView.preferredHeight: 180
|
|
||||||
|
|
||||||
logsView.logText: logs.logText
|
logsView.logText: logs.logText
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
@ -153,6 +161,26 @@ SplitView {
|
||||||
|
|
||||||
text: "Show addresses input when empty"
|
text: "Show addresses input when empty"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
id: infiniteExpectedNumberOfRecipientsCheckBox
|
||||||
|
|
||||||
|
text: "Infinite number of expected recipients"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
Label {
|
||||||
|
text: "Expected number of recipients:"
|
||||||
|
}
|
||||||
|
|
||||||
|
SpinBox {
|
||||||
|
id: expectedNumberOfRecipientsSpinBox
|
||||||
|
|
||||||
|
value: 2
|
||||||
|
from: 1
|
||||||
|
to: 100
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
|
|
||||||
|
import StatusQ.Core 0.1
|
||||||
import StatusQ.Components 0.1
|
import StatusQ.Components 0.1
|
||||||
|
import StatusQ.Core.Theme 0.1
|
||||||
|
|
||||||
import utils 1.0
|
import utils 1.0
|
||||||
|
|
||||||
|
@ -15,6 +17,14 @@ StatusFlowSelector {
|
||||||
property alias addressesInputText: addressesSelectorPanel.text
|
property alias addressesInputText: addressesSelectorPanel.text
|
||||||
|
|
||||||
property bool showAddressesInputWhenEmpty: false
|
property bool showAddressesInputWhenEmpty: false
|
||||||
|
property int expectedNumberOfRecipients: 0
|
||||||
|
property bool infiniteExpectedNumberOfRecipients: false
|
||||||
|
|
||||||
|
readonly property int count: addressesSelectorPanel.count +
|
||||||
|
membersSelectorPanel.count
|
||||||
|
|
||||||
|
readonly property bool valid:
|
||||||
|
addressesSelectorPanel.invalidAddressesCount === 0
|
||||||
|
|
||||||
signal addAddressesRequested(string addresses)
|
signal addAddressesRequested(string addresses)
|
||||||
signal removeAddressRequested(int index)
|
signal removeAddressRequested(int index)
|
||||||
|
@ -41,6 +51,24 @@ StatusFlowSelector {
|
||||||
membersSelectorPanel.positionListAtEnd()
|
membersSelectorPanel.positionListAtEnd()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StatusBaseText {
|
||||||
|
parent: label
|
||||||
|
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.right: parent.right
|
||||||
|
|
||||||
|
readonly property bool valid: root.infiniteExpectedNumberOfRecipients ||
|
||||||
|
root.count <= root.expectedNumberOfRecipients
|
||||||
|
|
||||||
|
text: root.count + " / " + (root.infiniteExpectedNumberOfRecipients
|
||||||
|
? qsTr("∞ recipients", "infinite number of recipients")
|
||||||
|
: qsTr("%n recipient(s)", "", root.expectedNumberOfRecipients))
|
||||||
|
|
||||||
|
font.pixelSize: Theme.tertiaryTextFontSize + 1
|
||||||
|
color: valid ? Theme.palette.baseColor1 : Theme.palette.dangerColor1
|
||||||
|
elide: Text.ElideRight
|
||||||
|
}
|
||||||
|
|
||||||
AddressesSelectorPanel {
|
AddressesSelectorPanel {
|
||||||
id: addressesSelectorPanel
|
id: addressesSelectorPanel
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue