mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-10 06:16:32 +00:00
937dd89146
Having all the different input types in one file made it simpler to design, but created an issue with memory, because all the aliases, properties and images were created for all types even if you only used a basic Input. I tried using Loaders, but making aliases within loaders is super painful/impossible in some cases.
89 lines
2.4 KiB
QML
89 lines
2.4 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.3
|
|
import QtQuick.Layouts 1.3
|
|
import "../../../../imports"
|
|
import "../../../../shared"
|
|
|
|
ModalPopup {
|
|
id: popup
|
|
height: 600
|
|
|
|
property int marginBetweenInputs: 38
|
|
property string selectedColor: Constants.accountColors[0]
|
|
|
|
onOpened: {
|
|
passwordInput.text = ""
|
|
passwordInput.forceActiveFocus(Qt.MouseFocusReason)
|
|
}
|
|
|
|
title: qsTr("Add account with a seed phrase")
|
|
|
|
Input {
|
|
id: passwordInput
|
|
placeholderText: qsTr("Enter your password…")
|
|
label: qsTr("Password")
|
|
textField.echoMode: TextInput.Password
|
|
}
|
|
|
|
|
|
StyledTextArea {
|
|
id: accountSeedInput
|
|
anchors.top: passwordInput.bottom
|
|
anchors.topMargin: marginBetweenInputs
|
|
placeholderText: qsTr("Enter your seed phrase, separate words with commas or spaces...")
|
|
label: qsTr("Seed phrase")
|
|
customHeight: 88
|
|
}
|
|
|
|
Input {
|
|
id: accountNameInput
|
|
anchors.top: accountSeedInput.bottom
|
|
anchors.topMargin: marginBetweenInputs
|
|
placeholderText: qsTr("Enter an account name...")
|
|
label: qsTr("Account name")
|
|
}
|
|
|
|
Select {
|
|
id: accountColorInput
|
|
anchors.top: accountNameInput.bottom
|
|
anchors.topMargin: marginBetweenInputs
|
|
bgColor: selectedColor
|
|
label: qsTr("Account color")
|
|
selectOptions: Constants.accountColors.map(color => {
|
|
return {
|
|
text: "",
|
|
bgColor: color,
|
|
height: 52,
|
|
onClicked: function () {
|
|
selectedColor = color
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
footer: StyledButton {
|
|
anchors.top: parent.top
|
|
anchors.topMargin: Theme.padding
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: Theme.padding
|
|
label: "Add account >"
|
|
|
|
disabled: passwordInput.text === "" || accountNameInput.text === "" || accountSeedInput.text === ""
|
|
|
|
onClicked : {
|
|
// TODO add message to show validation errors
|
|
if (passwordInput.text === "" || accountNameInput.text === "" || accountSeedInput.text === "") return;
|
|
|
|
walletModel.addAccountsFromSeed(accountSeedInput.text, passwordInput.text, accountNameInput.text, selectedColor)
|
|
// TODO manage errors adding account
|
|
popup.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
/*##^##
|
|
Designer {
|
|
D{i:0;formeditorColor:"#ffffff";height:500;width:400}
|
|
}
|
|
##^##*/
|