mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-22 22:28:08 +00:00
Simplify main menu. Display call history by account. Allow to remove reactions from chat. Fix crash on conference creation.
164 lines
5 KiB
QML
164 lines
5 KiB
QML
import QtQuick 2.7
|
|
|
|
import Common 1.0
|
|
import Linphone 1.0
|
|
import LinphoneEnums 1.0
|
|
import Linphone.Styles 1.0
|
|
import Utils 1.0
|
|
import UtilsCpp 1.0
|
|
|
|
import 'qrc:/ui/scripts/Utils/utils.js' as Utils
|
|
|
|
// =============================================================================
|
|
|
|
Row {
|
|
id: mainItem
|
|
signal entryClicked(var entry)
|
|
|
|
property var sipAddressObserver: $historyEntry.sipAddress ? SipAddressesModel.getSipAddressObserver($historyEntry.sipAddress, '') : $historyEntry.title
|
|
|
|
property QtObject iconData
|
|
property string translation
|
|
Component.onDestruction: sipAddressObserver=null// Need to set it to null because of not calling destructor if not.
|
|
Component.onCompleted: {
|
|
if ($historyEntry.status == LinphoneEnums.CallStatusSuccess) {
|
|
if(!$historyEntry.isStart){
|
|
iconData = HistoryStyle.entry.event.endedCall
|
|
translation ='endedCall'
|
|
}else if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.outgoingCall
|
|
translation ='outgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.incomingCall
|
|
translation ='incomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusDeclined) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.declinedOutgoingCall
|
|
translation ='declinedOutgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.declinedIncomingCall
|
|
translation ='declinedIncomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusMissed) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.missedOutgoingCall
|
|
translation ='missedOutgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.missedIncomingCall
|
|
translation ='missedIncomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusAborted) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.outgoingCall
|
|
translation ='outgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.incomingCall
|
|
translation ='incomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusDeclined) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.declinedOutgoingCall
|
|
translation ='declinedOutgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.declinedIncomingCall
|
|
translation ='declinedIncomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusEarlyAborted) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.missedOutgoingCall
|
|
translation ='missedOutgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.missedIncomingCall
|
|
translation ='missedIncomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusAcceptedElsewhere) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.outgoingCall
|
|
translation ='outgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.incomingCall
|
|
translation ='incomingCall'
|
|
}
|
|
}else if($historyEntry.status == LinphoneEnums.CallStatusDeclinedElsewhere) {
|
|
if($historyEntry.isOutgoing ){
|
|
iconData = HistoryStyle.entry.event.declinedOutgoingCall
|
|
translation ='declinedOutgoingCall'
|
|
}else{
|
|
iconData = HistoryStyle.entry.event.declinedIncomingCall
|
|
translation ='declinedIncomingCall'
|
|
}
|
|
}else {
|
|
iconData = HistoryStyle.entry.event.unknownCallEvent
|
|
translation = 'unknownCallEvent'
|
|
}
|
|
}
|
|
|
|
height: HistoryStyle.entry.lineHeight
|
|
spacing: HistoryStyle.entry.message.extraContent.spacing
|
|
|
|
Icon {
|
|
height: parent.height
|
|
icon: mainItem.iconData ? mainItem.iconData.icon : null
|
|
overwriteColor: mainItem.iconData ? mainItem.iconData.colorModel.color: null
|
|
iconSize: HistoryStyle.entry.event.iconSize
|
|
width: HistoryStyle.entry.metaWidth
|
|
}
|
|
|
|
Text {
|
|
Component {
|
|
// Never created.
|
|
// Private data for `lupdate`.
|
|
Item {
|
|
property var i18n: [
|
|
QT_TR_NOOP('declinedIncomingCall'),
|
|
QT_TR_NOOP('declinedOutgoingCall'),
|
|
QT_TR_NOOP('endedCall'),
|
|
QT_TR_NOOP('incomingCall'),
|
|
QT_TR_NOOP('missedIncomingCall'),
|
|
QT_TR_NOOP('missedOutgoingCall'),
|
|
QT_TR_NOOP('outgoingCall')
|
|
]
|
|
}
|
|
}
|
|
|
|
color: HistoryStyle.entry.event.text.colorModel.color
|
|
font {
|
|
bold: true
|
|
pointSize: HistoryStyle.entry.event.text.pointSize
|
|
}
|
|
height: parent.height
|
|
text: mainItem.translation ? qsTr(mainItem.translation) +' - ' : ' - '
|
|
verticalAlignment: Text.AlignVCenter
|
|
MouseArea{
|
|
anchors.fill:parent
|
|
onClicked: entryClicked($historyEntry)
|
|
}
|
|
}
|
|
Text {
|
|
color: HistoryStyle.entry.event.text.colorModel.color
|
|
font {
|
|
bold: true
|
|
pointSize: HistoryStyle.entry.event.text.pointSize
|
|
}
|
|
height: parent.height
|
|
text: $historyEntry && $historyEntry.title
|
|
? $historyEntry.title
|
|
: sipAddressObserver
|
|
? UtilsCpp.getDisplayName(sipAddressObserver.peerAddress || $historyEntry.sipAddress) || sipAddressObserver
|
|
: ''
|
|
verticalAlignment: Text.AlignVCenter
|
|
MouseArea{
|
|
anchors.fill:parent
|
|
onClicked: entryClicked($historyEntry)
|
|
}
|
|
}
|
|
ActionButton {
|
|
isCustom: true
|
|
backgroundRadius: 8
|
|
colorSet: HistoryStyle.entry.deleteAction
|
|
visible: isHoverEntry()
|
|
|
|
onClicked: removeEntry()
|
|
}
|
|
}
|