linphone-desktop/linphone-app/ui/modules/Linphone/Notifications/NotificationReceivedCall.qml
2021-11-03 16:56:09 +01:00

92 lines
2.6 KiB
QML

import QtQuick 2.7
import QtQuick.Layouts 1.3
import Common 1.0
import Linphone 1.0
import Linphone.Styles 1.0
// =============================================================================
Notification {
id: notification
icon: 'call_sign_incoming'
// ---------------------------------------------------------------------------
readonly property var call: notificationData && notificationData.call
// ---------------------------------------------------------------------------
Loader {
active: Boolean(notification.call)
anchors {
fill: parent
leftMargin: NotificationReceivedCallStyle.leftMargin
rightMargin: NotificationReceivedCallStyle.rightMargin
bottomMargin: NotificationReceivedCallStyle.bottomMargin
}
sourceComponent: ColumnLayout {
spacing: NotificationReceivedCallStyle.spacing
Contact {
Layout.fillWidth: true
property var peerAddress: notification.call ? notification.call.fullPeerAddress : ''
onPeerAddressChanged: {
entry=SipAddressesModel.getSipAddressObserver(peerAddress, notification.call ? notification.call.fullLocalAddress : '')
}
entry: SipAddressesModel.getSipAddressObserver(peerAddress, notification.call ? notification.call.fullLocalAddress : '')
}
// ---------------------------------------------------------------------
// Action buttons.
// ---------------------------------------------------------------------
Item {
Layout.fillHeight: true
Layout.fillWidth: true
ActionBar {
id: acceptActionBar
anchors.centerIn: parent
iconSize: NotificationReceivedCallStyle.actionArea.iconSize
ActionButton {
isCustom: true
backgroundRadius: 90
colorSet: NotificationReceivedCallStyle.acceptVideoCall
visible: SettingsModel.videoSupported
onClicked: notification._close(notification.call.acceptWithVideo)
}
ActionButton {
isCustom: true
backgroundRadius: 90
colorSet: NotificationReceivedCallStyle.acceptCall
onClicked: notification._close(notification.call.accept)
}
}
ActionBar {
anchors {
right: parent.right
rightMargin: NotificationReceivedCallStyle.actionArea.rightButtonsGroupMargin
verticalCenter: parent.verticalCenter
}
iconSize: NotificationReceivedCallStyle.actionArea.iconSize
ActionButton {
isCustom: true
backgroundRadius: 90
colorSet: NotificationReceivedCallStyle.hangup
onClicked: notification._close(notification.call.terminate)
}
}
}
}
}
}