status-desktop/ui/app/AppLayouts/Chat/popups/PrivateChatPopup.qml

101 lines
2.8 KiB
QML
Raw Normal View History

2020-06-17 19:18:31 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import utils 1.0
import shared.controls 1.0
import shared 1.0
import shared.panels 1.0
import shared.popups 1.0
import shared.status 1.0
2020-05-28 12:56:43 +00:00
import "./"
// TODO: replace with StatusModal
2020-05-29 16:27:50 +00:00
ModalPopup {
id: popup
title: qsTr("New chat")
property var store
property var contactsStore
signal joinPrivateChat(string publicKey, string ensName)
signal profileClicked()
function doJoin(pubKey, username) {
popup.joinPrivateChat(pubKey, Utils.isChatKey(pubKey) ? "" : username);
popup.close();
}
2020-05-29 18:38:11 +00:00
onOpened: {
contactFieldAndList.chatKey.text = ""
contactFieldAndList.pubKey = ""
contactFieldAndList.ensUsername = ""
contactFieldAndList.chatKey.forceActiveFocus(Qt.MouseFocusReason)
contactFieldAndList.existingContacts.visible = contactsStore.myContactsModel.count > 0
contactFieldAndList.noContactsRect.visible = !contactFieldAndList.existingContacts.visible
}
ContactsListAndSearch {
id: contactFieldAndList
anchors.top: parent.top
anchors.bottom: parent.bottom
width: parent.width
addContactEnabled: false
contactsStore: popup.contactsStore
rootStore: popup.store
onUserClicked: function (pubKey, isAddedContact, username) {
popup.doJoin(pubKey, username);
}
2020-11-16 20:56:10 +00:00
}
Control {
width: 124
height: 36
anchors.bottom: parent.bottom
anchors.bottomMargin: 24
anchors.horizontalCenter: parent.horizontalCenter
background: Rectangle {
anchors.fill: parent
radius: 34
color: Style.current.blue
}
contentItem: Item {
anchors.fill: parent
RoundedImage {
id: dollarEmoji
width: 32
height: 32
anchors.left: parent.left
anchors.leftMargin: 2
anchors.verticalCenter: parent.verticalCenter
source: Global.getProfileImage(userProfile.pubKey)
}
StyledText {
anchors.left: dollarEmoji.right
anchors.leftMargin: 6
anchors.verticalCenter: parent.verticalCenter
text: qsTr("My Profile")
font.pixelSize: 15
color: Style.current.white
}
}
MouseArea {
anchors.fill: parent
cursorShape: "PointingHandCursor"
onClicked: {
popup.profileClicked();
Global.settingsSubsection = Constants.settingsSubsection.profile;
popup.close();
}
}
}
2020-05-28 12:56:43 +00:00
}
/*##^##
Designer {
D{i:0;height:300;width:300}
}
##^##*/