linphone-desktop/ui/modules/Linphone/Contact/MessageCounter.qml
2018-08-22 14:31:58 +02:00

63 lines
1.4 KiB
QML

import QtQuick 2.7
import QtQuick.Layouts 1.3
import Common 1.0
import Linphone.Styles 1.0
// =============================================================================
Item {
id: messageCounter
property int count
property bool isComposing
implicitHeight: counterIcon.height + MessageCounterStyle.verticalMargins * 2
implicitWidth: counterIcon.width + MessageCounterStyle.horizontalMargins * 2
Icon {
id: counterIcon
property int composingIndex: 0
anchors.centerIn: parent
icon: messageCounter.isComposing
? ('chat_is_composing_' + counterIcon.composingIndex)
: 'chat_count'
iconSize: MessageCounterStyle.iconSize.message
visible: messageCounter.count > 0 || messageCounter.isComposing
Icon {
anchors {
horizontalCenter: parent.right
verticalCenter: parent.bottom
}
icon: 'chat_amount'
iconSize: MessageCounterStyle.iconSize.amount
visible: messageCounter.count > 0
Text {
anchors.centerIn: parent
color: MessageCounterStyle.text.color
font.pointSize: MessageCounterStyle.text.pointSize
text: messageCounter.count
}
}
Timer {
interval: 500
repeat: true
running: messageCounter.isComposing
onRunningChanged: {
if (running) {
counterIcon.composingIndex = 0
}
}
onTriggered: counterIcon.composingIndex = (counterIcon.composingIndex + 1) % 4
}
}
}