mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
Call Settings UI Update
This commit is contained in:
parent
3d5638055f
commit
7b7f0e6ccc
10 changed files with 277 additions and 247 deletions
|
|
@ -293,10 +293,6 @@ float Settings::getPlaybackGain() const {
|
|||
return mPlaybackGain;
|
||||
}
|
||||
|
||||
QString Settings::getRingerDevice() const {
|
||||
return mRingerDevice;
|
||||
}
|
||||
|
||||
QString Settings::getCaptureDevice() const {
|
||||
return mCaptureDevice;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@ class Settings : public QObject, public AbstractObject {
|
|||
|
||||
Q_PROPERTY(QString captureDevice READ getCaptureDevice WRITE lSetCaptureDevice NOTIFY captureDeviceChanged)
|
||||
Q_PROPERTY(QString playbackDevice READ getPlaybackDevice WRITE lSetPlaybackDevice NOTIFY playbackDeviceChanged)
|
||||
Q_PROPERTY(QString ringerDevice READ getRingerDevice WRITE setRingerDevice NOTIFY ringerDeviceChanged)
|
||||
|
||||
Q_PROPERTY(QStringList videoDevices READ getVideoDevices NOTIFY videoDevicesChanged)
|
||||
Q_PROPERTY(QString videoDevice READ getVideoDevice WRITE lSetVideoDevice NOTIFY videoDeviceChanged)
|
||||
|
|
@ -110,8 +109,6 @@ public:
|
|||
|
||||
QString getPlaybackDevice() const;
|
||||
|
||||
QString getRingerDevice() const;
|
||||
|
||||
QString getVideoDevice() const {
|
||||
return mVideoDevice;
|
||||
}
|
||||
|
|
@ -164,7 +161,6 @@ signals:
|
|||
|
||||
void lSetPlaybackDevice(const QString &device);
|
||||
void playbackDeviceChanged(const QString &device);
|
||||
void ringerDeviceChanged(const QString &device);
|
||||
|
||||
void lSetVideoDevice(const QString &device);
|
||||
void videoDeviceChanged();
|
||||
|
|
@ -172,7 +168,6 @@ signals:
|
|||
|
||||
void lSetCaptureGain(float gain);
|
||||
void lSetPlaybackGain(float gain);
|
||||
void setRingerDevice(const QString &device);
|
||||
|
||||
void echoCancellationCalibrationChanged();
|
||||
void micVolumeChanged(float volume);
|
||||
|
|
@ -209,7 +204,6 @@ private:
|
|||
QStringList mPlaybackDevices;
|
||||
QString mCaptureDevice;
|
||||
QString mPlaybackDevice;
|
||||
QString mRingerDevice;
|
||||
|
||||
// Video
|
||||
QStringList mVideoDevices;
|
||||
|
|
|
|||
|
|
@ -139,7 +139,6 @@ void SettingsModel::accessCallSettings() {
|
|||
emit playbackDevicesChanged(getPlaybackDevices());
|
||||
emit playbackDeviceChanged(getPlaybackDevice());
|
||||
emit captureDeviceChanged(getCaptureDevice());
|
||||
emit ringerDeviceChanged(getRingerDevice());
|
||||
emit playbackGainChanged(getPlaybackGain());
|
||||
emit captureGainChanged(getCaptureGain());
|
||||
|
||||
|
|
@ -278,22 +277,11 @@ void SettingsModel::setPlaybackDevice(const QString &device) {
|
|||
|
||||
CoreModel::getInstance()->getCore()->setPlaybackDevice(devId);
|
||||
CoreModel::getInstance()->getCore()->setOutputAudioDevice(*audioDevice);
|
||||
CoreModel::getInstance()->getCore()->setRingerDevice(devId);
|
||||
emit playbackDeviceChanged(device);
|
||||
resetCaptureGraph();
|
||||
} else qWarning() << "Cannot set Playback device. The ID cannot be matched with an existant device : " << device;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
QString SettingsModel::getRingerDevice() const {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
return Utils::coreStringToAppString(CoreModel::getInstance()->getCore()->getRingerDevice());
|
||||
}
|
||||
|
||||
void SettingsModel::setRingerDevice(const QString &device) {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
CoreModel::getInstance()->getCore()->setRingerDevice(Utils::appStringToCoreString(device));
|
||||
emit ringerDeviceChanged(device);
|
||||
}else
|
||||
qWarning() << "Cannot set Playback device. The ID cannot be matched with an existant device : " << device;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -88,9 +88,6 @@ public:
|
|||
QString getPlaybackDevice () const;
|
||||
void setPlaybackDevice (const QString &device);
|
||||
|
||||
QString getRingerDevice () const;
|
||||
void setRingerDevice (const QString &device);
|
||||
|
||||
QString getRingPath () const;
|
||||
void setRingPath (const QString &path);
|
||||
|
||||
|
|
@ -143,7 +140,6 @@ signals:
|
|||
|
||||
void captureDeviceChanged (const QString &device);
|
||||
void playbackDeviceChanged (const QString &device);
|
||||
void ringerDeviceChanged (const QString &device);
|
||||
|
||||
void ringPathChanged (const QString &path);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,192 +6,245 @@ import Linphone
|
|||
import SettingsCpp 1.0
|
||||
|
||||
GenericSettingsLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
component: settings
|
||||
width: parent.width
|
||||
Component {
|
||||
id: settings
|
||||
ColumnLayout {
|
||||
spacing: 40 * DefaultStyle.dp
|
||||
SwitchSetting {
|
||||
titleText: qsTr("Activer la vidéo")
|
||||
propertyName: "videoEnabled"
|
||||
}
|
||||
SwitchSetting {
|
||||
titleText: qsTr("Utiliser l'annulateur d'écho")
|
||||
subTitleText: qsTr("Évite que de l'écho soit entendu par votre correspondant")
|
||||
propertyName: "echoCancellationEnabled"
|
||||
}
|
||||
SwitchSetting {
|
||||
titleText: qsTr("Démarrer l'enregistrement des appels automatiquement")
|
||||
propertyName: "automaticallyRecordCallsEnabled"
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
EffectImage {
|
||||
imageSource: AppIcons.videoCamera
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
width: parent.width
|
||||
RowLayout {
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
Item {
|
||||
Layout.preferredWidth: 341 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Caméra")
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.rightMargin: 25 * DefaultStyle.dp
|
||||
Layout.topMargin: 36 * DefaultStyle.dp
|
||||
Layout.leftMargin: 64 * DefaultStyle.dp
|
||||
Layout.fillWidth: true
|
||||
spacing: 40 * DefaultStyle.dp
|
||||
SwitchSetting {
|
||||
titleText: qsTr("Annulateur d'écho")
|
||||
subTitleText: qsTr("Évite que de l'écho soit entendu par votre correspondant")
|
||||
propertyName: "echoCancellationEnabled"
|
||||
}
|
||||
SwitchSetting {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.videoDevices
|
||||
propertyName: "videoDevice"
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
EffectImage {
|
||||
imageSource: AppIcons.speaker
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Haut-parleurs")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.playbackDevices
|
||||
propertyName: "playbackDevice"
|
||||
}
|
||||
Slider {
|
||||
id: speakerVolume
|
||||
Layout.fillWidth: true
|
||||
from: 0.0
|
||||
to: 1.0
|
||||
value: SettingsCpp.playbackGain
|
||||
onMoved: {
|
||||
SettingsCpp.setPlaybackGain(value)
|
||||
titleText: qsTr("Activer l’enregistrement automatique des appels")
|
||||
subTitleText: qsTr("Enregistrer tous les appels par défaut")
|
||||
propertyName: "automaticallyRecordCallsEnabled"
|
||||
}
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
EffectImage {
|
||||
imageSource: AppIcons.speaker
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Sonnerie")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.playbackDevices
|
||||
propertyName: "ringerDevice"
|
||||
}
|
||||
Layout.preferredHeight: 1 * DefaultStyle.dp
|
||||
color: DefaultStyle.main2_500main
|
||||
Layout.topMargin: 38 * DefaultStyle.dp
|
||||
Layout.bottomMargin: 16 * DefaultStyle.dp
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
RowLayout {
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
EffectImage {
|
||||
imageSource: AppIcons.microphone
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Microphone")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.captureDevices
|
||||
propertyName: "captureDevice"
|
||||
}
|
||||
Slider {
|
||||
id: microVolume
|
||||
Layout.fillWidth: true
|
||||
from: 0.0
|
||||
to: 1.0
|
||||
value: SettingsCpp.captureGain
|
||||
onMoved: {
|
||||
SettingsCpp.setCaptureGain(value)
|
||||
}
|
||||
}
|
||||
Timer {
|
||||
id: audioTestSliderTimer
|
||||
running: false
|
||||
interval: 50
|
||||
repeat: true
|
||||
onTriggered: SettingsCpp.updateMicVolume()
|
||||
}
|
||||
Slider {
|
||||
id: audioTestSlider
|
||||
visible: !SettingsCpp.isInCall
|
||||
Layout.fillWidth: true
|
||||
enabled: false
|
||||
Layout.preferredHeight: 10 * DefaultStyle.dp
|
||||
|
||||
background: Rectangle {
|
||||
x: audioTestSlider.leftPadding
|
||||
y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2
|
||||
implicitWidth: 200 * DefaultStyle.dp
|
||||
implicitHeight: 10 * DefaultStyle.dp
|
||||
width: audioTestSlider.availableWidth
|
||||
height: implicitHeight
|
||||
radius: 2 * DefaultStyle.dp
|
||||
color: DefaultStyle.grey_850
|
||||
|
||||
Rectangle {
|
||||
width: audioTestSlider.visualPosition * parent.width
|
||||
height: parent.height
|
||||
gradient: Gradient {
|
||||
orientation: Gradient.Horizontal
|
||||
GradientStop { position: 0.0; color: DefaultStyle.vue_meter_light_green }
|
||||
GradientStop { position: 1.0; color: DefaultStyle.vue_meter_dark_green }
|
||||
}
|
||||
radius: 2 * DefaultStyle.dp
|
||||
ColumnLayout {
|
||||
Layout.preferredWidth: 341 * DefaultStyle.dp
|
||||
Text {
|
||||
text: qsTr("Périphériques")
|
||||
font: Typography.p2
|
||||
wrapMode: Text.WordWrap
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Vous pouvez modifier les périphériques de sortie audio, le microphone et la caméra de capture.")
|
||||
font: Typography.p1
|
||||
wrapMode: Text.WordWrap
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
handle: Item {visible: false}
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 20 * DefaultStyle.dp
|
||||
Layout.rightMargin: 44 * DefaultStyle.dp
|
||||
Layout.topMargin: 20 * DefaultStyle.dp
|
||||
Layout.leftMargin: 64 * DefaultStyle.dp
|
||||
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
EffectImage {
|
||||
imageSource: AppIcons.speaker
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Audio")
|
||||
Layout.leftMargin: 9
|
||||
font: Typography.p2l
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 12 * DefaultStyle.dp
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.playbackDevices
|
||||
propertyName: "playbackDevice"
|
||||
}
|
||||
Slider {
|
||||
id: speakerVolume
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 22 * DefaultStyle.dp
|
||||
from: 0.0
|
||||
to: 1.0
|
||||
value: SettingsCpp.playbackGain
|
||||
onMoved: {
|
||||
SettingsCpp.lSetPlaybackGain(value)
|
||||
}
|
||||
}
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
EffectImage {
|
||||
imageSource: AppIcons.microphone
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Microphone")
|
||||
font: Typography.p2l
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: 9
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 12 * DefaultStyle.dp
|
||||
Layout.bottomMargin: 22 * DefaultStyle.dp
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.captureDevices
|
||||
propertyName: "captureDevice"
|
||||
}
|
||||
Slider {
|
||||
id: microVolume
|
||||
Layout.fillWidth: true
|
||||
Layout.bottomMargin: 19 * DefaultStyle.dp
|
||||
from: 0.0
|
||||
to: 1.0
|
||||
value: SettingsCpp.captureGain
|
||||
onMoved: {
|
||||
SettingsCpp.lSetCaptureGain(value)
|
||||
}
|
||||
}
|
||||
Timer {
|
||||
id: audioTestSliderTimer
|
||||
running: false
|
||||
interval: 50
|
||||
repeat: true
|
||||
onTriggered: SettingsCpp.updateMicVolume()
|
||||
}
|
||||
Slider {
|
||||
id: audioTestSlider
|
||||
visible: !SettingsCpp.isInCall
|
||||
Layout.fillWidth: true
|
||||
enabled: false
|
||||
Layout.preferredHeight: 10 * DefaultStyle.dp
|
||||
|
||||
background: Rectangle {
|
||||
x: audioTestSlider.leftPadding
|
||||
y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2
|
||||
implicitWidth: 200 * DefaultStyle.dp
|
||||
implicitHeight: 10 * DefaultStyle.dp
|
||||
width: audioTestSlider.availableWidth
|
||||
height: implicitHeight
|
||||
radius: 2 * DefaultStyle.dp
|
||||
color: DefaultStyle.grey_850
|
||||
|
||||
Rectangle {
|
||||
width: audioTestSlider.visualPosition * parent.width
|
||||
height: parent.height
|
||||
gradient: Gradient {
|
||||
orientation: Gradient.Horizontal
|
||||
GradientStop { position: 0.0; color: DefaultStyle.vue_meter_light_green }
|
||||
GradientStop { position: 1.0; color: DefaultStyle.vue_meter_dark_green }
|
||||
}
|
||||
radius: 2 * DefaultStyle.dp
|
||||
}
|
||||
}
|
||||
handle: Item {visible: false}
|
||||
}
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
RowLayout {
|
||||
EffectImage {
|
||||
imageSource: AppIcons.videoCamera
|
||||
colorizationColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
imageWidth: 24 * DefaultStyle.dp
|
||||
imageHeight: 24 * DefaultStyle.dp
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Caméra")
|
||||
font: Typography.p2l
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: 9
|
||||
}
|
||||
}
|
||||
ComboSetting {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 12 * DefaultStyle.dp
|
||||
Layout.preferredWidth: parent.width
|
||||
model: SettingsCpp.videoDevices
|
||||
propertyName: "videoDevice"
|
||||
}
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: SettingsCpp
|
||||
onMicVolumeChanged: volume => audioTestSlider.value = volume
|
||||
}
|
||||
Component.onCompleted: {
|
||||
SettingsCpp.accessCallSettings()
|
||||
audioTestSliderTimer.running = true
|
||||
}
|
||||
Component.onDestruction: {
|
||||
audioTestSliderTimer.running = false
|
||||
SettingsCpp.closeCallSettings()
|
||||
}
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: SettingsCpp
|
||||
onMicVolumeChanged: {
|
||||
audioTestSlider.value = volume
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
SettingsCpp.accessCallSettings()
|
||||
audioTestSliderTimer.running = true
|
||||
}
|
||||
Component.onDestruction: {
|
||||
audioTestSliderTimer.running = false
|
||||
SettingsCpp.closeCallSettings()
|
||||
}
|
||||
}
|
||||
}
|
||||
component: settings
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,42 +7,36 @@ import Linphone
|
|||
|
||||
Rectangle {
|
||||
id: mainItem
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
color: DefaultStyle.grey_0
|
||||
|
||||
anchors.fill: parent
|
||||
property string titleText
|
||||
property var component
|
||||
property int horizontalMargin: 17 * DefaultStyle.dp
|
||||
property int verticalMargin: 21 * DefaultStyle.dp
|
||||
|
||||
Control.ScrollView {
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: 55 * DefaultStyle.dp
|
||||
anchors.topMargin: 85 * DefaultStyle.dp
|
||||
color: 'white'
|
||||
|
||||
Rectangle {
|
||||
width: parent.width - 2 * 45 * DefaultStyle.dp
|
||||
height: parent.height
|
||||
anchors.centerIn: parent
|
||||
|
||||
ColumnLayout {
|
||||
width: parent.width
|
||||
spacing: 10 * DefaultStyle.dp
|
||||
Text {
|
||||
text: titleText
|
||||
font: Typography.h3m
|
||||
font: Typography.h3
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: 10 * DefaultStyle.dp
|
||||
Layout.topMargin: 20 * DefaultStyle.dp
|
||||
color: DefaultStyle.main2_600
|
||||
}
|
||||
Rectangle {
|
||||
Layout.preferredWidth: loader.implicitWidth + 2 * mainItem.horizontalMargin
|
||||
Layout.preferredHeight: loader.implicitHeight + 2 * mainItem.verticalMargin
|
||||
color: DefaultStyle.grey_100
|
||||
radius: 15 * DefaultStyle.dp
|
||||
Loader {
|
||||
id:loader
|
||||
anchors.centerIn:parent
|
||||
anchors.topMargin: mainItem.verticalMargin
|
||||
anchors.bottomMargin: mainItem.verticalMargin
|
||||
anchors.leftMargin: mainItem.horizontalMargin
|
||||
anchors.rightMargin: mainItem.horizontalMargin
|
||||
sourceComponent: mainItem.component
|
||||
}
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: 16 * DefaultStyle.dp
|
||||
height: 1 * DefaultStyle.dp
|
||||
color: DefaultStyle.main2_500main
|
||||
}
|
||||
Loader {
|
||||
id:loader
|
||||
Layout.fillWidth: true
|
||||
sourceComponent: mainItem.component
|
||||
}
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
|
|
@ -51,5 +45,3 @@ Rectangle {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,9 @@ import QtQuick.Controls as Control
|
|||
import Linphone
|
||||
|
||||
GenericSettingsLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Component {
|
||||
id: settings
|
||||
ColumnLayout {
|
||||
Column {
|
||||
spacing: 40 * DefaultStyle.dp
|
||||
SwitchSetting {
|
||||
titleText: qsTr("Chiffrer tous les fichiers")
|
||||
|
|
@ -18,7 +16,6 @@ GenericSettingsLayout {
|
|||
propertyName: "vfsEnabled"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
component: settings
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ RowLayout {
|
|||
property string propertyName
|
||||
property bool enabled: true
|
||||
spacing : 20 * DefaultStyle.dp
|
||||
property int textWidth: 286 * DefaultStyle.dp
|
||||
ColumnLayout {
|
||||
Layout.preferredWidth: textWidth
|
||||
Text {
|
||||
text: titleText
|
||||
font: Typography.p2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.maximumWidth: textWidth
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Text {
|
||||
text: subTitleText
|
||||
font: Typography.p1
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.maximumWidth: textWidth
|
||||
visible: subTitleText.length > 0
|
||||
color: DefaultStyle.main2_600
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
SwitchButton {
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@ AbstractMainPage {
|
|||
}
|
||||
|
||||
property var settingsFamilies: [
|
||||
{title: "Sécurité", layout: "SecuritySettingsLayout"},
|
||||
{title: "Appels", layout: "CallSettingsLayout"},
|
||||
{title: "Conversations", layout: "ChatSettingsLayout"},
|
||||
{title: "Contacts", layout: "ContactSettingsLayout"},
|
||||
{title: "Réunions", layout: "MeetingsSettingsLayout"},
|
||||
{title: "Réseau", layout: "NetworkSettingsLayout"},
|
||||
{title: "Affichage", layout: "DisplaySettingsLayout"},
|
||||
{title: "Paramètres avancés", layout: "AdvancedSettingsLayout"}
|
||||
{title: qsTr("Appels"), layout: "CallSettingsLayout"},
|
||||
//{title: qsTr("Sécurité"), layout: "SecuritySettingsLayout"},
|
||||
{title: qsTr("Conversations"), layout: "ChatSettingsLayout"},
|
||||
{title: qsTr("Contacts"), layout: "ContactSettingsLayout"},
|
||||
{title: qsTr("Réunions"), layout: "MeetingsSettingsLayout"},
|
||||
{title: qsTr("Affichage"), layout: "DisplaySettingsLayout"},
|
||||
{title: qsTr("Réseau"), layout: "NetworkSettingsLayout"},
|
||||
{title: qsTr("Paramètres avancés"), layout: "AdvancedSettingsLayout"}
|
||||
]
|
||||
|
||||
leftPanelContent: ColumnLayout {
|
||||
|
|
@ -53,7 +53,7 @@ AbstractMainPage {
|
|||
Text {
|
||||
text: qsTr("Paramètres")
|
||||
color: DefaultStyle.main2_700
|
||||
font: Typography.h2
|
||||
font: Typography.h3
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
|
|
@ -70,7 +70,7 @@ AbstractMainPage {
|
|||
property int selectedIndex: 0
|
||||
|
||||
delegate: SettingsFamily {
|
||||
titleText:qsTr(modelData.title)
|
||||
titleText: modelData.title
|
||||
isSelected: settingsFamiliesList.selectedIndex == index
|
||||
onSelected: {
|
||||
settingsFamiliesList.selectedIndex = index
|
||||
|
|
|
|||
|
|
@ -10,13 +10,20 @@ QtObject {
|
|||
weight: 800 * DefaultStyle.dp
|
||||
})
|
||||
|
||||
// Title/H3M - Bloc title
|
||||
// Title/H3M - Bloc title medium
|
||||
property font h3m: Qt.font( {
|
||||
family: DefaultStyle.defaultFont,
|
||||
pixelSize: 16 * DefaultStyle.dp,
|
||||
weight: 800 * DefaultStyle.dp
|
||||
})
|
||||
|
||||
// Title/H3 - Bloc title
|
||||
property font h3: Qt.font( {
|
||||
family: DefaultStyle.defaultFont,
|
||||
pixelSize: 22 * DefaultStyle.dp,
|
||||
weight: 800 * DefaultStyle.dp
|
||||
})
|
||||
|
||||
// Title/H2 - Large bloc title
|
||||
property font h2: Qt.font( {
|
||||
family: DefaultStyle.defaultFont,
|
||||
|
|
@ -30,6 +37,13 @@ QtObject {
|
|||
pixelSize: 13 * DefaultStyle.dp,
|
||||
weight: 700 * DefaultStyle.dp
|
||||
})
|
||||
|
||||
// Text/P2 - Large Bold, reduced paratraph text
|
||||
property font p2l: Qt.font( {
|
||||
family: DefaultStyle.defaultFont,
|
||||
pixelSize: 14 * DefaultStyle.dp,
|
||||
weight: 700 * DefaultStyle.dp
|
||||
})
|
||||
|
||||
// Text/P1 - Paratraph text
|
||||
property font p1: Qt.font( {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue