Calling conference from history.

This commit is contained in:
Julien Wadel 2023-05-04 15:50:19 +02:00
parent 48c6c5a355
commit 2df3f0fd60
4 changed files with 16 additions and 9 deletions

View file

@ -38,6 +38,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
- Section date timezone in chat. - Section date timezone in chat.
- Use custom font for chat compose area.
- Calling conference from history.
## 5.0.15 - 2023-04-11 ## 5.0.15 - 2023-04-11

View file

@ -51,9 +51,11 @@ static inline void fillCallStartEntry (QVariantMap &dest, const shared_ptr<linph
dest["isOutgoing"] = callLog->getDir() == linphone::Call::Dir::Outgoing; dest["isOutgoing"] = callLog->getDir() == linphone::Call::Dir::Outgoing;
dest["status"] = static_cast<HistoryModel::CallStatus>(callLog->getStatus()); dest["status"] = static_cast<HistoryModel::CallStatus>(callLog->getStatus());
dest["isStart"] = true; dest["isStart"] = true;
if(callLog->getConferenceInfo()) if(callLog->getConferenceInfo()){
dest["title"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getSubject()); dest["title"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getSubject());
dest["sipAddress"] = Utils::coreStringToAppString(callLog->getRemoteAddress()->asString()); dest["sipAddress"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getUri()->asString());
}else
dest["sipAddress"] = Utils::coreStringToAppString(callLog->getRemoteAddress()->asString());
dest["callId"] = Utils::coreStringToAppString(callLog->getCallId()); dest["callId"] = Utils::coreStringToAppString(callLog->getCallId());
dest["wasConference"] = callLog->wasConference(); dest["wasConference"] = callLog->wasConference();
} }
@ -68,9 +70,11 @@ static inline void fillCallEndEntry (QVariantMap &dest, const shared_ptr<linphon
dest["isOutgoing"] = callLog->getDir() == linphone::Call::Dir::Outgoing; dest["isOutgoing"] = callLog->getDir() == linphone::Call::Dir::Outgoing;
dest["status"] = static_cast<HistoryModel::CallStatus>(callLog->getStatus()); dest["status"] = static_cast<HistoryModel::CallStatus>(callLog->getStatus());
dest["isStart"] = false; dest["isStart"] = false;
if(callLog->getConferenceInfo()) if(callLog->getConferenceInfo()){
dest["title"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getSubject()); dest["title"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getSubject());
dest["sipAddress"] = Utils::coreStringToAppString(callLog->getRemoteAddress()->asString()); dest["sipAddress"] = Utils::coreStringToAppString(callLog->getConferenceInfo()->getUri()->asString());
}else
dest["sipAddress"] = Utils::coreStringToAppString(callLog->getRemoteAddress()->asString());
dest["callId"] = Utils::coreStringToAppString(callLog->getCallId()); dest["callId"] = Utils::coreStringToAppString(callLog->getCallId());
dest["wasConference"] = callLog->wasConference(); dest["wasConference"] = callLog->wasConference();
} }

View file

@ -138,8 +138,8 @@ Row {
bold: true bold: true
pointSize: HistoryStyle.entry.event.text.pointSize pointSize: HistoryStyle.entry.event.text.pointSize
} }
height: parent.height height: parent.height
text: $historyEntry.title text: $historyEntry && $historyEntry.title
? $historyEntry.title ? $historyEntry.title
: _sipAddressObserver : _sipAddressObserver
? ( UtilsCpp.getDisplayName(_sipAddressObserver.peerAddress || $historyEntry.sipAddress) || _sipAddressObserver) ? ( UtilsCpp.getDisplayName(_sipAddressObserver.peerAddress || $historyEntry.sipAddress) || _sipAddressObserver)

View file

@ -67,6 +67,7 @@ ColumnLayout {
? UtilsCpp.getDisplayName(historyView._sipAddressObserver.peerAddress) ? UtilsCpp.getDisplayName(historyView._sipAddressObserver.peerAddress)
: null : null
visible: peerAddress visible: peerAddress
isOneToOne: !historyView.entry || !historyView.entry.wasConference
} }
ContactDescription { ContactDescription {
@ -89,7 +90,7 @@ ColumnLayout {
ActionBar { ActionBar {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
iconSize: HistoryViewStyle.bar.actions.call.iconSize iconSize: HistoryViewStyle.bar.actions.call.iconSize
visible: historyView.entry ? !historyView.entry.wasConference : false visible: historyView.entry || false
ActionButton { ActionButton {
isCustom: true isCustom: true
@ -113,7 +114,7 @@ ColumnLayout {
backgroundRadius: 90 backgroundRadius: 90
colorSet: HistoryViewStyle.chat colorSet: HistoryViewStyle.chat
visible: peerAddress && SettingsModel.standardChatEnabled && SettingsModel.getShowStartChatButton() visible: peerAddress && SettingsModel.standardChatEnabled && SettingsModel.getShowStartChatButton() && !historyView.entry.wasConference
onClicked: CallsListModel.launchChat(historyView.peerAddress, 0) onClicked: CallsListModel.launchChat(historyView.peerAddress, 0)
} }
@ -121,7 +122,7 @@ ColumnLayout {
isCustom: true isCustom: true
backgroundRadius: 1000 backgroundRadius: 1000
colorSet: HistoryViewStyle.chat colorSet: HistoryViewStyle.chat
visible: peerAddress && SettingsModel.secureChatEnabled && SettingsModel.getShowStartChatButton() visible: peerAddress && SettingsModel.secureChatEnabled && SettingsModel.getShowStartChatButton() && !historyView.entry.wasConference
onClicked: CallsListModel.launchChat(historyView.peerAddress, 1) onClicked: CallsListModel.launchChat(historyView.peerAddress, 1)
Icon{ Icon{
icon:'secure_level_1' icon:'secure_level_1'