linphone-desktop/Linphone/view/Page/Layout/Settings/AdvancedSettingsLayout.qml
2024-10-17 13:21:39 +02:00

187 lines
4.9 KiB
QML

import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import SettingsCpp 1.0
import UtilsCpp 1.0
import Linphone
import 'qrc:/Linphone/view/Control/Tool/Helper/utils.js' as Utils
AbstractSettingsLayout {
contentComponent: content
Component {
id: content
ColumnLayout {
width: parent.width
spacing: 5 * mainWindow.dp
RowLayout {
Layout.topMargin: 16 * mainWindow.dp
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.fillWidth: true
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.preferredWidth: 341 * mainWindow.dp
Layout.maximumWidth: 341 * mainWindow.dp
Layout.minimumWidth: 341 * mainWindow.dp
spacing: 5 * mainWindow.dp
Text {
Layout.fillWidth: true
text: qsTr("Configuration distante")
font: Typography.h4
wrapMode: Text.WordWrap
color: DefaultStyle.main2_600
}
}
Item {
Layout.fillHeight: true
}
}
ColumnLayout {
Layout.fillWidth: true
spacing: 20 * mainWindow.dp
Layout.rightMargin: 44 * mainWindow.dp
Layout.topMargin: 20 * mainWindow.dp
Layout.leftMargin: 64 * mainWindow.dp
DecoratedTextField {
Layout.fillWidth: true
id: configUri
title: qsTr("URL de configuration distante")
toValidate: true
}
SmallButton {
Layout.alignment: Qt.AlignRight
text: qsTr("Télécharger et appliquer")
onClicked: {
var url = configUri.value()
if (UtilsCpp.isValidURL(url))
UtilsCpp.useFetchConfig(configUri.value())
else
UtilsCpp.showInformationPopup(qsTr("Erreur"), qsTr("Format d'url invalide"), false, UtilsCpp.getMainWindow())
}
}
}
}
Rectangle {
Layout.fillWidth: true
Layout.topMargin: 35 * mainWindow.dp
Layout.bottomMargin: 9 * mainWindow.dp
height: 1 * mainWindow.dp
color: DefaultStyle.main2_500main
}
RowLayout {
Layout.topMargin: 16 * mainWindow.dp
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.fillWidth: true
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.preferredWidth: 341 * mainWindow.dp
Layout.maximumWidth: 341 * mainWindow.dp
Layout.minimumWidth: 341 * mainWindow.dp
spacing: 5 * mainWindow.dp
Text {
Layout.fillWidth: true
text: qsTr("Codecs Audio")
font: Typography.h4
wrapMode: Text.WordWrap
color: DefaultStyle.main2_600
}
}
Item {
Layout.fillHeight: true
}
}
ColumnLayout {
Layout.fillWidth: true
spacing: 20 * mainWindow.dp
Layout.rightMargin: 44 * mainWindow.dp
Layout.topMargin: 20 * mainWindow.dp
Layout.leftMargin: 64 * mainWindow.dp
Repeater {
model: PayloadTypeProxy {
family: PayloadTypeCore.Audio
}
SwitchSetting {
Layout.fillWidth: true
titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType)
subTitleText: modelData.core.clockRate + " Hz"
propertyName: "enabled"
propertyOwner: modelData.core
}
}
}
}
Rectangle {
Layout.fillWidth: true
Layout.topMargin: 35 * mainWindow.dp
Layout.bottomMargin: 9 * mainWindow.dp
height: 1 * mainWindow.dp
color: DefaultStyle.main2_500main
}
RowLayout {
Layout.topMargin: 16 * mainWindow.dp
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.fillWidth: true
spacing: 5 * mainWindow.dp
ColumnLayout {
Layout.preferredWidth: 341 * mainWindow.dp
Layout.maximumWidth: 341 * mainWindow.dp
Layout.minimumWidth: 341 * mainWindow.dp
spacing: 5 * mainWindow.dp
Text {
Layout.fillWidth: true
text: qsTr("Codecs Vidéo")
font: Typography.h4
wrapMode: Text.WordWrap
color: DefaultStyle.main2_600
}
}
Item {
Layout.fillHeight: true
}
}
ColumnLayout {
Layout.fillWidth: true
spacing: 20 * mainWindow.dp
Layout.rightMargin: 44 * mainWindow.dp
Layout.topMargin: 20 * mainWindow.dp
Layout.leftMargin: 64 * mainWindow.dp
Repeater {
model: PayloadTypeProxy {
family: PayloadTypeCore.Video
}
SwitchSetting {
Layout.fillWidth: true
titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType)
subTitleText: modelData.core.recvFmtp
propertyName: "enabled"
propertyOwner: modelData.core
}
}
}
}
Rectangle {
Layout.fillWidth: true
Layout.topMargin: 35 * mainWindow.dp
Layout.bottomMargin: 9 * mainWindow.dp
height: 1 * mainWindow.dp
color: DefaultStyle.main2_500main
}
RowLayout {
Layout.topMargin: 16 * mainWindow.dp
spacing: 5 * mainWindow.dp
Item {
Layout.preferredWidth: 341 * mainWindow.dp
}
SwitchSetting {
Layout.rightMargin: 44 * mainWindow.dp
titleText:qsTr("Cacher les FPS")
propertyName: "hideFps"
propertyOwner: SettingsCpp
}
}
}
}
}