diff --git a/Linphone/core/call/CallCore.cpp b/Linphone/core/call/CallCore.cpp index f7e4649a..9b62d357 100644 --- a/Linphone/core/call/CallCore.cpp +++ b/Linphone/core/call/CallCore.cpp @@ -314,6 +314,7 @@ void CallCore::setSelf(QSharedPointer me) { setRemoteTokens(remoteTokens); setEncryption(encryption); setIsMismatch(isCaseMismatch); + setTokenVerified(tokenVerified); }); auto mediaEncryption = call->getParams()->getMediaEncryption(); if (mediaEncryption == linphone::MediaEncryption::ZRTP) { diff --git a/Linphone/model/call/CallModel.cpp b/Linphone/model/call/CallModel.cpp index ca5fb056..e7984cb1 100644 --- a/Linphone/model/call/CallModel.cpp +++ b/Linphone/model/call/CallModel.cpp @@ -421,7 +421,7 @@ void CallModel::onStateChanged(const std::shared_ptr &call, linphone::Call::State state, const std::string &message) { lDebug() << "CallModel::onStateChanged" << (int)state; - if (state == linphone::Call::State::StreamsRunning) { + if (state == linphone::Call::State::Connected) { mDurationTimer.start(); // After UpdatedByRemote, video direction could be changed. auto videoDirection = call->getCurrentParams()->getVideoDirection(); diff --git a/Linphone/model/setting/SettingsModel.cpp b/Linphone/model/setting/SettingsModel.cpp index 1984af4f..ff979511 100644 --- a/Linphone/model/setting/SettingsModel.cpp +++ b/Linphone/model/setting/SettingsModel.cpp @@ -531,7 +531,7 @@ void SettingsModel::notifyConfigReady(){ DEFINE_NOTIFY_CONFIG_READY(syncLdapContacts, SyncLdapContacts) } -DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, disableChatFeature, DisableChatFeature, "disable_chat_feature", false) +DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, disableChatFeature, DisableChatFeature, "disable_chat_feature", true) DEFINE_GETSET_CONFIG( SettingsModel, bool, Bool, disableMeetingsFeature, DisableMeetingsFeature, "disable_meetings_feature", false) DEFINE_GETSET_CONFIG(SettingsModel, @@ -540,7 +540,7 @@ DEFINE_GETSET_CONFIG(SettingsModel, disableBroadcastFeature, DisableBroadcastFeature, "disable_broadcast_feature", - false) + true) DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, hideSettings, HideSettings, "hide_settings", false) DEFINE_GETSET_CONFIG( SettingsModel, bool, Bool, hideAccountSettings, HideAccountSettings, "hide_account_settings", false) diff --git a/Linphone/view/Control/Display/Contact/ContactListView.qml b/Linphone/view/Control/Display/Contact/ContactListView.qml index 5e0532b1..993e74cb 100644 --- a/Linphone/view/Control/Display/Contact/ContactListView.qml +++ b/Linphone/view/Control/Display/Contact/ContactListView.qml @@ -245,6 +245,7 @@ ListView { } Button { id: chatButton + visible: actionButtons.visible && !SettingsCpp.disableChatFeature Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredHeight: 45 * DefaultStyle.dp icon.width: 24 * DefaultStyle.dp @@ -266,6 +267,7 @@ ListView { z: 1 // Layout.rightMargin: 13 * DefaultStyle.dp Layout.alignment: Qt.AlignVCenter + Layout.rightMargin: 8 * DefaultStyle.dp popup.x: 0 popup.padding: 10 * DefaultStyle.dp hoverEnabled: mainItem.hoverEnabled diff --git a/Linphone/view/Control/Display/Sticker.qml b/Linphone/view/Control/Display/Sticker.qml index be943163..64f652b7 100644 --- a/Linphone/view/Control/Display/Sticker.qml +++ b/Linphone/view/Control/Display/Sticker.qml @@ -278,8 +278,8 @@ Item { shadowEnabled: true shadowColor: DefaultStyle.grey_1000 shadowBlur: 1 - shadowOpacity: 0.3 shadowScale: 1.05 + shadowOpacity: 0.5 } RowLayout{ anchors.right: parent.right diff --git a/Linphone/view/Control/Input/NumericPad.qml b/Linphone/view/Control/Input/NumericPad.qml index d114a22d..0c5293e8 100644 --- a/Linphone/view/Control/Input/NumericPad.qml +++ b/Linphone/view/Control/Input/NumericPad.qml @@ -10,6 +10,7 @@ FocusScope{ id: mainItem property var currentCall + property bool lastRowVisible: true onButtonPressed: (text) => { if (currentCall) currentCall.core.lSendDtmf(text) @@ -191,10 +192,12 @@ FocusScope{ } } Item { + visible: !mainItem.lastRowVisible // Invisible item to move the last two buttons to the right } Button { id: launchCallButton + visible: !mainItem.lastRowVisible implicitWidth: 75 * DefaultStyle.dp implicitHeight: 55 * DefaultStyle.dp Layout.Layout.alignment: Qt.AlignHCenter @@ -218,6 +221,7 @@ FocusScope{ } Button { id: eraseButton + visible: !mainItem.lastRowVisible leftPadding: 5 * DefaultStyle.dp rightPadding: 5 * DefaultStyle.dp topPadding: 5 * DefaultStyle.dp diff --git a/Linphone/view/Control/Input/SearchBar.qml b/Linphone/view/Control/Input/SearchBar.qml index 5a3e7123..7a873355 100644 --- a/Linphone/view/Control/Input/SearchBar.qml +++ b/Linphone/view/Control/Input/SearchBar.qml @@ -105,7 +105,7 @@ FocusScope { } Button { id: clearTextButton - visible: textField.text.length > 0 + visible: textField.text.length > 0 && mainItem.enabled background: Rectangle { color: "transparent" } diff --git a/Linphone/view/Control/Popup/NumericPadPopup.qml b/Linphone/view/Control/Popup/NumericPadPopup.qml index 423702aa..216f7fe9 100644 --- a/Linphone/view/Control/Popup/NumericPadPopup.qml +++ b/Linphone/view/Control/Popup/NumericPadPopup.qml @@ -15,6 +15,7 @@ Control.Popup { bottomPadding: 18 * DefaultStyle.dp property bool closeButtonVisible: true property bool roundedBottom: false + property bool lastRowVisible: true property var currentCall onOpened: numPad.forceActiveFocus() signal buttonPressed(string text) @@ -72,12 +73,8 @@ Control.Popup { } contentItem: NumericPad{ id: numPad + lastRowVisible: lastRowVisible currentCall: mainItem.currentCall - anchors.fill: parent - anchors.topMargin: 41 * DefaultStyle.dp - anchors.bottomMargin: 18 * DefaultStyle.dp - anchors.rightMargin: 72 * DefaultStyle.dp - anchors.leftMargin: 72 * DefaultStyle.dp onButtonPressed: (text) => { console.log("BUTTON PRESSED NUMPAD") mainItem.buttonPressed(text) diff --git a/Linphone/view/Page/Form/Meeting/MeetingForm.qml b/Linphone/view/Page/Form/Meeting/MeetingForm.qml index f329f269..fa7a2334 100644 --- a/Linphone/view/Page/Form/Meeting/MeetingForm.qml +++ b/Linphone/view/Page/Form/Meeting/MeetingForm.qml @@ -15,6 +15,8 @@ FocusScope { signal saveSucceed(bool isCreation) ColumnLayout { + id: formLayout + spacing: 16 * DefaultStyle.dp Connections { target: mainItem.conferenceInfoGui.core function onSchedulerStateChanged() { @@ -84,6 +86,7 @@ FocusScope { } Section { visible: mainItem.isCreation + spacing: formLayout.spacing content: RowLayout { spacing: 8 * DefaultStyle.dp EffectImage { @@ -108,7 +111,7 @@ FocusScope { } } Section { - Layout.topMargin: 10 * DefaultStyle.dp + spacing: formLayout.spacing content: [ RowLayout { EffectImage { @@ -211,6 +214,7 @@ FocusScope { } Section { + spacing: formLayout.spacing content: RowLayout { spacing: 8 * DefaultStyle.dp EffectImage { @@ -251,6 +255,7 @@ FocusScope { } } Section { + spacing: formLayout.spacing content: [ Button { id: addParticipantsButton diff --git a/Linphone/view/Page/Layout/Main/MainLayout.qml b/Linphone/view/Page/Layout/Main/MainLayout.qml index ddd81090..cd3a28a3 100644 --- a/Linphone/view/Page/Layout/Main/MainLayout.qml +++ b/Linphone/view/Page/Layout/Main/MainLayout.qml @@ -366,8 +366,7 @@ Item { } MagicSearchButton { id: chatButton - // TODO : visible true when chat available - // visible: false + visible: !SettingsCpp.disableChatFeature Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredHeight: 45 * DefaultStyle.dp icon.source: AppIcons.chatTeardropText diff --git a/Linphone/view/Page/Main/Call/CallPage.qml b/Linphone/view/Page/Main/Call/CallPage.qml index c780b913..3c9dc0de 100644 --- a/Linphone/view/Page/Main/Call/CallPage.qml +++ b/Linphone/view/Page/Main/Call/CallPage.qml @@ -176,6 +176,10 @@ AbstractMainPage { } } } + onClicked: { + removeHistory.close() + deleteHistoryPopup.open() + } } Connections { target: deleteHistoryPopup @@ -183,10 +187,6 @@ AbstractMainPage { if (listStackView.currentItem.listView) listStackView.currentItem.listView.model.removeAllEntries() } } - onClicked: { - removeHistory.close() - deleteHistoryPopup.open() - } } Button { id: newCallButton diff --git a/Linphone/view/Page/Main/Meeting/MeetingPage.qml b/Linphone/view/Page/Main/Meeting/MeetingPage.qml index dc073190..b3c75fcc 100644 --- a/Linphone/view/Page/Main/Meeting/MeetingPage.qml +++ b/Linphone/view/Page/Main/Meeting/MeetingPage.qml @@ -19,7 +19,7 @@ AbstractMainPage { signal returnRequested() signal addParticipantsValidated(list selectedParticipants) Component.onCompleted: rightPanelStackView.push(overridenRightPanel, Control.StackView.Immediate) - showDefaultItem: false//leftPanelStackView.currentItem.objectName === "listLayout" + showDefaultItem: leftPanelStackView.currentItem.objectName === "listLayout" && meetingListCount === 0 onVisibleChanged: if (!visible) { leftPanelStackView.clear() @@ -128,13 +128,6 @@ AbstractMainPage { Control.StackView.onActivated: { mainItem.selectedConference = conferenceList.selectedConference } - Binding { - target: mainItem - when: leftPanelStackView.currentItem && leftPanelStackView.currentItem.objectName === "listLayout" - property: "showDefaultItem" - value: conferenceList.count === 0 - restoreMode: Binding.RestoreBindingOrValue - } ColumnLayout { id: listLayoutIn anchors.fill: parent @@ -201,6 +194,7 @@ AbstractMainPage { preferredHighlightBegin: height/2 - 10 preferredHighlightEnd: height/2 + 10 highlightRangeMode: ListView.ApplyRange + onCountChanged: mainItem.meetingListCount = count searchBarText: searchBar.text Keys.onPressed: (event) => { if(event.key == Qt.Key_Escape){ diff --git a/Linphone/view/Page/Window/Call/CallsWindow.qml b/Linphone/view/Page/Window/Call/CallsWindow.qml index 2f9e4e7f..7b6fe7ac 100644 --- a/Linphone/view/Page/Window/Call/CallsWindow.qml +++ b/Linphone/view/Page/Window/Call/CallsWindow.qml @@ -32,7 +32,7 @@ AbstractWindow { middleItemStackView.replace(inCallItem) bottomButtonsLayout.visible = true } - if(call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && (!call.core.tokenVerified || call.core.isMismatch)) { + if(call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && !mainWindow.conference && (!call.core.tokenVerified || call.core.isMismatch)) { zrtpValidation.open() } } @@ -632,6 +632,7 @@ AbstractWindow { placeholderText: "" numericPadPopup: numPadPopup numericPadButton.visible: false + enabled: false } Item { Layout.preferredWidth: parent.width @@ -644,6 +645,7 @@ AbstractWindow { roundedBottom: true visible: parent.visible currentCall: callsModel.currentCall + lastRowVisible: false leftPadding: 40 * DefaultStyle.dp rightPadding: 40 * DefaultStyle.dp topPadding: 41 * DefaultStyle.dp @@ -948,6 +950,7 @@ AbstractWindow { Component { id: participantListPanel Item { + objectName: "participantListPanel" Keys.onPressed: (event)=> { if (event.key == Qt.Key_Escape) { rightPanel.visible = false @@ -1417,6 +1420,7 @@ AbstractWindow { } CheckableButton { id: transferCallButton + visible: !mainWindow.conference icon.source: AppIcons.transferCall Layout.preferredWidth: 55 * DefaultStyle.dp Layout.preferredHeight: 55 * DefaultStyle.dp @@ -1519,8 +1523,10 @@ AbstractWindow { icon.height: 32 * DefaultStyle.dp } CheckableButton { + id: participantListButton visible: mainWindow.conference iconUrl: AppIcons.usersTwo + checked: rightPanel.visible && rightPanel.currentItem.objectName == "participantListPanel" checkedColor: DefaultStyle.main2_400 Layout.preferredWidth: 55 * DefaultStyle.dp Layout.preferredHeight: 55 * DefaultStyle.dp