mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-19 07:48:30 +00:00
Deactivate video if no codecs are selected. Link to licence in about. Fix loosing ICE configuration. Fix click shortcut on the first item on smartsearch bar. Add separated and editable prefix phone number in assistant.
126 lines
3.6 KiB
QML
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.videoAvailable && 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()
|
|
}
|
|
}
|
|
}
|