mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-20 04:58:09 +00:00
Allow smallbuttons to use emojis. Insert text in text area in chats. Ensure to send plain text message. Use custom text font for text edit. Emoji picker and display it aside of files preview with a splitter. Fix file preview layout in replies. Change double click to simple click on avatar for copying address into the smartsearchbar. Add an option to change emojis font. Update chat actions colors.
83 lines
1.7 KiB
QML
83 lines
1.7 KiB
QML
import QtQuick 2.7
|
|
|
|
import Common 1.0
|
|
import Common.Styles 1.0
|
|
|
|
// =============================================================================
|
|
|
|
MouseArea {
|
|
id: tooltipArea
|
|
|
|
property alias text: tooltip.text
|
|
property int delay: TooltipStyle.delay
|
|
property bool force: false
|
|
property bool hide: false
|
|
property var tooltipParent: parent
|
|
property int maxWidth : window? window.width : tooltipParent.width
|
|
|
|
property bool _visible: false
|
|
property int hoveringCursor : Qt.PointingHandCursor
|
|
property bool isClickable : false
|
|
|
|
function show(){
|
|
if(isClickable){
|
|
if(tooltip.delay>0) {
|
|
tooltip.oldDelay = tooltip.delay
|
|
tooltip.delay = 0
|
|
}
|
|
tooltip.show(text, -1);
|
|
}
|
|
}
|
|
|
|
anchors.fill:parent
|
|
|
|
hoverEnabled: true
|
|
scrollGestureEnabled: true
|
|
|
|
onContainsMouseChanged: _visible = !hide && containsMouse
|
|
cursorShape: containsMouse ? hoveringCursor : Qt.ArrowCursor
|
|
|
|
onPressed: {
|
|
mouse.accepted = isClickable
|
|
}
|
|
onWheel: {
|
|
_visible = false
|
|
wheel.accepted = false
|
|
}
|
|
onClicked:{
|
|
show()
|
|
mouse.accepted = false
|
|
}
|
|
|
|
Tooltip {
|
|
id: tooltip
|
|
|
|
property int oldDelay : 0
|
|
|
|
delay: tooltipArea.delay
|
|
parent: tooltipParent
|
|
visible: _visible || force
|
|
width: Math.min(tooltip.implicitWidth, Math.max(tooltipArea.maxWidth, TooltipStyle.minWidth))
|
|
|
|
|
|
//tooltipParent.width>TooltipStyle.minWidth?tooltipParent.width:TooltipStyle.minWidth
|
|
|
|
timeout: -1
|
|
|
|
// Workaround to always display tooltip.
|
|
onVisibleChanged: {
|
|
if (!visible && force) {
|
|
tooltip.visible = true
|
|
}
|
|
}
|
|
MouseArea{
|
|
anchors.fill:parent
|
|
visible: tooltipArea.isClickable
|
|
onClicked : {
|
|
tooltip.hide()
|
|
tooltip.delay = tooltip.oldDelay
|
|
mouse.accepted = false
|
|
}
|
|
}
|
|
}
|
|
}
|