diff options
| author | Sander Ferdinand <sa.ferdinand@gmail.com> | 2017-12-09 00:02:25 +0100 |
|---|---|---|
| committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-03-29 23:04:02 +0100 |
| commit | a1cdb572e2d80eb86de79939613bd09857ca951d (patch) | |
| tree | a75c8a7e7ec3aa3033f8b40e738689c420dcf8b9 /components/LineEditMulti.qml | |
| parent | e5357c8a0b55a23d065021092db6118a03f29533 (diff) | |
| download | monzero-gui-a1cdb572e2d80eb86de79939613bd09857ca951d.tar.gz monzero-gui-a1cdb572e2d80eb86de79939613bd09857ca951d.tar.xz monzero-gui-a1cdb572e2d80eb86de79939613bd09857ca951d.zip | |
Added 2 components: LineEditMulti.qml && LabelButton.qml - multiline line edits
Diffstat (limited to 'components/LineEditMulti.qml')
| -rw-r--r-- | components/LineEditMulti.qml | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/components/LineEditMulti.qml b/components/LineEditMulti.qml new file mode 100644 index 00000000..91078e24 --- /dev/null +++ b/components/LineEditMulti.qml @@ -0,0 +1,125 @@ +// Copyright (c) 2014-2015, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import QtQuick 2.0 +import QtQuick.Layouts 1.1 +import "." 1.0 + + +ColumnLayout { + property alias text: multiLine.text + property alias placeholderText: placeholderLabel.text + property alias inputLabelText: inputLabel.text + property alias error: multiLine.error + property alias readOnly: multiLine.readOnly + property alias addressValidation: multiLine.addressValidation + property alias labelButtonText: labelButton.text + property bool labelButtonVisible: false + property bool copyButton: false + signal labelButtonClicked(); + signal inputLabelLinkActivated(); + + spacing: 0 + Rectangle{ + id: inputLabelRect + color: "transparent" + Layout.fillWidth: true + height: inputLabel.height + 10 + + Text { + id: inputLabel + anchors.top: parent.top + anchors.left: parent.left + font.family: Style.fontRegular.name + font.pixelSize: 16 * scaleRatio + font.bold: labelFontBold + textFormat: Text.RichText + color: Style.defaultFontColor + onLinkActivated: inputLabelLinkActivated() + } + + LabelButton { + id: labelButton + onClicked: labelButtonClicked() + visible: labelButtonVisible + } + + LabelButton { + id: copyButtonId + visible: copyButton + text: qsTr("Copy") + anchors.right: labelButton.visible ? inputLabel.right : parent.right + anchors.rightMargin: labelButton.visible? 4 : 0 + onClicked: { + if (multiLine.text.length > 0) { + console.log(multiLine.text + " copied to clipboard") + clipboard.setText(multiLine.text) + appWindow.showStatusMessage(qsTr("Copied to clipboard"),3) + } + } + } + } + + InputMulti { + id: multiLine + readOnly: false + addressValidation: true + anchors.top: inputLabelRect.bottom + Layout.fillWidth: true + + Text { + id: placeholderLabel + visible: multiLine.text ? false : true + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 10 + opacity: 0.25 + color: Style.defaultFontColor + font.family: Style.fontRegular.name + font.pixelSize: 18 * scaleRatio + text: "" + z: 3 + } + + Rectangle { + color: "transparent" + border.width: 1 + border.color: { + if(multiLine.error && multiLine.text !== ""){ + return Qt.rgba(255, 0, 0, 0.45); + } else if(multiLine.activeFocus){ + return Qt.rgba(255, 255, 255, 0.35); + } else { + return Qt.rgba(255, 255, 255, 0.25); + } + } + radius: 4 + anchors.fill: parent + } + } +} |
