text:qsTr("This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don't share it with anyone and don't lose it! Do not pass go! Do not collect $200!")
color:timelineRoot.palette.text
text:qsTr("This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don't share it with anyone and don't lose it! Do not pass go! Do not collect $200!")
text:qsTr("Hello and welcome to Matrix!\nIt seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!")
color:timelineRoot.palette.text
text:qsTr("Hello and welcome to Matrix!\nIt seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!")
text:"Store secrets online.\nYou have a few secrets to make all the encryption magic work. While you can keep them stored only locally, we recommend storing them encrypted on the server. Otherwise it will be painful to recover them. Only disable this if you are paranoid and like losing your data!"
color:timelineRoot.palette.text
text:"Store secrets online.\nYou have a few secrets to make all the encryption magic work. While you can keep them stored only locally, we recommend storing them encrypted on the server. Otherwise it will be painful to recover them. Only disable this if you are paranoid and like losing your data!"
text:"Set an online backup password.\nWe recommend you DON'T set a password and instead only rely on the recovery key. You will get a recovery key in any case when storing the cross-signing secrets online, but passwords are usually not very random, so they are easier to attack than a completely random recovery key. If you choose to use a password, DON'T make it the same as your login password, otherwise your server can read all your encrypted messages. (You don't want that.)"
Layout.rowSpan:2
color:timelineRoot.palette.text
text:"Set an online backup password.\nWe recommend you DON'T set a password and instead only rely on the recovery key. You will get a recovery key in any case when storing the cross-signing secrets online, but passwords are usually not very random, so they are easier to attack than a completely random recovery key. If you choose to use a password, DON'T make it the same as your login password, otherwise your server can read all your encrypted messages. (You don't want that.)"
text:"Use online key backup.\nStore the keys for your messages securely encrypted online. In general you do want this, because it protects your messages from becoming unreadable, if you log out by accident. It does however carry a small security risk, if you ever share your recovery key by accident. Currently this also has some other weaknesses, that might allow the server to insert new keys into your backup. The server will however never be able to read your messages."
color:timelineRoot.palette.text
text:"Use online key backup.\nStore the keys for your messages securely encrypted online. In general you do want this, because it protects your messages from becoming unreadable, if you log out by accident. It does however carry a small security risk, if you ever share your recovery key by accident. Currently this also has some other weaknesses, that might allow the server to insert new keys into your backup. The server will however never be able to read your messages."
text:qsTr("It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.\nIf you choose verify, you need to have the other device available. If you choose \"enter passphrase\", you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.")
color:timelineRoot.palette.text
text:qsTr("It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.\nIf you choose verify, you need to have the other device available. If you choose \"enter passphrase\", you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.")
text:qsTr("Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!")
Layout.preferredWidth:400
color:timelineRoot.palette.text
text:qsTr("Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!")
text:qsTr("Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!")
Layout.preferredWidth:400
color:timelineRoot.palette.text
text:qsTr("Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!")
ToolTip.text:qsTr("Your login name. A mxid should start with @ followed by the user id. After the user id you need to include your server name after a :.\nYou can also put your homeserver address there, if your server doesn't support .well-known lookup.\nExample: @user:server.my\nIf Nheko fails to discover your homeserver, it will show you a field to enter the server manually.")
label:qsTr("Matrix ID")
placeholderText:qsTr("e.g @joe:matrix.org")
onEditingFinished:login.mxid=text
ToolTip.text:qsTr("Your login name. A mxid should start with @ followed by the user id. After the user id you need to include your server name after a :.\nYou can also put your homeserver address there, if your server doesn't support .well-known lookup.\nExample: @user:server.my\nIf Nheko fails to discover your homeserver, it will show you a field to enter the server manually.")
Keys.forwardTo:[pwBtn,ssoRepeater]
onEditingFinished:login.mxid=text
}
Spinner{
height:matrixIdLabel.height/2
Layout.alignment:Qt.AlignBottom
visible:running
running:login.lookingUpHs
foreground:timelineRoot.palette.mid
height:matrixIdLabel.height/2
running:login.lookingUpHs
visible:running
}
}
MatrixText{
textFormat:Text.PlainText
color:Nheko.theme.error
text:login.mxidError
textFormat:Text.PlainText
visible:text
}
MatrixTextField{
id: passwordLabel
Keys.forwardTo:[pwBtn,ssoRepeater]
Layout.fillWidth:true
label:qsTr("Password")
echoMode:TextInput.Password
ToolTip.text:qsTr("Your password.")
echoMode:TextInput.Password
label:qsTr("Password")
visible:login.passwordSupported
Keys.forwardTo:[pwBtn,ssoRepeater]
}
MatrixTextField{
id: deviceNameLabel
Keys.forwardTo:[pwBtn,ssoRepeater]
Layout.fillWidth:true
ToolTip.text:qsTr("A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.")
label:qsTr("Device name")
placeholderText:login.initialDeviceName()
ToolTip.text:qsTr("A name for this device, which will be shown to others, when verifying your devices. If none is provided a default is used.")
Keys.forwardTo:[pwBtn,ssoRepeater]
}
MatrixTextField{
id: hsLabel
enabled:visible
visible:login.homeserverNeeded
Keys.forwardTo:[pwBtn,ssoRepeater]
Layout.fillWidth:true
ToolTip.text:qsTr("The address that can be used to contact you homeservers client API.\nExample: https://server.my:8787")
enabled:visible
label:qsTr("Homeserver address")
placeholderText:qsTr("server.my:8787")
text:login.homeserver
visible:login.homeserverNeeded
onEditingFinished:login.homeserver=text
ToolTip.text:qsTr("The address that can be used to contact you homeservers client API.\nExample: https://server.my:8787")
ToolTip.text:qsTr("A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.")
label:qsTr("Homeserver")
placeholderText:qsTr("your.server")
onEditingFinished:regis.setServer(text)
ToolTip.text:qsTr("A server that allows registration. Since matrix is decentralized, you need to first find a server you can register on or host your own.")
onEditingFinished:regis.setServer(text)
}
Spinner{
height:hsLabel.height/2
Layout.alignment:Qt.AlignBottom
visible:running
running:regis.lookingUpHs
foreground:timelineRoot.palette.mid
height:hsLabel.height/2
running:regis.lookingUpHs
visible:running
}
}
MatrixText{
textFormat:Text.PlainText
color:Nheko.theme.error
text:regis.hsError
textFormat:Text.PlainText
visible:text
}
RowLayout{
Layout.fillWidth:true
spacing:Nheko.paddingLarge
visible:regis.supported
Layout.fillWidth:true
MatrixTextField{
id: usernameLabel
Layout.fillWidth:true
label:qsTr("Username")
ToolTip.text:qsTr("The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.")