This splits ChatTextInput into ChatBox and a handful of subcomponents.

- ChatBar: Contains the main TextArea and standard buttons.
  - Usually visible, but can be disabled when necessary.
- AttachmentPane: Contains an image when attaching an image and also a filename with mimetype icon.
  - Has a toolbar to cancel the attachment or edit it if it's an image.
  - Shown when there is an attachment.
- ReplyPane: Shows who you are replying to and the content of their message.
  - Also shows edits and has a button to cancel replies/edits
  - Shown when replying or editing
- CompletionMenu
  - Now a vertical list using a QQC2.Popup
  - Either a Pane or a Menu/Popup
- EmojiPickerPane

@teams/vdg
This commit is contained in:
Noah Davis
2021-03-17 23:48:06 +00:00
committed by Carl Schwan
parent b67f03d33f
commit 38e2c7222b
10 changed files with 1103 additions and 690 deletions

View File

@@ -35,6 +35,7 @@ Item {
signal openExternally()
signal replyClicked(string eventID)
signal replyToMessageClicked(var replyUser, string replyContent, string eventID)
signal edit(string message, string formattedBody, string eventId)
property alias hovered: controlContainer.hovered
@@ -53,7 +54,7 @@ Item {
hoverComponent.editClicked = () => {
if (hoverComponent.showEdit) {
chatTextInput.edit(message, model.formattedBody, eventId);
edit(message, model.formattedBody, eventId);
}
};
hoverComponent.replyClicked = () => {