2020-12-18 20:55:33 +00:00
import QtQuick 2.12
import QtQuick . Controls 2.3
import QtGraphicalEffects 1.13
import QtQuick . Dialogs 1.3
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 08:51:11 +00:00
import StatusQ . Core 0.1
import StatusQ . Core . Theme 0.1
import StatusQ . Popups 0.1
import StatusQ . Controls 0.1 as StatusQControls
StatusModal {
2021-10-22 20:49:47 +00:00
id: root
2021-02-12 18:19:31 +00:00
width: 400
height: 400
2020-12-18 20:55:33 +00:00
2021-11-30 14:49:36 +00:00
property var store
2021-10-22 20:49:47 +00:00
property string error: ""
2021-03-10 14:25:06 +00:00
property string keyValidationError: ""
2021-11-10 12:14:18 +00:00
property string communityKey: ""
2021-10-22 20:49:47 +00:00
2021-03-10 14:25:06 +00:00
function validate ( ) {
2021-10-22 20:49:47 +00:00
keyValidationError = "" ;
2021-03-10 14:25:06 +00:00
if ( keyInput . text . trim ( ) === "" ) {
2021-07-16 20:22:50 +00:00
//% "You need to enter a key"
2021-10-22 20:49:47 +00:00
keyValidationError = qsTrId ( "you-need-to-enter-a-key" ) ;
2021-03-10 14:25:06 +00:00
}
2021-10-22 20:49:47 +00:00
return ! keyValidationError ;
2021-03-10 14:25:06 +00:00
}
2021-07-16 20:22:50 +00:00
//% "Access existing community"
2021-10-19 08:51:11 +00:00
header.title: qsTrId ( "access-existing-community" )
2020-12-18 20:55:33 +00:00
2021-02-12 18:19:31 +00:00
onClosed: {
2021-10-22 20:49:47 +00:00
root . destroy ( ) ;
2020-12-18 20:55:33 +00:00
}
2021-10-19 08:51:11 +00:00
contentItem: Item {
2021-10-22 20:49:47 +00:00
width: root . width - 32
2021-10-19 08:51:11 +00:00
anchors.left: parent . left
anchors.right: parent . right
anchors.leftMargin: 16
anchors.rightMargin: 16
height: childrenRect . height
2020-12-18 20:55:33 +00:00
2021-02-12 18:19:31 +00:00
StyledTextArea {
2021-03-10 14:25:06 +00:00
id: keyInput
2021-07-16 20:22:50 +00:00
//% "Community private key"
label: qsTrId ( "community-key" )
2021-02-12 18:19:31 +00:00
placeholderText: "0x0..."
customHeight: 110
2022-01-17 09:59:52 +00:00
anchors.left: parent . left
anchors.right: parent . right
2021-02-12 18:19:31 +00:00
}
2020-12-18 20:55:33 +00:00
2021-10-19 08:51:11 +00:00
StatusBaseText {
2021-02-12 18:19:31 +00:00
id: infoText1
2021-07-16 20:22:50 +00:00
//% "Entering a community key will grant you the ownership of that community. Please be responsible with it and don’ t share the key with people you don’ t trust."
text: qsTrId ( "entering-a-community-key-will-grant-you-the-ownership-of-that-community--please-be-responsible-with-it-and-don-t-share-the-key-with-people-you-don-t-trust-" )
2021-03-10 14:25:06 +00:00
anchors.top: keyInput . bottom
2021-02-12 18:19:31 +00:00
wrapMode: Text . WordWrap
anchors.topMargin: Style . current . bigPadding
width: parent . width
font.pixelSize: 13
2021-10-19 08:51:11 +00:00
color: Theme . palette . baseColor1
2021-02-12 18:19:31 +00:00
}
2020-12-18 20:55:33 +00:00
}
2021-10-19 08:51:11 +00:00
rightButtons: [
StatusQControls . StatusButton {
//% "Import"
text: qsTrId ( "import" )
onClicked: {
if ( ! validate ( ) ) {
2021-10-22 20:49:47 +00:00
return ;
2021-10-19 08:51:11 +00:00
}
2020-12-18 20:55:33 +00:00
2021-11-10 12:14:18 +00:00
communityKey = keyInput . text . trim ( ) ;
2021-10-19 08:51:11 +00:00
if ( ! communityKey . startsWith ( "0x" ) ) {
2021-10-22 20:49:47 +00:00
communityKey = "0x" + communityKey ;
2021-10-19 08:51:11 +00:00
}
2020-12-18 20:55:33 +00:00
2021-11-30 14:49:36 +00:00
root . error = root . store . chatsModelInst . communities . importCommunity ( communityKey , Utils . uuid ( ) )
2021-10-22 20:49:47 +00:00
if ( ! ! root . error ) {
creatingError . text = error ;
return creatingError . open ( ) ;
2021-10-19 08:51:11 +00:00
}
2020-12-18 20:55:33 +00:00
2021-10-22 20:49:47 +00:00
root . close ( ) ;
2021-10-19 08:51:11 +00:00
}
2020-12-18 20:55:33 +00:00
2021-10-19 08:51:11 +00:00
MessageDialog {
id: creatingError
//% "Error importing the community"
title: qsTrId ( "error-importing-the-community" )
icon: StandardIcon . Critical
standardButtons: StandardButton . Ok
}
2020-12-18 20:55:33 +00:00
}
2021-10-19 08:51:11 +00:00
]
2020-12-18 20:55:33 +00:00
}