diff --git a/src/calladapter.cpp b/src/calladapter.cpp index c6313250..7dd9a84e 100644 --- a/src/calladapter.cpp +++ b/src/calladapter.cpp @@ -86,8 +86,10 @@ CallAdapter::onAccountChanged() void CallAdapter::onCallStatusChanged(const QString& accountId, const QString& callId) { + set_hasCall(lrcInstance_->hasActiveCall()); + // :/ one timer for all the call overlays - if (!lrcInstance_->hasActiveCall()) + if (!hasCall_) oneSecondTimer_->stop(); #ifdef Q_OS_LINUX diff --git a/src/calladapter.h b/src/calladapter.h index b9a1d2b0..a93fafa1 100644 --- a/src/calladapter.h +++ b/src/calladapter.h @@ -33,6 +33,7 @@ class SystemTray; class CallAdapter final : public QmlAdapterBase { Q_OBJECT + QML_PROPERTY(bool, hasCall) public: enum MuteStates { UNMUTED, LOCAL_MUTED, MODERATOR_MUTED, BOTH_MUTED }; diff --git a/src/constant/JamiQmlUtils.qml b/src/constant/JamiQmlUtils.qml index 4cb1670c..9bb10775 100644 --- a/src/constant/JamiQmlUtils.qml +++ b/src/constant/JamiQmlUtils.qml @@ -21,6 +21,8 @@ pragma Singleton import QtQuick 2.14 +import net.jami.Adapters 1.0 + Item { readonly property string mainViewLoadPath: "qrc:/src/mainview/MainView.qml" readonly property string wizardViewLoadPath: "qrc:/src/wizardview/WizardView.qml" @@ -29,6 +31,15 @@ Item { property var mainApplicationScreen: "" property bool callIsFullscreen: false + Connections { + target: CallAdapter + + function onHasCallChanged() { + if (!CallAdapter.hasCall && callIsFullscreen) + callIsFullscreen = false + } + } + TextMetrics { id: globalTextMetrics }