diff --git a/linphone-desktop/resources.qrc b/linphone-desktop/resources.qrc index 8cb03098b..68673b2df 100644 --- a/linphone-desktop/resources.qrc +++ b/linphone-desktop/resources.qrc @@ -405,6 +405,7 @@ ui/views/App/Styles/Calls/CallStyle.qml ui/views/App/Styles/Calls/CallsWindowStyle.qml ui/views/App/Styles/Calls/ConferenceManagerStyle.qml + ui/views/App/Styles/Calls/ConferenceStyle.qml ui/views/App/Styles/Main/AboutStyle.qml ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml ui/views/App/Styles/Main/Assistant/AssistantAbstractViewStyle.qml diff --git a/linphone-desktop/ui/views/App/Calls/Conference.qml b/linphone-desktop/ui/views/App/Calls/Conference.qml index 324392f4f..16ea9434a 100644 --- a/linphone-desktop/ui/views/App/Calls/Conference.qml +++ b/linphone-desktop/ui/views/App/Calls/Conference.qml @@ -33,7 +33,7 @@ Rectangle { Layout.fillWidth: true Layout.leftMargin: CallStyle.header.leftMargin Layout.rightMargin: CallStyle.header.rightMargin - Layout.preferredHeight: CallStyle.header.conferenceDescription.height + Layout.preferredHeight: ConferenceStyle.description.height ActionBar { id: leftActions @@ -49,15 +49,15 @@ Rectangle { horizontalAlignment: Text.AlignHCenter text: qsTr('conferenceTitle') - color: CallStyle.header.conferenceDescription.color + color: ConferenceStyle.description.color font { bold: true - pointSize: CallStyle.header.conferenceDescription.fontSize + pointSize: ConferenceStyle.description.fontSize } height: parent.height - width: parent.width - rightActions.width - leftActions.width - CallStyle.header.conferenceDescription.width + width: parent.width - rightActions.width - leftActions.width - ConferenceStyle.description.width } // ----------------------------------------------------------------------- @@ -93,47 +93,66 @@ Rectangle { Layout.fillHeight: true Layout.margins: CallStyle.container.margins - GridView { id: grid anchors.fill: parent - cellHeight: 145 - cellWidth: 154 + cellHeight: ConferenceStyle.grid.cell.height + cellWidth: ConferenceStyle.grid.cell.width model: ConferenceModel { id: conference } - delegate: ColumnLayout { - readonly property string sipAddress: $call.sipAddress - readonly property var sipAddressObserver: SipAddressesModel.getSipAddressObserver(sipAddress) - + delegate: Item { height: grid.cellHeight width: grid.cellWidth - ContactDescription { - id: contactDescription + Column { + readonly property string sipAddress: $call.sipAddress + readonly property var sipAddressObserver: SipAddressesModel.getSipAddressObserver(sipAddress) - Layout.preferredHeight: 35 - Layout.fillWidth: true + anchors { + fill: parent + margins: ConferenceStyle.grid.spacing + } - horizontalTextAlignment: Text.AlignHCenter - sipAddress: parent.sipAddressObserver.sipAddress - username: LinphoneUtils.getContactUsername(parent.sipAddressObserver.contact || parent.sipAddress) - } + spacing: ConferenceStyle.grid.cell.spacing - Avatar { - height: parent.width - width: parent.width + ContactDescription { + id: contactDescription - backgroundColor: CallStyle.container.avatar.backgroundColor - foregroundColor: incall.call.status === CallModel.CallStatusPaused - ? CallStyle.container.pause.color - : 'transparent' - image: parent.sipAddressObserver.contact && parent.sipAddressObserver.contact.vcard.avatar - username: contactDescription.username + height: ConferenceStyle.grid.cell.contactDescription.height + width: parent.width + + horizontalTextAlignment: Text.AlignHCenter + sipAddress: parent.sipAddressObserver.sipAddress + username: LinphoneUtils.getContactUsername(parent.sipAddressObserver.contact || parent.sipAddress) + } + + Avatar { + readonly property int size: Math.min(parent.width, parent.height - contactDescription.height - parent.spacing) + + anchors.horizontalCenter: parent.horizontalCenter + + height: size + width: size + + backgroundColor: CallStyle.container.avatar.backgroundColor + foregroundColor: $call.status === CallModel.CallStatusPaused + ? CallStyle.container.pause.color + : 'transparent' + + image: { + var contact = parent.sipAddressObserver.contact + if (contact) { + return contact.vcard.avatar + } + } + + username: contactDescription.username + } } } } @@ -155,32 +174,6 @@ Rectangle { } spacing: ActionBarStyle.spacing - - Row { - spacing: CallStyle.actionArea.vu.spacing - - VuMeter { - Timer { - interval: 50 - repeat: true - running: micro.enabled - - onTriggered: parent.value = conference.microVu - } - - enabled: micro.enabled - } - - ActionSwitch { - id: micro - - enabled: !conference.microMuted - icon: 'micro' - iconSize: CallStyle.actionArea.iconSize - - onClicked: conference.microMuted = enabled - } - } } ActionBar { diff --git a/linphone-desktop/ui/views/App/Styles/Calls/CallStyle.qml b/linphone-desktop/ui/views/App/Styles/Calls/CallStyle.qml index 81c70edc2..8b762f51d 100644 --- a/linphone-desktop/ui/views/App/Styles/Calls/CallStyle.qml +++ b/linphone-desktop/ui/views/App/Styles/Calls/CallStyle.qml @@ -66,13 +66,6 @@ QtObject { property int width: 150 } - property QtObject conferenceDescription: QtObject { - property color color: Colors.x - property int fontSize: 12 - property int height: 60 - property int width: 150 - } - property QtObject elapsedTime: QtObject { property color color: Colors.j property int fontSize: 10 diff --git a/linphone-desktop/ui/views/App/Styles/Calls/ConferenceStyle.qml b/linphone-desktop/ui/views/App/Styles/Calls/ConferenceStyle.qml new file mode 100644 index 000000000..bd8f12cb7 --- /dev/null +++ b/linphone-desktop/ui/views/App/Styles/Calls/ConferenceStyle.qml @@ -0,0 +1,29 @@ +pragma Singleton +import QtQuick 2.7 + +import Common 1.0 + +// ============================================================================= + +QtObject { + property QtObject description: QtObject { + property color color: Colors.x + property int fontSize: 12 + property int height: 60 + property int width: 150 + } + + property QtObject grid: QtObject { + property int spacing: 5 + + property QtObject cell: QtObject { + property int height: 145 + property int spacing: 5 + property int width: 154 + + property QtObject contactDescription: QtObject { + property int height: 35 + } + } + } +} diff --git a/linphone-desktop/ui/views/App/Styles/qmldir b/linphone-desktop/ui/views/App/Styles/qmldir index 3f3b811d5..598bd49a3 100644 --- a/linphone-desktop/ui/views/App/Styles/qmldir +++ b/linphone-desktop/ui/views/App/Styles/qmldir @@ -7,6 +7,7 @@ module App.Styles singleton CallStyle 1.0 Calls/CallStyle.qml singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml singleton ConferenceManagerStyle 1.0 Calls/ConferenceManagerStyle.qml +singleton ConferenceStyle 1.0 Calls/ConferenceStyle.qml singleton ActivateLinphoneSipAccountWithEmailStyle 1.0 Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml singleton AssistantAbstractViewStyle 1.0 Main/Assistant/AssistantAbstractViewStyle.qml