mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
153 lines
3.7 KiB
QML
153 lines
3.7 KiB
QML
import QtCore
|
||
import QtQuick
|
||
import QtQuick.Layouts
|
||
import QtQuick.Controls.Basic as Control
|
||
import QtQuick.Dialogs
|
||
import Linphone
|
||
import SettingsCpp 1.0
|
||
import UtilsCpp
|
||
|
||
AbstractSettingsLayout {
|
||
id: mainItem
|
||
width: parent?.width
|
||
contentModel: [
|
||
{
|
||
title: qsTr("Paramètres"),
|
||
subTitle: "",
|
||
contentComponent: generalParametersComponent
|
||
},
|
||
{
|
||
title: qsTr("Paramètres de compte"),
|
||
subTitle: "",
|
||
contentComponent: advancedParametersComponent
|
||
}
|
||
]
|
||
|
||
property alias account: mainItem.model
|
||
|
||
onSave: {
|
||
account.core.save()
|
||
}
|
||
onUndo: account.core.undo()
|
||
Connections {
|
||
target: account.core
|
||
function onIsSavedChanged() {
|
||
if (account.core.isSaved) UtilsCpp.showInformationPopup(qsTr("Succès"), qsTr("Les changements ont été sauvegardés"), true, mainWindow)
|
||
}
|
||
}
|
||
|
||
// General parameters
|
||
/////////////////////
|
||
|
||
Component {
|
||
id: generalParametersComponent
|
||
ColumnLayout {
|
||
id: column
|
||
Layout.fillWidth: true
|
||
spacing: 20 * DefaultStyle.dp
|
||
DecoratedTextField {
|
||
propertyName: "mwiServerAddress"
|
||
propertyOwnerGui: account
|
||
title: qsTr("URI du serveur de messagerie vocale")
|
||
Layout.fillWidth: true
|
||
isValid: function(text) { return text.length == 0 || !text.endsWith(".") } // work around sdk crash when adress ends with .
|
||
toValidate: true
|
||
}
|
||
DecoratedTextField {
|
||
propertyName: "voicemailAddress"
|
||
propertyOwnerGui: account
|
||
title: qsTr("URI de messagerie vocale")
|
||
Layout.fillWidth: true
|
||
toValidate: true
|
||
}
|
||
}
|
||
}
|
||
|
||
// Advanced parameters
|
||
/////////////////////
|
||
|
||
Component {
|
||
id: advancedParametersComponent
|
||
ColumnLayout {
|
||
Layout.fillWidth: true
|
||
spacing: 20 * DefaultStyle.dp
|
||
Text {
|
||
text: qsTr("Transport")
|
||
color: DefaultStyle.main2_600
|
||
font: Typography.p2l
|
||
}
|
||
ComboSetting {
|
||
Layout.fillWidth: true
|
||
Layout.topMargin: -15 * DefaultStyle.dp
|
||
entries: account.core.transports
|
||
propertyName: "transport"
|
||
propertyOwnerGui: account
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
title: qsTr("URL du serveur mandataire")
|
||
propertyName: "serverAddress"
|
||
propertyOwnerGui: account
|
||
toValidate: true
|
||
}
|
||
SwitchSetting {
|
||
titleText: qsTr("Serveur mandataire sortant")
|
||
propertyName: "outboundProxyEnabled"
|
||
propertyOwnerGui: account
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
propertyName: "stunServer"
|
||
propertyOwnerGui: account
|
||
title: qsTr("Adresse du serveur STUN")
|
||
toValidate: true
|
||
}
|
||
SwitchSetting {
|
||
titleText: qsTr("Activer ICE")
|
||
propertyName: "iceEnabled"
|
||
propertyOwnerGui: account
|
||
}
|
||
SwitchSetting {
|
||
titleText: qsTr("AVPF")
|
||
propertyName: "avpfEnabled"
|
||
propertyOwnerGui: account
|
||
}
|
||
SwitchSetting {
|
||
titleText: qsTr("Mode bundle")
|
||
propertyName: "bundleModeEnabled"
|
||
propertyOwnerGui: account
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
propertyName: "expire"
|
||
propertyOwnerGui: account
|
||
title: qsTr("Expiration (en seconde)")
|
||
canBeEmpty: false
|
||
isValid: function(text) { return !isNaN(Number(text)) }
|
||
toValidate: true
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
title: qsTr("URI de l’usine à conversations")
|
||
propertyName: "conferenceFactoryAddress"
|
||
propertyOwnerGui: account
|
||
toValidate: true
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
title: qsTr("URI de l’usine à réunions")
|
||
propertyName: "audioVideoConferenceFactoryAddress"
|
||
propertyOwnerGui: account
|
||
visible: !SettingsCpp.disableMeetingsFeature
|
||
toValidate: true
|
||
}
|
||
DecoratedTextField {
|
||
Layout.fillWidth: true
|
||
title: qsTr("URL du serveur d’échange de clés de chiffrement")
|
||
propertyName: "limeServerUrl"
|
||
propertyOwnerGui: account
|
||
toValidate: true
|
||
}
|
||
}
|
||
}
|
||
}
|