mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-24 04:28:58 +00:00
chore(CommunityNewAirdropView): Adjust MembersDropdown to updated design
This commit is contained in:
parent
1f3ae975fc
commit
a5d339eb45
@ -198,6 +198,39 @@ SplitView {
|
|||||||
sourceComponent: ColumnLayout {
|
sourceComponent: ColumnLayout {
|
||||||
readonly property MembersDropdown membersDropdown: loader.item
|
readonly property MembersDropdown membersDropdown: loader.item
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
RadioButton {
|
||||||
|
id: addModeRadioButton
|
||||||
|
|
||||||
|
text: "add mode"
|
||||||
|
checked: true
|
||||||
|
|
||||||
|
Binding {
|
||||||
|
target: membersDropdown
|
||||||
|
property: "mode"
|
||||||
|
value: addModeRadioButton.checked
|
||||||
|
? MembersDropdown.Mode.Add
|
||||||
|
: MembersDropdown.Mode.Update
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RadioButton {
|
||||||
|
text: "update mode"
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
id: forceButtonDisabledCheckBox
|
||||||
|
|
||||||
|
text: "force button disabled"
|
||||||
|
|
||||||
|
Binding {
|
||||||
|
target: membersDropdown
|
||||||
|
property: "forceButtonDisabled"
|
||||||
|
value: forceButtonDisabledCheckBox.checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Label {
|
Label {
|
||||||
text: "maximum list height:"
|
text: "maximum list height:"
|
||||||
|
@ -14,6 +14,7 @@ StatusDropdown {
|
|||||||
id: root
|
id: root
|
||||||
|
|
||||||
property var selectedKeys: []
|
property var selectedKeys: []
|
||||||
|
property bool forceButtonDisabled: false
|
||||||
property int maximumListHeight: 288
|
property int maximumListHeight: 288
|
||||||
|
|
||||||
property alias model: listView.model
|
property alias model: listView.model
|
||||||
@ -23,6 +24,12 @@ StatusDropdown {
|
|||||||
|
|
||||||
property bool fixedYPosition: !anchors.centerIn && margins < 0
|
property bool fixedYPosition: !anchors.centerIn && margins < 0
|
||||||
|
|
||||||
|
enum Mode {
|
||||||
|
Add, Update
|
||||||
|
}
|
||||||
|
|
||||||
|
property int mode: MembersDropdown.Mode.Add
|
||||||
|
|
||||||
signal backButtonClicked
|
signal backButtonClicked
|
||||||
signal addButtonClicked
|
signal addButtonClicked
|
||||||
|
|
||||||
@ -36,7 +43,10 @@ StatusDropdown {
|
|||||||
bottomInset: 10
|
bottomInset: 10
|
||||||
bottomPadding: padding + bottomInset
|
bottomPadding: padding + bottomInset
|
||||||
|
|
||||||
onOpened: filterInput.text = ""
|
onOpened: {
|
||||||
|
listView.positionViewAtBeginning()
|
||||||
|
filterInput.text = ""
|
||||||
|
}
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
id: d
|
id: d
|
||||||
@ -45,6 +55,7 @@ StatusDropdown {
|
|||||||
readonly property int delegateHeight: 47
|
readonly property int delegateHeight: 47
|
||||||
|
|
||||||
readonly property int vPadding: root.topPadding + root.bottomPadding
|
readonly property int vPadding: root.topPadding + root.bottomPadding
|
||||||
|
readonly property int scrollBarWidth: 4
|
||||||
|
|
||||||
readonly property int availableExternalHeight:
|
readonly property int availableExternalHeight:
|
||||||
(root.Overlay.overlay ? root.Overlay.overlay.height : 0) - root.bottomMargin -
|
(root.Overlay.overlay ? root.Overlay.overlay.height : 0) - root.bottomMargin -
|
||||||
@ -122,6 +133,10 @@ StatusDropdown {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
||||||
|
verticalScrollBar {
|
||||||
|
implicitWidth: d.scrollBarWidth + ScrollBar.vertical.padding * 2
|
||||||
|
}
|
||||||
|
|
||||||
visible: count > 0
|
visible: count > 0
|
||||||
|
|
||||||
header: StatusCheckBox {
|
header: StatusCheckBox {
|
||||||
@ -225,10 +240,25 @@ StatusDropdown {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
textFillWidth: true
|
textFillWidth: true
|
||||||
enabled: root.selectedKeys.length > 0
|
|
||||||
text: enabled
|
enabled: {
|
||||||
|
if (root.forceButtonDisabled)
|
||||||
|
return false
|
||||||
|
|
||||||
|
if (root.mode === MembersDropdown.Mode.Add)
|
||||||
|
return root.selectedKeys.length > 0
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
text: {
|
||||||
|
if (root.mode === MembersDropdown.Mode.Update)
|
||||||
|
return qsTr("Update members")
|
||||||
|
|
||||||
|
return root.selectedKeys.length > 0
|
||||||
? qsTr("Add %n member(s)", "", root.selectedKeys.length)
|
? qsTr("Add %n member(s)", "", root.selectedKeys.length)
|
||||||
: qsTr("Add")
|
: qsTr("Add")
|
||||||
|
}
|
||||||
|
|
||||||
onClicked: root.addButtonClicked()
|
onClicked: root.addButtonClicked()
|
||||||
}
|
}
|
||||||
|
@ -308,6 +308,13 @@ StatusScrollView {
|
|||||||
onCommunityMembersSelected: {
|
onCommunityMembersSelected: {
|
||||||
recipientTypeSelectionDropdown.close()
|
recipientTypeSelectionDropdown.close()
|
||||||
membersDropdown.selectedKeys = selectedKeysFilter.keys
|
membersDropdown.selectedKeys = selectedKeysFilter.keys
|
||||||
|
|
||||||
|
const hasSelection = selectedKeysFilter.keys.length !== 0
|
||||||
|
|
||||||
|
membersDropdown.mode = hasSelection
|
||||||
|
? MembersDropdown.Mode.Update
|
||||||
|
: MembersDropdown.Mode.Add
|
||||||
|
|
||||||
airdropRecipientsSelector.openPopup(membersDropdown)
|
airdropRecipientsSelector.openPopup(membersDropdown)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -315,6 +322,10 @@ StatusScrollView {
|
|||||||
MembersDropdown {
|
MembersDropdown {
|
||||||
id: membersDropdown
|
id: membersDropdown
|
||||||
|
|
||||||
|
forceButtonDisabled:
|
||||||
|
mode === MembersDropdown.Mode.Update &&
|
||||||
|
JSON.stringify(selectedKeys) === JSON.stringify(selectedKeysFilter.keys)
|
||||||
|
|
||||||
model: SortFilterProxyModel {
|
model: SortFilterProxyModel {
|
||||||
sourceModel: membersModel
|
sourceModel: membersModel
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user