mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-08-04 14:55:43 +02:00
calladapter: be able to maximize a specific screen instead uri
https://git.jami.net/savoirfairelinux/jami-project/-/issues/1429 Change-Id: I341ae5dcce9c69eaec636271315b5403426e44bc
This commit is contained in:
parent
d9aee635a7
commit
d74d57fb79
3 changed files with 17 additions and 10 deletions
|
@ -739,7 +739,7 @@ CallAdapter::hangUpCall(const QString& callId)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CallAdapter::maximizeParticipant(const QString& uri)
|
CallAdapter::setActiveStream(const QString& uri, const QString& deviceId, const QString& streamId)
|
||||||
{
|
{
|
||||||
auto* callModel = lrcInstance_->getAccountInfo(accountId_).callModel.get();
|
auto* callModel = lrcInstance_->getAccountInfo(accountId_).callModel.get();
|
||||||
const auto& convInfo
|
const auto& convInfo
|
||||||
|
@ -755,15 +755,17 @@ CallAdapter::maximizeParticipant(const QString& uri)
|
||||||
bool removeActive = false;
|
bool removeActive = false;
|
||||||
for (auto part : participants) {
|
for (auto part : participants) {
|
||||||
auto participant = part.toJsonObject();
|
auto participant = part.toJsonObject();
|
||||||
auto isParticipant = participant[lrc::api::ParticipantsInfosStrings::URI].toString()
|
|
||||||
== uri;
|
auto puri = participant[lrc::api::ParticipantsInfosStrings::URI].toString();
|
||||||
|
auto pdeviceId = participant[lrc::api::ParticipantsInfosStrings::DEVICE].toString();
|
||||||
|
auto pstreamId = participant[lrc::api::ParticipantsInfosStrings::STREAMID].toString();
|
||||||
|
|
||||||
|
auto isParticipant = puri == uri && pdeviceId == deviceId && pstreamId == streamId;
|
||||||
auto active = participant[lrc::api::ParticipantsInfosStrings::ACTIVE].toBool();
|
auto active = participant[lrc::api::ParticipantsInfosStrings::ACTIVE].toBool();
|
||||||
if (active && !isParticipant) {
|
if (active && !isParticipant)
|
||||||
activeParticipants.push_back(participant);
|
activeParticipants.push_back(participant);
|
||||||
}
|
|
||||||
if (isParticipant) {
|
if (isParticipant) {
|
||||||
auto deviceId = participant[lrc::api::ParticipantsInfosStrings::DEVICE].toString();
|
|
||||||
auto streamId = participant[lrc::api::ParticipantsInfosStrings::STREAMID].toString();
|
|
||||||
// Else, continue.
|
// Else, continue.
|
||||||
if (!active) {
|
if (!active) {
|
||||||
callModel->setActiveStream(confId, uri, deviceId, streamId, true);
|
callModel->setActiveStream(confId, uri, deviceId, streamId, true);
|
||||||
|
|
|
@ -60,7 +60,9 @@ public:
|
||||||
|
|
||||||
// For Call Overlay
|
// For Call Overlay
|
||||||
Q_INVOKABLE void hangUpCall(const QString& callId);
|
Q_INVOKABLE void hangUpCall(const QString& callId);
|
||||||
Q_INVOKABLE void maximizeParticipant(const QString& uri);
|
Q_INVOKABLE void setActiveStream(const QString& uri,
|
||||||
|
const QString& deviceId,
|
||||||
|
const QString& streamId);
|
||||||
Q_INVOKABLE void minimizeParticipant(const QString& uri);
|
Q_INVOKABLE void minimizeParticipant(const QString& uri);
|
||||||
Q_INVOKABLE void showGridConferenceLayout();
|
Q_INVOKABLE void showGridConferenceLayout();
|
||||||
Q_INVOKABLE void hangUpThisCall();
|
Q_INVOKABLE void hangUpThisCall();
|
||||||
|
@ -76,7 +78,10 @@ public:
|
||||||
Q_INVOKABLE void muteCameraToggle();
|
Q_INVOKABLE void muteCameraToggle();
|
||||||
Q_INVOKABLE bool isRecordingThisCall();
|
Q_INVOKABLE bool isRecordingThisCall();
|
||||||
Q_INVOKABLE QVariantList getConferencesInfos() const;
|
Q_INVOKABLE QVariantList getConferencesInfos() const;
|
||||||
Q_INVOKABLE void muteParticipant(const QString& accountUri, const QString& deviceId, const QString& sinkId, const bool state);
|
Q_INVOKABLE void muteParticipant(const QString& accountUri,
|
||||||
|
const QString& deviceId,
|
||||||
|
const QString& sinkId,
|
||||||
|
const bool state);
|
||||||
Q_INVOKABLE MuteStates getMuteState(const QString& uri) const;
|
Q_INVOKABLE MuteStates getMuteState(const QString& uri) const;
|
||||||
Q_INVOKABLE void hangupParticipant(const QString& uri, const QString& deviceId);
|
Q_INVOKABLE void hangupParticipant(const QString& uri, const QString& deviceId);
|
||||||
Q_INVOKABLE void updateCall(const QString& convUid = {},
|
Q_INVOKABLE void updateCall(const QString& convUid = {},
|
||||||
|
|
|
@ -89,7 +89,7 @@ RowLayout {
|
||||||
Layout.preferredWidth: buttonPreferredSize
|
Layout.preferredWidth: buttonPreferredSize
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
source: JamiResources.open_in_full_24dp_svg
|
source: JamiResources.open_in_full_24dp_svg
|
||||||
onClicked: CallAdapter.maximizeParticipant(uri)
|
onClicked: CallAdapter.setActiveStream(uri, deviceId, sinkId)
|
||||||
toolTipText: JamiStrings.maximizeParticipant
|
toolTipText: JamiStrings.maximizeParticipant
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue