Merge pull request #1306

67e9109 Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton
This commit is contained in:
luigi1111 2018-04-19 11:33:11 -05:00
commit 9b8badc00c
No known key found for this signature in database
GPG key ID: F4ACA0183641E010
4 changed files with 36 additions and 4 deletions

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -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:

View file

@ -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>