diff --git a/linphone-desktop/src/components/conference/ConferenceModel.cpp b/linphone-desktop/src/components/conference/ConferenceModel.cpp index e4830e647..9080c9d2d 100644 --- a/linphone-desktop/src/components/conference/ConferenceModel.cpp +++ b/linphone-desktop/src/components/conference/ConferenceModel.cpp @@ -31,7 +31,9 @@ using namespace std; // ============================================================================= -ConferenceModel::ConferenceModel (QObject *parent) : QSortFilterProxyModel(parent) {} +ConferenceModel::ConferenceModel (QObject *parent) : QSortFilterProxyModel(parent) { + setSourceModel(CoreManager::getInstance()->getCallsListModel()); +} bool ConferenceModel::filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const { const QModelIndex &index = sourceModel()->index(sourceRow, 0, sourceParent); diff --git a/linphone-desktop/src/components/conference/ConferenceModel.hpp b/linphone-desktop/src/components/conference/ConferenceModel.hpp index 1c9b5a809..f2ca9774a 100644 --- a/linphone-desktop/src/components/conference/ConferenceModel.hpp +++ b/linphone-desktop/src/components/conference/ConferenceModel.hpp @@ -33,7 +33,6 @@ class ConferenceModel : public QSortFilterProxyModel { Q_OBJECT; Q_PROPERTY(bool microMuted READ getMicroMuted WRITE setMicroMuted NOTIFY microMutedChanged); - Q_PROPERTY(bool recording READ getRecording NOTIFY recordingChanged); public: diff --git a/linphone-desktop/ui/views/App/Calls/Conference.qml b/linphone-desktop/ui/views/App/Calls/Conference.qml index 83e2db95e..324392f4f 100644 --- a/linphone-desktop/ui/views/App/Calls/Conference.qml +++ b/linphone-desktop/ui/views/App/Calls/Conference.qml @@ -2,9 +2,9 @@ import QtQuick 2.7 import QtQuick.Layouts 1.3 import Common 1.0 +import Common.Styles 1.0 import Linphone 1.0 import LinphoneUtils 1.0 -import Utils 1.0 import App.Styles 1.0 @@ -15,10 +15,6 @@ Rectangle { // --------------------------------------------------------------------------- - ConferenceModel { - id: conference - } - ColumnLayout { anchors { fill: parent @@ -96,6 +92,51 @@ Rectangle { Layout.fillWidth: true Layout.fillHeight: true Layout.margins: CallStyle.container.margins + + + GridView { + id: grid + + anchors.fill: parent + + cellHeight: 145 + cellWidth: 154 + + model: ConferenceModel { + id: conference + } + + delegate: ColumnLayout { + readonly property string sipAddress: $call.sipAddress + readonly property var sipAddressObserver: SipAddressesModel.getSipAddressObserver(sipAddress) + + height: grid.cellHeight + width: grid.cellWidth + + ContactDescription { + id: contactDescription + + Layout.preferredHeight: 35 + Layout.fillWidth: true + + horizontalTextAlignment: Text.AlignHCenter + sipAddress: parent.sipAddressObserver.sipAddress + username: LinphoneUtils.getContactUsername(parent.sipAddressObserver.contact || parent.sipAddress) + } + + Avatar { + height: parent.width + width: parent.width + + 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 + } + } + } } // -------------------------------------------------------------------------