windows ui

fix #LINQT-13-06 dialer in call

fix #LINQT-1303 popup button clicked

fix #LINQT-1298 chat buttons still visible

force chat and broadcast features in settings (to change when features ready)

fix update token verified

fix zrtp popup should not appear in conf

fix #LINQT-1310 participant button stays checked
This commit is contained in:
gaelle 2024-10-02 11:42:38 +02:00 committed by Gaelle Braud
parent 0ccf340499
commit 5b9f5cb056
13 changed files with 34 additions and 26 deletions

View file

@ -314,6 +314,7 @@ void CallCore::setSelf(QSharedPointer<CallCore> me) {
setRemoteTokens(remoteTokens);
setEncryption(encryption);
setIsMismatch(isCaseMismatch);
setTokenVerified(tokenVerified);
});
auto mediaEncryption = call->getParams()->getMediaEncryption();
if (mediaEncryption == linphone::MediaEncryption::ZRTP) {

View file

@ -421,7 +421,7 @@ void CallModel::onStateChanged(const std::shared_ptr<linphone::Call> &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();

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -105,7 +105,7 @@ FocusScope {
}
Button {
id: clearTextButton
visible: textField.text.length > 0
visible: textField.text.length > 0 && mainItem.enabled
background: Rectangle {
color: "transparent"
}

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -19,7 +19,7 @@ AbstractMainPage {
signal returnRequested()
signal addParticipantsValidated(list<string> 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){

View file

@ -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