mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-23 12:09:57 +00:00
Merge pull request #1306
67e9109
Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton
This commit is contained in:
commit
9b8badc00c
4 changed files with 36 additions and 4 deletions
|
@ -34,8 +34,10 @@ import "../components" as MoneroComponents
|
||||||
Item {
|
Item {
|
||||||
id: button
|
id: button
|
||||||
property string rightIcon: ""
|
property string rightIcon: ""
|
||||||
|
property string rightIconInactive: ""
|
||||||
property string icon: ""
|
property string icon: ""
|
||||||
property string textColor: button.enabled? MoneroComponents.Style.buttonTextColor: MoneroComponents.Style.buttonTextColorDisabled
|
property string textColor: button.enabled? MoneroComponents.Style.buttonTextColor: MoneroComponents.Style.buttonTextColorDisabled
|
||||||
|
property string textAlign: rightIcon !== "" ? "left" : "center"
|
||||||
property bool small: false
|
property bool small: false
|
||||||
property alias text: label.text
|
property alias text: label.text
|
||||||
property int fontSize: {
|
property int fontSize: {
|
||||||
|
@ -45,9 +47,21 @@ Item {
|
||||||
signal clicked()
|
signal clicked()
|
||||||
|
|
||||||
// Dynamic height/width
|
// Dynamic height/width
|
||||||
Layout.minimumWidth: (label.contentWidth > 50)? label.contentWidth + 22 : 60
|
Layout.minimumWidth: {
|
||||||
height: small ? 30 * scaleRatio : 36 * scaleRatio
|
var _padding = 22;
|
||||||
|
if(button.rightIcon !== ""){
|
||||||
|
_padding += 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _width = label.contentWidth + _padding;
|
||||||
|
if(_width <= 50) {
|
||||||
|
return 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _width;
|
||||||
|
}
|
||||||
|
|
||||||
|
height: small ? 30 * scaleRatio : 36 * scaleRatio
|
||||||
|
|
||||||
function doClick() {
|
function doClick() {
|
||||||
// Android workaround
|
// Android workaround
|
||||||
|
@ -87,7 +101,8 @@ Item {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: textAlign === "center" ? Text.AlignHCenter : Text.AlignLeft
|
||||||
|
anchors.leftMargin: textAlign === "center" ? 0 : 11
|
||||||
font.family: MoneroComponents.Style.fontBold.name
|
font.family: MoneroComponents.Style.fontBold.name
|
||||||
font.bold: true
|
font.bold: true
|
||||||
font.pixelSize: buttonArea.pressed ? button.fontSize - 1 : button.fontSize
|
font.pixelSize: buttonArea.pressed ? button.fontSize - 1 : button.fontSize
|
||||||
|
@ -101,6 +116,21 @@ Item {
|
||||||
source: parent.icon
|
source: parent.icon
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Image {
|
||||||
|
visible: parent.rightIcon !== ""
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.rightMargin: 11 * scaleRatio
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: parent.small ? 16 * scaleRatio : 20 * scaleRatio
|
||||||
|
height: parent.small ? 16 * scaleRatio : 20 * scaleRatio
|
||||||
|
source: {
|
||||||
|
if(parent.rightIconInactive !== "" && !parent.enabled){
|
||||||
|
return parent.rightIconInactive;
|
||||||
|
}
|
||||||
|
return parent.rightIcon;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: buttonArea
|
id: buttonArea
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
BIN
images/rightArrowInactive.png
Executable file
BIN
images/rightArrowInactive.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
|
@ -329,7 +329,8 @@ Rectangle {
|
||||||
RowLayout {
|
RowLayout {
|
||||||
StandardButton {
|
StandardButton {
|
||||||
id: sendButton
|
id: sendButton
|
||||||
rightIcon: "../images/rightIcon.png"
|
rightIcon: "../images/rightArrow.png"
|
||||||
|
rightIconInactive: "../images/rightArrowInactive.png"
|
||||||
Layout.topMargin: 4 * scaleRatio
|
Layout.topMargin: 4 * scaleRatio
|
||||||
text: qsTr("Send") + translationManager.emptyString
|
text: qsTr("Send") + translationManager.emptyString
|
||||||
// Send button is enabled when:
|
// Send button is enabled when:
|
||||||
|
|
1
qml.qrc
1
qml.qrc
|
@ -205,5 +205,6 @@
|
||||||
<file>js/TxUtils.js</file>
|
<file>js/TxUtils.js</file>
|
||||||
<file>images/warning.png</file>
|
<file>images/warning.png</file>
|
||||||
<file>images/checkedBlackIcon.png</file>
|
<file>images/checkedBlackIcon.png</file>
|
||||||
|
<file>images/rightArrowInactive.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Loading…
Reference in a new issue