@@ -14,6 +14,7 @@ RowLayout {
1414
1515 property int selectedIndex: 1
1616 property string selectedLabel: feeModel .get (root .selectedIndex ).feeLabel
17+ property string selectedDuration: feeModel .get (root .selectedIndex ).feeDuration
1718
1819 signal feeChanged (int target)
1920
@@ -22,30 +23,49 @@ RowLayout {
2223 CoreText {
2324 Layout .fillWidth : true
2425 horizontalAlignment: Text .AlignLeft
25- font .pixelSize : 15
26+ font .pixelSize : 18
2627 text: qsTr (" Fee" )
2728 }
2829
2930 Button {
3031 id: dropDownButton
3132 text: root .selectedLabel
32- font .pixelSize : 15
33+ font .pixelSize : 18
3334
3435 hoverEnabled: true
3536
37+ leftPadding: 10
38+ rightPadding: 4
39+ topPadding: 2
40+ bottomPadding: 2
41+ height: 28
42+
3643 HoverHandler {
3744 cursorShape: Qt .PointingHandCursor
3845 }
3946
4047 onPressed: feePopup .open ()
4148
4249 contentItem: RowLayout {
43- spacing: 5
50+ spacing: 0
4451
4552 CoreText {
4653 id: value
4754 text: root .selectedLabel
48- font .pixelSize : 15
55+ font .pixelSize : 18
56+
57+ Behavior on color {
58+ ColorAnimation { duration: 150 }
59+ }
60+ }
61+
62+ Item { width: 5 }
63+
64+ CoreText {
65+ id: duration
66+ text: root .selectedDuration
67+ font .pixelSize : 18
68+ color: dropDownButton .enabled ? Theme .color .neutral7 : Theme .color .neutral4
4969
5070 Behavior on color {
5171 ColorAnimation { duration: 150 }
@@ -98,13 +118,14 @@ RowLayout {
98118 background: Rectangle {
99119 color: Theme .color .background
100120 radius: 6
101- border .color : Theme .color .neutral3
121+ border .color : Theme .color .neutral4
102122 }
103123
104124 width: 260
105- height: Math .min (feeModel .count * 40 + 20 , 300 )
125+ height: Math .min (feeModel .count * 36 + 10 , 300 )
106126 x: feePopup .parent .width - feePopup .width
107- y: feePopup .parent .height
127+ y: feePopup .parent .height + 2
128+ padding: 5
108129
109130 contentItem: ListView {
110131 id: feeList
@@ -115,35 +136,42 @@ RowLayout {
115136 delegate: ItemDelegate {
116137 id: delegate
117138 required property string feeLabel
139+ required property string feeDuration
118140 required property int index
119141 required property int target
120142
121143 width: ListView .view .width
122- height: 40
144+ height: 36
145+
146+ leftPadding: 10
147+ rightPadding: 4
148+ topPadding: 2
149+ bottomPadding: 2
123150
124151 background: Item {
125152 Rectangle {
126153 anchors .fill : parent
127154 radius: 6
128- color: Theme .color .neutral3
129- visible: delegate .hovered
130- }
131- Separator {
132- width: parent .width
133- anchors .top : parent .top
134155 color: Theme .color .neutral2
135- visible: delegate .index > 0
156+ visible: delegate .hovered
136157 }
137158 }
138159
139160 contentItem: RowLayout {
140- spacing: 10
161+ spacing: 5
141162
142163 CoreText {
143164 text: feeLabel
144165 horizontalAlignment: Text .AlignLeft
166+ font .pixelSize : 15
167+ }
168+
169+ CoreText {
170+ text: feeDuration
171+ horizontalAlignment: Text .AlignLeft
145172 Layout .fillWidth : true
146173 font .pixelSize : 15
174+ color: Theme .color .neutral7
147175 }
148176
149177 Icon {
@@ -161,6 +189,7 @@ RowLayout {
161189 onClicked: {
162190 root .selectedIndex = delegate .index
163191 root .selectedLabel = feeLabel
192+ root .selectedDuration = feeDuration
164193 root .feeChanged (target)
165194 feePopup .close ()
166195 }
@@ -170,8 +199,8 @@ RowLayout {
170199
171200 ListModel {
172201 id: feeModel
173- ListElement { feeLabel: qsTr (" High (~10 mins)" ); target: 1 }
174- ListElement { feeLabel: qsTr (" Default (~60 mins)" ); target: 6 }
175- ListElement { feeLabel: qsTr (" Low (~24 hrs)" ); target: 144 }
202+ ListElement { feeLabel: qsTr (" High" ); feeDuration : qsTr ( " (~10 mins)" ); target: 1 }
203+ ListElement { feeLabel: qsTr (" Default" ); feeDuration : qsTr ( " (~60 mins)" ); target: 6 }
204+ ListElement { feeLabel: qsTr (" Low" ); feeDuration : qsTr ( " (~24 hrs)" ); target: 144 }
176205 }
177206}
0 commit comments