mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-12 23:35:32 +00:00
b3f8af8e06
Qml code referring to the old code base commented out, but not deleted, due to easier refactoring the rest of the app.
139 lines
4.4 KiB
QML
139 lines
4.4 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtQuick.Dialogs 1.3
|
|
|
|
import utils 1.0
|
|
import shared.controls 1.0
|
|
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
import StatusQ.Controls 0.1
|
|
import StatusQ.Controls.Validators 0.1
|
|
import StatusQ.Popups 0.1
|
|
|
|
StatusModal {
|
|
id: root
|
|
width: 574
|
|
height: 490
|
|
header.title: edit ? qsTr("Edit saved address") : qsTr("Add saved address")
|
|
header.subTitle: edit ? name : qsTr("Unnamed")
|
|
onOpened: {
|
|
edit ?
|
|
nameInput.input.edit.forceActiveFocus(Qt.MouseFocusReason) :
|
|
addressInput.input.edit.forceActiveFocus(Qt.MouseFocusReason);
|
|
}
|
|
|
|
property var store
|
|
property bool loading: false
|
|
property bool edit: false
|
|
property bool valid: addressInput.valid && nameInput.valid // TODO: Add network preference and emoji
|
|
property bool dirty: addressInput.input.dirty && nameInput.input.dirty
|
|
property alias address: addressInput.text
|
|
property alias name: nameInput.text
|
|
property int validationMode: edit ?
|
|
StatusInput.ValidationMode.Always :
|
|
StatusInput.ValidationMode.OnlyWhenDirty
|
|
signal beforeSave()
|
|
|
|
contentItem: Column {
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: 8
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 10
|
|
height: childrenRect.height
|
|
|
|
StatusInput {
|
|
id: addressInput
|
|
input.leftIcon: false
|
|
input.implicitHeight: 56
|
|
input.placeholderText: qsTr("Enter a valid address or ENS name")
|
|
label: qsTr("Address")
|
|
validators: [
|
|
StatusAddressOrEnsValidator {
|
|
errorMessage: qsTr("Invalid address or ENS name")
|
|
},
|
|
StatusMinLengthValidator {
|
|
errorMessage: qsTr("Please provide an address or ENS name")
|
|
}
|
|
]
|
|
validationMode: root.validationMode
|
|
input.enabled: !root.edit
|
|
}
|
|
|
|
Row {
|
|
id: accountNameInputRow
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
height: 82
|
|
spacing: 10
|
|
Item {
|
|
implicitWidth: 434
|
|
height: parent.height
|
|
StatusInput {
|
|
id: nameInput
|
|
anchors.fill: parent
|
|
input.implicitHeight: 56
|
|
input.placeholderText: qsTr("Enter a name")
|
|
label: qsTr("Name")
|
|
validators: [
|
|
StatusMinLengthValidator {
|
|
minLength: 1
|
|
errorMessage: qsTr("Name must not be blank")
|
|
}
|
|
]
|
|
validationMode: root.validationMode
|
|
}
|
|
}
|
|
Item {
|
|
//emoji placeholder
|
|
width: 80
|
|
height: parent.height
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 11
|
|
StatusBaseText {
|
|
id: inputLabel
|
|
text: "Emoji"
|
|
font.weight: Font.Medium
|
|
font.pixelSize: 13
|
|
color: Theme.palette.directColor1
|
|
}
|
|
Rectangle {
|
|
width: parent.width
|
|
height: 56
|
|
anchors.top: inputLabel.bottom
|
|
anchors.topMargin: 7
|
|
radius: 10
|
|
color: "pink"
|
|
opacity: 0.6
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
rightButtons: [
|
|
StatusButton {
|
|
text: root.edit ? qsTr("Save") : qsTr("Add address")
|
|
enabled: !root.loading && root.valid && root.dirty
|
|
loading: root.loading
|
|
|
|
MessageDialog {
|
|
id: accountError
|
|
title: qsTr("Adding the account failed")
|
|
icon: StandardIcon.Critical
|
|
standardButtons: StandardButton.Ok
|
|
}
|
|
|
|
onClicked: {
|
|
// Not Refactored Yet
|
|
// root.loading = true;
|
|
// root.beforeSave();
|
|
// edit ?
|
|
// root.store.walletModelV2Inst.savedAddressesView.editSavedAddress(name, address) :
|
|
// root.store.walletModelV2Inst.savedAddressesView.addSavedAddress(name, address);
|
|
// root.close()
|
|
// root.loading = false;
|
|
}
|
|
}
|
|
]
|
|
}
|