mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-24 06:18:31 +00:00
Simplify main menu. Display call history by account. Allow to remove reactions from chat. Fix crash on conference creation.
125 lines
3.6 KiB
QML
125 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
|
|
}, {
|
|
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()
|
|
}
|
|
}
|
|
}
|