linphone-desktop/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml
Julien Wadel 0cad46cdc7 Add missing header for avatar mouse shortcut in chats.
Add transfer icon in forward menu.
Confirmation on forward messages.
Fix forward button on search bar in chat room selection.
Revert back friends capability checks on lime.
Update SDK to 5.2.92
2023-07-26 16:55:13 +02:00

126 lines
3.6 KiB
QML

import QtQuick 2.7
import Common 1.0
import Linphone 1.0
import UtilsCpp 1.0
import LinphoneEnums 1.0
import Linphone.Styles 1.0
// =============================================================================
SearchBox {
id: searchBox
// ---------------------------------------------------------------------------
readonly property alias isOpen: searchBox._isOpen
property alias header : view.headerItem
property alias actions : view.actions
property alias showHeader : view.showHeader
property alias participantListModel : searchModel.participantListModel
function addAddressToIgnore(entry){
searchModel.addAddressToIgnore(entry)
}
function removeAddressToIgnore(entry){
searchModel.removeAddressToIgnore(entry)
}
function isIgnored(address){
return searchModel.isIgnored(address)
}
property var resultExceptions : []
// ---------------------------------------------------------------------------
signal addContact (string sipAddress)
signal launchChat (string sipAddress)
signal launchSecureChat (string sipAddress)
signal launchCall (string sipAddress)
signal launchVideoCall (string sipAddress)
signal entryClicked (var entry)
// ---------------------------------------------------------------------------
entryHeight: SipAddressesViewStyle.entry.height
// ---------------------------------------------------------------------------
onEnterPressed: {
var sipAddress = view.interpretableSipAddress
return sipAddress.length > 0 && SettingsModel.outgoingCallsEnabled && searchBox.launchCall(sipAddress)
}
// ---------------------------------------------------------------------------
SipAddressesView {
id: view
actions: [{
colorSet: SipAddressesViewStyle.videoCall,
secure: 0,
visible: true,
handler: function (entry) {
searchBox.launchVideoCall(entry.sipAddress)
searchBox.closeMenu()
},
visible: SettingsModel.videoEnabled && SettingsModel.outgoingCallsEnabled && SettingsModel.showStartVideoCallButton
}, {
colorSet: SipAddressesViewStyle.call,
secure: 0,
visible: true,
handler: function (entry) {
searchBox.launchCall(entry.sipAddress)
searchBox.closeMenu()
},
visible: SettingsModel.outgoingCallsEnabled
}, {
colorSet: SettingsModel.getShowStartChatButton() ? SipAddressesViewStyle.chat : SipAddressesViewStyle.history,
secure: 0,
handler: function (entry) {
searchBox.launchChat(entry.sipAddress)
searchBox.closeMenu()
},
visible: SettingsModel.standardChatEnabled,
zz: 'toto'
}, {
colorSet: SettingsModel.getShowStartChatButton() ? SipAddressesViewStyle.chat : SipAddressesViewStyle.history,
secure: 1,
visible: SettingsModel.secureChatEnabled && AccountSettingsModel.conferenceUri != '',
secureIconVisibleHandler : function(entry) {
if(entry)
return UtilsCpp.hasCapability(entry.sipAddress ? entry.sipAddress : entry, LinphoneEnums.FriendCapabilityLimeX3Dh, true);
else
return false;
},
handler: function (entry) {
searchBox.launchSecureChat(entry.sipAddress)
searchBox.closeMenu()
}
}
]
headerButtonDescription: qsTr('addContact')
headerButtonIcon: 'contact_add_custom'
headerButtonOverwriteColor: SipAddressesViewStyle.header.button.colorModel.color
headerButtonAction: SettingsModel.contactsEnabled && (function (sipAddress) {
searchBox.closeMenu()
searchBox.addContact(sipAddress)
})
genSipAddress: searchBox.filter
model: SearchSipAddressesProxyModel {
id:searchModel
}
onEntryClicked: {
searchBox.entryClicked(entry)
searchBox.closeMenu()
}
}
}