mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-11 14:16:43 +00:00
Add keyboard shortcuts according to https://notes.status.im/02cfVf1KQLeQU2SqrIi9tw fix: update chat message bubbles - Align emojis to middle of text - Add line-height as per design - Properly support RTL languages (right-aligned) and LTR languages (left-aligned) - Remove unneeded non-breaking space at the beginning of current user messages - Properly support markdown for bold, strikethrough, and italic - Fix text being removed when in between strikethrough markdown (~~) fix: emoji resolution update for high resolution monitors - Emojis now use the 72x72 original set, but are down-scaled to 20x20 (in chat bubbles) or 22x22 in other places, effectively tripling their pixel density feat: handle new lines in blockquote Handle new lines in blockquote so that messages display correctly. Also, add functionality when a new line is entered in to the chat input, if it's inside a blockquote, a new ">" will be added automatically. This is also handled when backspace is entered. feat: update xss to support full qt html4 table and table-cell attributes
97 lines
2.8 KiB
QML
97 lines
2.8 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtGraphicalEffects 1.12
|
|
import QtQuick.Dialogs 1.3
|
|
import "../../imports"
|
|
import "../../shared"
|
|
|
|
Popup {
|
|
property var modelList
|
|
property alias listView: listView
|
|
property var getImageSource: function () {}
|
|
property var getText: function () {}
|
|
property var onClicked: function () {}
|
|
property int imageWidth: 22
|
|
property int imageHeight: 22
|
|
|
|
function openPopup(listParam) {
|
|
modelList = listParam
|
|
popup.open()
|
|
}
|
|
|
|
id: popup
|
|
width: messageInput.width
|
|
height: Math.min(400, listView.contentHeight + Style.current.smallPadding)
|
|
x : messageInput.x
|
|
y: -height
|
|
background: Rectangle {
|
|
id: bgRectangle
|
|
visible: !!popup.modelList && popup.modelList.length > 0
|
|
color: Style.current.background
|
|
border.width: 0
|
|
radius: Style.current.radius
|
|
layer.enabled: true
|
|
layer.effect: DropShadow{
|
|
width: bgRectangle.width
|
|
height: bgRectangle.height
|
|
x: bgRectangle.x
|
|
y: bgRectangle.y + 10
|
|
visible: bgRectangle.visible
|
|
source: bgRectangle
|
|
horizontalOffset: 0
|
|
verticalOffset: 2
|
|
radius: 10
|
|
samples: 15
|
|
color: "#22000000"
|
|
}
|
|
}
|
|
|
|
ListView {
|
|
id: listView
|
|
model: popup.modelList || []
|
|
keyNavigationEnabled: true
|
|
anchors.fill: parent
|
|
clip: true
|
|
|
|
delegate: Rectangle {
|
|
id: rectangle
|
|
color: listView.currentIndex === index ? Style.current.backgroundHover : Style.current.transparent
|
|
border.width: 0
|
|
width: parent.width
|
|
height: 42
|
|
radius: Style.current.radius
|
|
|
|
SVGImage {
|
|
id: image
|
|
source: popup.getImageSource(modelData)
|
|
width: popup.imageWidth
|
|
height: popup.imageHeight
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.smallPadding
|
|
}
|
|
|
|
StyledText {
|
|
text: popup.getText(modelData)
|
|
color: Style.current.textColor
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: image.right
|
|
anchors.leftMargin: Style.current.smallPadding
|
|
font.pixelSize: 15
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
hoverEnabled: true
|
|
onEntered: {
|
|
listView.currentIndex = index
|
|
}
|
|
onClicked: {
|
|
popup.onClicked(index)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|