linphone-desktop/linphone-app/ui/views/App/Main/Dialogs/ManageAccounts.qml
Julien Wadel dbf1f6801a - Send authentification request only if a proxy still exists for this auth
- remove auth infos when removing proxy
- add a "Not Proxy" state for registration to know if the current proxy is a candidate to registration
- Adapt Account Model to ensure to use pointer when mixing javascript/C++
- When clicking on Accounts, force authentification request if the current proxy is not registered
2020-05-04 00:04:09 +02:00

110 lines
2.8 KiB
QML

import QtQuick 2.7
import Common 1.0
import Linphone 1.0
import Utils 1.0
import App.Styles 1.0
import 'ManageAccount.js' as Logic
// =============================================================================
DialogPlus {
buttons: [
TextButtonB {
text: qsTr('ok')
onClicked: exit(0)
}
]
centeredButtons: true
objectName: '__manageAccounts'
height: SettingsModel.rlsUriEnabled ? ManageAccountsStyle.height : ManageAccountsStyle.heightWithoutPresence
width: ManageAccountsStyle.width
// ---------------------------------------------------------------------------
Form {
anchors.fill: parent
orientation: Qt.Vertical
FormLine {
visible: SettingsModel.rlsUriEnabled
FormGroup {
label: qsTr('selectPresenceLabel')
ComboBox {
currentIndex: Utils.findIndex(OwnPresenceModel.statuses, function (status) {
return status.presenceStatus === OwnPresenceModel.presenceStatus
})
model: OwnPresenceModel.statuses
iconRole: 'presenceIcon'
textRole: 'presenceLabel'
onActivated: OwnPresenceModel.presenceStatus = model[index].presenceStatus
}
}
}
FormLine {
FormGroup {
label: qsTr('selectAccountLabel')
ScrollableListViewField {
width: parent.width
height: ManageAccountsStyle.accountSelector.height
radius: 0
ScrollableListView {
id: view
property string textRole: 'sipAddress' // Used by delegate.
anchors.fill: parent
model: AccountSettingsModel.accounts
onModelChanged: currentIndex = Utils.findIndex(AccountSettingsModel.accounts, function (account) {
return account.sipAddress === AccountSettingsModel.sipAddress
})
delegate: CommonItemDelegate {
id: item
container: view
flattenedModel: modelData
itemIcon: Logic.getItemIcon(flattenedModel)
width: parent.width
ActionButton {
icon: 'options'
iconSize: 30
anchors.fill: parent
visible:false
//TODO handle click and jump to proxy config settings
}
onClicked: {
container.currentIndex = index
if(flattenedModel.proxyConfig)
AccountSettingsModel.setDefaultProxyConfig(flattenedModel.proxyConfig)
else
AccountSettingsModel.setDefaultProxyConfig()
}
MessageCounter {
anchors.fill: parent
count: flattenedModel.unreadMessageCount
}
}
}
}
}
}
}
}