From 77651510aeeccb1456a080ffd5f15e325d40eedf Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 13 Oct 2016 14:10:05 +0200 Subject: [PATCH] feat(Calls): StartingIncomingCall in progress --- tests/imgs/cat_contact.jpg | Bin 0 -> 44398 bytes tests/resources.qrc | 5 + tests/scripts/build_resources_file | 2 +- .../Linphone/Contact/ContactDescription.qml | 3 + .../modules/Linphone/Image/RoundedImage.qml | 47 ++++++++ .../Linphone/Styles/Contact/AvatarStyle.qml | 2 +- tests/ui/modules/Linphone/qmldir | 1 + tests/ui/views/Calls/Calls.qml | 7 +- tests/ui/views/Calls/StartingCall.qml | 7 ++ tests/ui/views/Calls/StartingIncomingCall.qml | 102 ++++++++++++++++++ tests/ui/views/Calls/StartingOutgoingCall.qml | 6 ++ 11 files changed, 174 insertions(+), 8 deletions(-) create mode 100644 tests/imgs/cat_contact.jpg create mode 100644 tests/ui/modules/Linphone/Image/RoundedImage.qml create mode 100644 tests/ui/views/Calls/StartingCall.qml create mode 100644 tests/ui/views/Calls/StartingIncomingCall.qml create mode 100644 tests/ui/views/Calls/StartingOutgoingCall.qml diff --git a/tests/imgs/cat_contact.jpg b/tests/imgs/cat_contact.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f3bbdfe301372f9d738e59848a78ac456b7cf96a GIT binary patch literal 44398 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 literal 0 HcmV?d00001 diff --git a/tests/resources.qrc b/tests/resources.qrc index da5b57228..97933875e 100644 --- a/tests/resources.qrc +++ b/tests/resources.qrc @@ -3,6 +3,7 @@ imgs/add_field.svg imgs/call.svg imgs/cam.svg + imgs/cat_contact.jpg imgs/chat_attachment.svg imgs/chat.svg imgs/collapse.svg @@ -55,6 +56,7 @@ ui/modules/Linphone/Form/TextButtonB.qml ui/modules/Linphone/Form/TransparentComboBox.qml ui/modules/Linphone/Image/Icon.qml + ui/modules/Linphone/Image/RoundedImage.qml ui/modules/Linphone/InvertedMouseArea.qml ui/modules/Linphone/Menu.qml ui/modules/Linphone/Paned.qml @@ -89,6 +91,9 @@ ui/scripts/Utils/qmldir ui/scripts/Utils/utils.js ui/views/Calls/Calls.qml + ui/views/Calls/StartingCall.qml + ui/views/Calls/StartingIncomingCall.qml + ui/views/Calls/StartingOutgoingCall.qml ui/views/MainWindow/Contact.qml ui/views/MainWindow/Contacts.qml ui/views/MainWindow/Conversation.qml diff --git a/tests/scripts/build_resources_file b/tests/scripts/build_resources_file index 9fb86ba82..214078961 100755 --- a/tests/scripts/build_resources_file +++ b/tests/scripts/build_resources_file @@ -12,7 +12,7 @@ do basename="${filename##*/}" extension="${filename##*.}" - if [[ "${extension}" == @(qml|svg|png|qm|js) || + if [[ "${extension}" == @(qml|svg|png|jpg|qm|js) || "${basename}" == "qmldir" ]]; then echo " $filename" >> $RESOURCE_FILE fi diff --git a/tests/ui/modules/Linphone/Contact/ContactDescription.qml b/tests/ui/modules/Linphone/Contact/ContactDescription.qml index 8af3a3d00..35b2129b5 100644 --- a/tests/ui/modules/Linphone/Contact/ContactDescription.qml +++ b/tests/ui/modules/Linphone/Contact/ContactDescription.qml @@ -7,6 +7,7 @@ import Linphone.Styles 1.0 Column { property alias sipAddress: sipAddress.text property alias username: username.text + property int horizontalTextAlignment // Username. Text { @@ -17,6 +18,7 @@ Column { font.bold: true font.pointSize: ContactDescriptionStyle.username.fontSize height: parent.height / 2 + horizontalAlignment: horizontalTextAlignment verticalAlignment: Text.AlignBottom width: parent.width } @@ -29,6 +31,7 @@ Column { color: ContactDescriptionStyle.sipAddress.color font.pointSize: ContactDescriptionStyle.sipAddress.fontSize height: parent.height / 2 + horizontalAlignment: horizontalTextAlignment verticalAlignment: Text.AlignTop width: parent.width } diff --git a/tests/ui/modules/Linphone/Image/RoundedImage.qml b/tests/ui/modules/Linphone/Image/RoundedImage.qml new file mode 100644 index 000000000..a64706295 --- /dev/null +++ b/tests/ui/modules/Linphone/Image/RoundedImage.qml @@ -0,0 +1,47 @@ +import QtQuick 2.7 + +// =================================================================== + +Item { + property alias source: image.source + + Item { + id: imageContainer + + anchors.fill: parent + layer.enabled: true + visible: false + + Image { + id: image + + anchors.fill: parent + fillMode: Image.PreserveAspectCrop + } + } + + Rectangle { + anchors.fill: parent + layer.enabled: true + layer.samplerName: 'mask' + radius: parent.width / 2 + + layer.effect: ShaderEffect { + property var image: imageContainer + + fragmentShader: " + uniform lowp sampler2D image; + uniform lowp sampler2D mask; + uniform lowp float qt_Opacity; + + varying highp vec2 qt_TexCoord0; + + void main () { + gl_FragColor = texture2D(image, qt_TexCoord0) * + texture2D(mask, qt_TexCoord0).a * + qt_Opacity; + } + " + } + } +} diff --git a/tests/ui/modules/Linphone/Styles/Contact/AvatarStyle.qml b/tests/ui/modules/Linphone/Styles/Contact/AvatarStyle.qml index 3d4bf5ad7..865731788 100644 --- a/tests/ui/modules/Linphone/Styles/Contact/AvatarStyle.qml +++ b/tests/ui/modules/Linphone/Styles/Contact/AvatarStyle.qml @@ -13,6 +13,6 @@ QtObject { property QtObject mask: QtObject { property color color: Colors.r - property int radius: 50 + property int radius: 500 } } diff --git a/tests/ui/modules/Linphone/qmldir b/tests/ui/modules/Linphone/qmldir index cbd392cc8..72fa17f55 100644 --- a/tests/ui/modules/Linphone/qmldir +++ b/tests/ui/modules/Linphone/qmldir @@ -51,6 +51,7 @@ TransparentComboBox 1.0 Form/TransparentComboBox.qml # Image Icon 1.0 Image/Icon.qml +RoundedImage 1.0 Image/RoundedImage.qml # InvertedMouseArea InvertedMouseArea 1.0 InvertedMouseArea.qml diff --git a/tests/ui/views/Calls/Calls.qml b/tests/ui/views/Calls/Calls.qml index 46abe9e7e..5b9ce9e9f 100644 --- a/tests/ui/views/Calls/Calls.qml +++ b/tests/ui/views/Calls/Calls.qml @@ -38,13 +38,8 @@ Window { resizeAInPriority: true // Call. - childA: Rectangle { + childA: StartingIncomingCall { anchors.fill: parent - color: 'orange' - - Text { - text: 'hello' - } } // Chat. diff --git a/tests/ui/views/Calls/StartingCall.qml b/tests/ui/views/Calls/StartingCall.qml new file mode 100644 index 000000000..ec287955b --- /dev/null +++ b/tests/ui/views/Calls/StartingCall.qml @@ -0,0 +1,7 @@ +import QtQuick 2.7 + +Item { + + + +} diff --git a/tests/ui/views/Calls/StartingIncomingCall.qml b/tests/ui/views/Calls/StartingIncomingCall.qml new file mode 100644 index 000000000..dff15469f --- /dev/null +++ b/tests/ui/views/Calls/StartingIncomingCall.qml @@ -0,0 +1,102 @@ +import QtQuick 2.7 +import QtQuick.Layouts 1.3 + +import Linphone 1.0 + +Rectangle { + color: '#EAEAEA' + + ColumnLayout { + anchors { + fill: parent + margins: 20 + } + + spacing: 0 + + // Call type. + Column { + Layout.fillWidth: true + + Text { + color: '#8E8E8E' + font.bold: true + font.pointSize: 17 + horizontalAlignment: Text.AlignHCenter + text: 'INCOMING CALL' + width: parent.width + } + + Text { + color: '#8E8E8E' + font.bold: true + font.pointSize: 17 + horizontalAlignment: Text.AlignHCenter + text: '...' + width: parent.width + } + } + + // Contact area. + Item { + id: contactContainer + + Layout.fillWidth: true + Layout.fillHeight: true + + Item { + anchors.verticalCenter: parent.verticalCenter + implicitHeight: contactDescription.height + image.height + width: parent.width + + ContactDescription { + id: contactDescription + + height: 60 + horizontalTextAlignment: Text.AlignHCenter + sipAddress: 'mister-meow@sip-linphone.org' + username: 'Mister Meow' + width: parent.width + } + + RoundedImage { + id: image + + function _computeImageSize () { + var height = contactContainer.height - contactDescription.height + var width = contactContainer.width + + var size = height < 400 ? height : 400 + return size < width ? size : width + } + + anchors.top: contactDescription.bottom + anchors.horizontalCenter: parent.horizontalCenter + height: _computeImageSize() + source: "qrc:/imgs/cat_contact.jpg" + width: height + } + } + } + + // Actions area. + ActionBar { + Layout.alignment: Qt.AlignHCenter + Layout.bottomMargin: 20 + Layout.topMargin: 20 + iconSize: 40 + + ActionButton { + icon: 'cam' + } + + ActionButton { + icon: 'call' + } + + ActionButton { + icon: 'hangup' + } + } + } +} diff --git a/tests/ui/views/Calls/StartingOutgoingCall.qml b/tests/ui/views/Calls/StartingOutgoingCall.qml new file mode 100644 index 000000000..eeb3b2f9b --- /dev/null +++ b/tests/ui/views/Calls/StartingOutgoingCall.qml @@ -0,0 +1,6 @@ +import QtQuick 2.7 + +Item { + + +}