From 7b7f0e6ccc9fd49fd2edccc8267b5b38d1669d5c Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Tue, 18 Jun 2024 16:18:16 +0200 Subject: [PATCH] Call Settings UI Update --- Linphone/core/setting/SettingsCore.cpp | 4 - Linphone/core/setting/SettingsCore.hpp | 6 - Linphone/model/setting/SettingsModel.cpp | 18 +- Linphone/model/setting/SettingsModel.hpp | 4 - .../Layout/Settings/CallSettingsLayout.qml | 395 ++++++++++-------- .../Layout/Settings/GenericSettingsLayout.qml | 48 +-- .../Settings/SecuritySettingsLayout.qml | 5 +- Linphone/view/Item/Settings/SwitchSetting.qml | 8 +- Linphone/view/Page/Main/SettingsPage.qml | 20 +- Linphone/view/Style/Typography.qml | 16 +- 10 files changed, 277 insertions(+), 247 deletions(-) diff --git a/Linphone/core/setting/SettingsCore.cpp b/Linphone/core/setting/SettingsCore.cpp index 89e6f61fa..8ecb97340 100644 --- a/Linphone/core/setting/SettingsCore.cpp +++ b/Linphone/core/setting/SettingsCore.cpp @@ -293,10 +293,6 @@ float Settings::getPlaybackGain() const { return mPlaybackGain; } -QString Settings::getRingerDevice() const { - return mRingerDevice; -} - QString Settings::getCaptureDevice() const { return mCaptureDevice; } diff --git a/Linphone/core/setting/SettingsCore.hpp b/Linphone/core/setting/SettingsCore.hpp index 96839f981..8e6d5a27a 100644 --- a/Linphone/core/setting/SettingsCore.hpp +++ b/Linphone/core/setting/SettingsCore.hpp @@ -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; diff --git a/Linphone/model/setting/SettingsModel.cpp b/Linphone/model/setting/SettingsModel.cpp index 272e8e2c1..e1365e2bf 100644 --- a/Linphone/model/setting/SettingsModel.cpp +++ b/Linphone/model/setting/SettingsModel.cpp @@ -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; } // ----------------------------------------------------------------------------- diff --git a/Linphone/model/setting/SettingsModel.hpp b/Linphone/model/setting/SettingsModel.hpp index 2701daa6d..620c847a3 100644 --- a/Linphone/model/setting/SettingsModel.hpp +++ b/Linphone/model/setting/SettingsModel.hpp @@ -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); diff --git a/Linphone/view/App/Layout/Settings/CallSettingsLayout.qml b/Linphone/view/App/Layout/Settings/CallSettingsLayout.qml index 4d0348f46..fb5141a92 100644 --- a/Linphone/view/App/Layout/Settings/CallSettingsLayout.qml +++ b/Linphone/view/App/Layout/Settings/CallSettingsLayout.qml @@ -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 } diff --git a/Linphone/view/App/Layout/Settings/GenericSettingsLayout.qml b/Linphone/view/App/Layout/Settings/GenericSettingsLayout.qml index 899196ec2..d155acd5d 100644 --- a/Linphone/view/App/Layout/Settings/GenericSettingsLayout.qml +++ b/Linphone/view/App/Layout/Settings/GenericSettingsLayout.qml @@ -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 { } } - - diff --git a/Linphone/view/App/Layout/Settings/SecuritySettingsLayout.qml b/Linphone/view/App/Layout/Settings/SecuritySettingsLayout.qml index ca75dd9bc..649b072fc 100644 --- a/Linphone/view/App/Layout/Settings/SecuritySettingsLayout.qml +++ b/Linphone/view/App/Layout/Settings/SecuritySettingsLayout.qml @@ -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 } diff --git a/Linphone/view/Item/Settings/SwitchSetting.qml b/Linphone/view/Item/Settings/SwitchSetting.qml index fb099b113..6a92574be 100644 --- a/Linphone/view/Item/Settings/SwitchSetting.qml +++ b/Linphone/view/Item/Settings/SwitchSetting.qml @@ -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 { diff --git a/Linphone/view/Page/Main/SettingsPage.qml b/Linphone/view/Page/Main/SettingsPage.qml index dee6abe9d..5170ddd1e 100644 --- a/Linphone/view/Page/Main/SettingsPage.qml +++ b/Linphone/view/Page/Main/SettingsPage.qml @@ -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 diff --git a/Linphone/view/Style/Typography.qml b/Linphone/view/Style/Typography.qml index f34b104be..84ce77eda 100644 --- a/Linphone/view/Style/Typography.qml +++ b/Linphone/view/Style/Typography.qml @@ -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( {