lez-programs/apps/amm/qml/components/wallet/LogosCopyButton.qml
2026-06-30 11:59:27 -03:00

46 lines
952 B
QML

import QtQuick 2.15
import QtQuick.Controls 2.15
import Logos.Theme
Button {
id: root
signal copyText()
property string accessibleName: ""
property string iconSource: Qt.resolvedUrl("icons/copy.svg")
property bool copied: false
implicitWidth: 24
implicitHeight: 24
text: root.copied ? qsTr("Copied") : root.accessibleName
Accessible.name: text
display: AbstractButton.IconOnly
flat: true
icon.source: root.iconSource
icon.width: 24
icon.height: 24
icon.color: Theme.palette.textSecondary
function reset() {
iconSource = Qt.resolvedUrl("icons/copy.svg")
copied = false
}
Timer {
id: resetTimer
interval: 1500
repeat: false
onTriggered: root.reset()
}
onClicked: {
root.copyText()
root.iconSource = Qt.resolvedUrl("icons/checkmark.svg")
root.copied = true
resetTimer.restart()
}
}