2020-09-16 16:00:21 +00:00
|
|
|
|
import QtQuick 2.13
|
|
|
|
|
import QtQuick.Controls 2.13
|
|
|
|
|
import QtQuick.Layouts 1.13
|
|
|
|
|
import QtGraphicalEffects 1.13
|
2021-09-28 15:04:06 +00:00
|
|
|
|
|
|
|
|
|
import utils 1.0
|
2021-10-27 21:27:49 +00:00
|
|
|
|
import shared.controls 1.0
|
2021-10-19 09:17:20 +00:00
|
|
|
|
|
|
|
|
|
import StatusQ.Core 0.1
|
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
|
import StatusQ.Controls 0.1
|
|
|
|
|
import StatusQ.Popups 0.1
|
|
|
|
|
|
|
|
|
|
StatusModal {
|
|
|
|
|
anchors.centerIn: parent
|
2020-09-16 16:00:21 +00:00
|
|
|
|
|
|
|
|
|
id: popup
|
2020-09-24 18:12:50 +00:00
|
|
|
|
width: 400
|
|
|
|
|
height: 390
|
2021-10-19 09:17:20 +00:00
|
|
|
|
header.title: qsTr("Nickname")
|
|
|
|
|
header.subTitle: isEnsVerified ? alias : fromAuthor
|
|
|
|
|
header.subTitleElide: !isEnsVerified ? Text.ElideMiddle : Text.ElideNone
|
2020-09-16 16:00:21 +00:00
|
|
|
|
|
2021-10-22 20:49:47 +00:00
|
|
|
|
property int nicknameLength: nicknameInput.textField.text.length
|
|
|
|
|
readonly property int maxNicknameLength: 32
|
|
|
|
|
property bool nicknameTooLong: nicknameLength > maxNicknameLength
|
|
|
|
|
signal doneClicked(string newUsername, string newNickname)
|
|
|
|
|
|
|
|
|
|
onOpened: {
|
|
|
|
|
nicknameInput.forceActiveFocus(Qt.MouseFocusReason);
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
contentItem: Item {
|
|
|
|
|
width: popup.width
|
|
|
|
|
height: childrenRect.height
|
2020-09-16 16:00:21 +00:00
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
Column {
|
|
|
|
|
anchors.top: parent.top
|
|
|
|
|
anchors.topMargin: 16
|
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
|
width: parent.width - 32
|
|
|
|
|
spacing: 16
|
2021-01-12 20:51:00 +00:00
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
StatusBaseText {
|
|
|
|
|
id: descriptionText
|
|
|
|
|
//% "Nicknames help you identify others in Status. Only you can see the nicknames you’ve added"
|
|
|
|
|
text: qsTrId("nicknames-help-you-identify-others-in-status--only-you-can-see-the-nicknames-you-ve-added")
|
|
|
|
|
font.pixelSize: 15
|
|
|
|
|
wrapMode: Text.WordWrap
|
|
|
|
|
color: Theme.palette.baseColor1
|
|
|
|
|
width: parent.width
|
|
|
|
|
}
|
2020-09-16 16:00:21 +00:00
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
Input {
|
|
|
|
|
id: nicknameInput
|
|
|
|
|
//% "Nickname"
|
|
|
|
|
placeholderText: qsTrId("nickname")
|
|
|
|
|
text: nickname
|
|
|
|
|
//% "Your nickname is too long"
|
|
|
|
|
validationError: popup.nicknameTooLong ? qsTrId("your-nickname-is-too-long") : ""
|
|
|
|
|
Keys.onReleased: {
|
|
|
|
|
if (event.key === Qt.Key_Return) {
|
|
|
|
|
doneBtn.onClicked();
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-09-16 16:00:21 +00:00
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
StatusBaseText {
|
|
|
|
|
id: lengthLimitText
|
|
|
|
|
text: popup.nicknameLength + "/" + popup.maxNicknameLength
|
|
|
|
|
font.pixelSize: 15
|
|
|
|
|
anchors.top: parent.bottom
|
|
|
|
|
anchors.topMargin: 12
|
|
|
|
|
anchors.right: parent.right
|
|
|
|
|
color: popup.nicknameTooLong ? Theme.palette.dangerColro1 : Theme.palette.baseColor1
|
|
|
|
|
}
|
2021-01-13 00:31:26 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2020-09-16 16:00:21 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:17:20 +00:00
|
|
|
|
rightButtons: [
|
|
|
|
|
StatusButton {
|
|
|
|
|
id: doneBtn
|
|
|
|
|
//% "Done"
|
|
|
|
|
text: qsTrId("done")
|
|
|
|
|
enabled: !popup.nicknameTooLong
|
|
|
|
|
onClicked: {
|
2021-10-22 20:49:47 +00:00
|
|
|
|
// If we removed the nickname, go back to showing the alias
|
|
|
|
|
doneClicked(nicknameInput.textField.text === "" ? alias : nicknameInput.textField.text, nicknameInput.textField.text);
|
2021-08-30 16:09:33 +00:00
|
|
|
|
}
|
2020-09-16 16:00:21 +00:00
|
|
|
|
}
|
2021-10-19 09:17:20 +00:00
|
|
|
|
]
|
2020-09-16 16:00:21 +00:00
|
|
|
|
}
|