resize the app according to screen definition

fix ui size according to screen resolution
This commit is contained in:
Gaelle Braud 2025-03-06 11:37:58 +01:00 committed by gaelle.braud
parent c20a54df48
commit 06647f002a
119 changed files with 2162 additions and 2158 deletions

View file

@ -8,10 +8,10 @@ Button {
id: mainItem id: mainItem
textSize: Typography.b1.pixelSize textSize: Typography.b1.pixelSize
textWeight: Typography.b1.weight textWeight: Typography.b1.weight
leftPadding: 20 * DefaultStyle.dp leftPadding: Math.round(20.04 * DefaultStyle.dp)
rightPadding: 20 * DefaultStyle.dp rightPadding: Math.round(20.04 * DefaultStyle.dp)
topPadding: 11 * DefaultStyle.dp topPadding: Math.round(11.2 * DefaultStyle.dp)
bottomPadding: 11 * DefaultStyle.dp bottomPadding: Math.round(11.2 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24.89 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24.89 * DefaultStyle.dp)
} }

View file

@ -22,10 +22,10 @@ Control.Button {
property color disabledFilterColor: color.hslLightness > 0.5 property color disabledFilterColor: color.hslLightness > 0.5
? DefaultStyle.grey_0 ? DefaultStyle.grey_0
: DefaultStyle.grey_400 : DefaultStyle.grey_400
property int textSize: 18 * DefaultStyle.dp property real textSize: Math.round(18 * DefaultStyle.dp)
property int textWeight: 600 * DefaultStyle.dp property real textWeight: Typography.b1.weight
property var textHAlignment: Text.AlignHCenter property var textHAlignment: Text.AlignHCenter
property int radius: 48 * DefaultStyle.dp property real radius: Math.round(48 * DefaultStyle.dp)
property bool underline: false property bool underline: false
property bool hasNavigationFocus: enabled && (activeFocus || hovered) property bool hasNavigationFocus: enabled && (activeFocus || hovered)
property bool shadowEnabled: false property bool shadowEnabled: false
@ -33,7 +33,7 @@ Control.Button {
property var hoveredImageColor: style?.image?.pressed || Qt.darker(contentImageColor, 1.05) property var hoveredImageColor: style?.image?.pressed || Qt.darker(contentImageColor, 1.05)
property var pressedImageColor: style?.image?.pressed || Qt.darker(contentImageColor, 1.1) property var pressedImageColor: style?.image?.pressed || Qt.darker(contentImageColor, 1.1)
property bool asynchronous: true property bool asynchronous: true
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
hoverEnabled: enabled hoverEnabled: enabled
activeFocusOnTab: true activeFocusOnTab: true
icon.source: style?.iconSource || "" icon.source: style?.iconSource || ""

View file

@ -14,24 +14,24 @@ ComboBox {
id: contentText id: contentText
text: Qt.formatDate(calendar.selectedDate, "ddd d, MMMM") text: Qt.formatDate(calendar.selectedDate, "ddd d, MMMM")
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: 15 * DefaultStyle.dp anchors.leftMargin: Math.round(15 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Math.min(Math.round(700 * DefaultStyle.dp), 1000)
} }
} }
popup: Control.Popup { popup: Control.Popup {
id: popupItem id: popupItem
y: mainItem.height y: mainItem.height
width: 321 * DefaultStyle.dp width: Math.round(321 * DefaultStyle.dp)
height: 270 * DefaultStyle.dp height: Math.round(270 * DefaultStyle.dp)
closePolicy: Popup.NoAutoClose closePolicy: Popup.NoAutoClose
topPadding: 25 * DefaultStyle.dp topPadding: Math.round(25 * DefaultStyle.dp)
bottomPadding: 24 * DefaultStyle.dp bottomPadding: Math.round(24 * DefaultStyle.dp)
leftPadding: 21 * DefaultStyle.dp leftPadding: Math.round(21 * DefaultStyle.dp)
rightPadding: 19 * DefaultStyle.dp rightPadding: Math.round(19 * DefaultStyle.dp)
onOpened: calendar.forceActiveFocus() onOpened: calendar.forceActiveFocus()
background: Item { background: Item {
anchors.fill: parent anchors.fill: parent
@ -39,7 +39,7 @@ ComboBox {
id: calendarBg id: calendarBg
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
radius: 16 * DefaultStyle.dp radius: Math.round(16 * DefaultStyle.dp)
border.color: DefaultStyle.main1_500_main border.color: DefaultStyle.main1_500_main
border.width: calendar.activeFocus? 1 : 0 border.width: calendar.activeFocus? 1 : 0
} }

View file

@ -7,16 +7,16 @@ Control.CheckBox {
id: mainItem id: mainItem
hoverEnabled: enabled hoverEnabled: enabled
indicator: Item{ indicator: Item{
implicitWidth: 20 * DefaultStyle.dp implicitWidth: Math.round(20 * DefaultStyle.dp)
implicitHeight: 20 * DefaultStyle.dp implicitHeight: Math.round(20 * DefaultStyle.dp)
x: (parent.width - width) / 2 x: (parent.width - width) / 2
y: (parent.height - height) / 2 y: (parent.height - height) / 2
Rectangle { Rectangle {
id: backgroundArea id: backgroundArea
anchors.fill: parent anchors.fill: parent
radius: 3 * DefaultStyle.dp radius: Math.round(3 * DefaultStyle.dp)
border.color: mainItem.hovered || mainItem.activeFocus ? DefaultStyle.main1_600 : DefaultStyle.main1_500_main border.color: mainItem.hovered || mainItem.activeFocus ? DefaultStyle.main1_600 : DefaultStyle.main1_500_main
border.width: 2 * DefaultStyle.dp border.width: Math.round(2 * DefaultStyle.dp)
color: mainItem.checked ? DefaultStyle.main1_500_main : "transparent" color: mainItem.checked ? DefaultStyle.main1_500_main : "transparent"
EffectImage { EffectImage {
visible: mainItem.checked visible: mainItem.checked

View file

@ -11,9 +11,9 @@ Control.ComboBox {
// readonly property string currentText: selectedItemText.text // readonly property string currentText: selectedItemText.text
property alias listView: listView property alias listView: listView
property string constantImageSource property string constantImageSource
property int pixelSize: 14 * DefaultStyle.dp property real pixelSize: Typography.p1.pixelSize
property int weight: 400 * DefaultStyle.dp property real weight: Typography.p1.weight
property int leftMargin: 10 * DefaultStyle.dp property real leftMargin: Math.round(10 * DefaultStyle.dp)
property bool oneLine: false property bool oneLine: false
property bool shadowEnabled: mainItem.activeFocus || mainItem.hovered property bool shadowEnabled: mainItem.activeFocus || mainItem.hovered
property string flagRole// Specific case if flag is shown (special font) property string flagRole// Specific case if flag is shown (special font)
@ -49,7 +49,7 @@ Control.ComboBox {
Rectangle { Rectangle {
id: buttonBackground id: buttonBackground
anchors.fill: parent anchors.fill: parent
radius: 63 * DefaultStyle.dp radius: Math.round(63 * DefaultStyle.dp)
color: mainItem.enabled ? DefaultStyle.grey_100 : DefaultStyle.grey_200 color: mainItem.enabled ? DefaultStyle.grey_100 : DefaultStyle.grey_200
border.color: mainItem.enabled border.color: mainItem.enabled
? mainItem.activeFocus ? mainItem.activeFocus
@ -71,13 +71,13 @@ Control.ComboBox {
} }
contentItem: RowLayout { contentItem: RowLayout {
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
anchors.rightMargin: indicImage.width + 10 * DefaultStyle.dp anchors.rightMargin: indicImage.width + Math.round(10 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
EffectImage { EffectImage {
id: selectedItemImg id: selectedItemImg
Layout.preferredWidth: visible ? 24 * DefaultStyle.dp : 0 Layout.preferredWidth: visible ? Math.round(24 * DefaultStyle.dp) : 0
Layout.preferredHeight: visible ? 24 * DefaultStyle.dp : 0 Layout.preferredHeight: visible ? Math.round(24 * DefaultStyle.dp) : 0
Layout.leftMargin: mainItem.leftMargin Layout.leftMargin: mainItem.leftMargin
imageSource: mainItem.constantImageSource ? mainItem.constantImageSource : "" imageSource: mainItem.constantImageSource ? mainItem.constantImageSource : ""
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
@ -87,7 +87,7 @@ Control.ComboBox {
Text { Text {
id: selectedItemFlag id: selectedItemFlag
Layout.preferredWidth: implicitWidth Layout.preferredWidth: implicitWidth
Layout.leftMargin: selectedItemImg.visible ? 0 : 5 * DefaultStyle.dp Layout.leftMargin: selectedItemImg.visible ? 0 : Math.round(5 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
color: mainItem.enabled ? DefaultStyle.main2_600 : DefaultStyle.grey_400 color: mainItem.enabled ? DefaultStyle.main2_600 : DefaultStyle.grey_400
font { font {
@ -99,8 +99,8 @@ Control.ComboBox {
Text { Text {
id: selectedItemText id: selectedItemText
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: selectedItemImg.visible ? 0 : 5 * DefaultStyle.dp Layout.leftMargin: selectedItemImg.visible ? 0 : Math.round(5 * DefaultStyle.dp)
Layout.rightMargin: 20 * DefaultStyle.dp Layout.rightMargin: Math.round(20 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
color: mainItem.enabled ? DefaultStyle.main2_600 : DefaultStyle.grey_400 color: mainItem.enabled ? DefaultStyle.main2_600 : DefaultStyle.grey_400
elide: Text.ElideRight elide: Text.ElideRight
@ -119,10 +119,10 @@ Control.ComboBox {
id: indicImage id: indicImage
z: 1 z: 1
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
imageSource: AppIcons.downArrow imageSource: AppIcons.downArrow
width: 14 * DefaultStyle.dp width: Math.round(14 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
} }
@ -131,7 +131,7 @@ Control.ComboBox {
y: mainItem.height - 1 y: mainItem.height - 1
width: mainItem.width width: mainItem.width
implicitHeight: Math.min(contentItem.implicitHeight, mainWindow.height) implicitHeight: Math.min(contentItem.implicitHeight, mainWindow.height)
padding: 1 * DefaultStyle.dp padding: Math.max(Math.round(1 * DefaultStyle.dp), 1)
//height: Math.min(implicitHeight, 300) //height: Math.min(implicitHeight, 300)
onOpened: { onOpened: {
@ -151,7 +151,7 @@ Control.ComboBox {
highlight: Rectangle { highlight: Rectangle {
width: listView.width width: listView.width
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
y: listView.currentItem? listView.currentItem.y : 0 y: listView.currentItem? listView.currentItem.y : 0
} }
@ -172,17 +172,17 @@ Control.ComboBox {
anchors.fill: parent anchors.fill: parent
EffectImage { EffectImage {
id: delegateImg id: delegateImg
Layout.preferredWidth: visible ? 20 * DefaultStyle.dp : 0 Layout.preferredWidth: visible ? Math.round(20 * DefaultStyle.dp) : 0
Layout.leftMargin: 10 * DefaultStyle.dp Layout.leftMargin: Math.round(10 * DefaultStyle.dp)
visible: imageSource != "" visible: imageSource != ""
imageWidth: 20 * DefaultStyle.dp imageWidth: Math.round(20 * DefaultStyle.dp)
imageSource: typeof(modelData) != "undefined" && modelData.img ? modelData.img : "" imageSource: typeof(modelData) != "undefined" && modelData.img ? modelData.img : ""
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
} }
Text { Text {
Layout.preferredWidth: implicitWidth Layout.preferredWidth: implicitWidth
Layout.leftMargin: delegateImg.visible ? 0 : 5 * DefaultStyle.dp Layout.leftMargin: delegateImg.visible ? 0 : Math.round(5 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
visible: mainItem.flagRole visible: mainItem.flagRole
font { font {
@ -198,8 +198,8 @@ Control.ComboBox {
} }
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: delegateImg.visible ? 0 : 5 * DefaultStyle.dp Layout.leftMargin: delegateImg.visible ? 0 : Math.round(5 * DefaultStyle.dp)
Layout.rightMargin: 20 * DefaultStyle.dp Layout.rightMargin: Math.round(20 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
text: typeof(modelData) != "undefined" text: typeof(modelData) != "undefined"
? mainItem.textRole ? mainItem.textRole
@ -217,8 +217,8 @@ Control.ComboBox {
wrapMode: Text.WrapAnywhere wrapMode: Text.WrapAnywhere
font { font {
family: DefaultStyle.defaultFont family: DefaultStyle.defaultFont
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
weight: 400 * DefaultStyle.dp weight: Math.min(Math.round(400 * DefaultStyle.dp), 1000)
} }
} }
} }
@ -230,7 +230,7 @@ Control.ComboBox {
Rectangle { Rectangle {
anchors.fill: parent anchors.fill: parent
opacity: 0.1 opacity: 0.1
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
visible: parent.containsMouse visible: parent.containsMouse
} }
@ -248,11 +248,11 @@ Control.ComboBox {
background: Item { background: Item {
implicitWidth: mainItem.width implicitWidth: mainItem.width
implicitHeight: 30 * DefaultStyle.dp implicitHeight: Math.round(30 * DefaultStyle.dp)
Rectangle { Rectangle {
id: cboxBg id: cboxBg
anchors.fill: parent anchors.fill: parent
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
} }
MultiEffect { MultiEffect {
anchors.fill: cboxBg anchors.fill: cboxBg

View file

@ -17,8 +17,8 @@ ColumnLayout {
text: mainItem.label text: mainItem.label
color: combobox.activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_600 color: combobox.activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_600
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p2.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
bold: true bold: true
} }
} }
@ -32,7 +32,7 @@ ColumnLayout {
background: Rectangle { background: Rectangle {
implicitWidth: mainItem.implicitWidth implicitWidth: mainItem.implicitWidth
implicitHeight: mainItem.implicitHeight implicitHeight: mainItem.implicitHeight
radius: 63 * DefaultStyle.dp radius: Math.round(63 * DefaultStyle.dp)
color: mainItem.enableBackgroundColor ? DefaultStyle.grey_100 : "transparent" color: mainItem.enableBackgroundColor ? DefaultStyle.grey_100 : "transparent"
border.color: mainItem.enableBackgroundColors border.color: mainItem.enableBackgroundColors
? (mainItem.errorMessage.length > 0 ? (mainItem.errorMessage.length > 0
@ -45,14 +45,14 @@ ColumnLayout {
contentItem: Item { contentItem: Item {
anchors.fill: parent anchors.fill: parent
readonly property var currentItem: combobox.model.getAt(combobox.currentIndex) readonly property var currentItem: combobox.model.getAt(combobox.currentIndex)
anchors.leftMargin: 15 * DefaultStyle.dp anchors.leftMargin: Math.round(15 * DefaultStyle.dp)
Text { Text {
id: selectedItemFlag id: selectedItemFlag
visible: text.length > 0 visible: text.length > 0
font.pixelSize: 21 * DefaultStyle.dp font.pixelSize: Math.round(21 * DefaultStyle.dp)
text: parent.currentItem ? parent.currentItem.flag : "" text: parent.currentItem ? parent.currentItem.flag : ""
font.family: DefaultStyle.flagFont font.family: DefaultStyle.flagFont
anchors.rightMargin: 5 * DefaultStyle.dp anchors.rightMargin: Math.round(5 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
} }
// Rectangle{ // Rectangle{
@ -60,7 +60,7 @@ ColumnLayout {
// visible: false // visible: false
// layer.enabled: true // layer.enabled: true
// anchors.centerIn: selectedItemFlag // anchors.centerIn: selectedItemFlag
// radius: 600 * DefaultStyle.dp // radius: Math.round(600 * DefaultStyle.dp)
// width: selectedItemFlag.width/2 // width: selectedItemFlag.width/2
// height: selectedItemFlag.height/2 // height: selectedItemFlag.height/2
// } // }
@ -75,7 +75,7 @@ ColumnLayout {
// maskSource: mask // maskSource: mask
// } // }
Text { Text {
leftPadding: 5 * DefaultStyle.dp leftPadding: Math.round(5 * DefaultStyle.dp)
text: parent.currentItem ? "+" + parent.currentItem.countryCallingCode : "" text: parent.currentItem ? "+" + parent.currentItem.countryCallingCode : ""
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
anchors.right: parent.right anchors.right: parent.right
@ -83,8 +83,8 @@ ColumnLayout {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
elide: Text.ElideRight elide: Text.ElideRight
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
} }
@ -99,8 +99,8 @@ ColumnLayout {
popup: Control.Popup { popup: Control.Popup {
id: listPopup id: listPopup
y: combobox.height - 1 y: combobox.height - 1
width: 311 * DefaultStyle.dp width: Math.round(311 * DefaultStyle.dp)
height: 250 * DefaultStyle.dp height: Math.round(250 * DefaultStyle.dp)
contentItem: ListView { contentItem: ListView {
id: listView id: listView
@ -111,14 +111,14 @@ ColumnLayout {
keyNavigationEnabled: true keyNavigationEnabled: true
keyNavigationWraps: true keyNavigationWraps: true
maximumFlickVelocity: 1500 maximumFlickVelocity: 1500
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
highlight: Rectangle { highlight: Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
width: listView.width width: listView.width
height: listView.height height: listView.height
color: DefaultStyle.main2_300 color: DefaultStyle.main2_300
// radius: 15 * DefaultStyle.dp // radius: Math.round(15 * DefaultStyle.dp)
} }
delegate: Item { delegate: Item {
@ -127,7 +127,7 @@ ColumnLayout {
RowLayout { RowLayout {
id: contentLayout id: contentLayout
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: 20 * DefaultStyle.dp anchors.leftMargin: Math.round(20 * DefaultStyle.dp)
spacing: 0 spacing: 0
Text { Text {
@ -135,7 +135,7 @@ ColumnLayout {
visible: text.length > 0 visible: text.length > 0
text: $modelData.flag text: $modelData.flag
font { font {
pixelSize: 28 * DefaultStyle.dp pixelSize: Math.round(28 * DefaultStyle.dp)
family: DefaultStyle.flagFont family: DefaultStyle.flagFont
} }
} }
@ -146,14 +146,14 @@ ColumnLayout {
elide: Text.ElideRight elide: Text.ElideRight
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
Rectangle { Rectangle {
id: separator id: separator
width: 1 * DefaultStyle.dp width: Math.max(Math.round(1 * DefaultStyle.dp), 1)
height: combobox.height / 2 height: combobox.height / 2
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
} }
@ -163,8 +163,8 @@ ColumnLayout {
elide: Text.ElideRight elide: Text.ElideRight
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
Item { Item {
@ -177,7 +177,7 @@ ColumnLayout {
Rectangle { Rectangle {
anchors.fill: parent anchors.fill: parent
opacity: 0.1 opacity: 0.1
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
visible: parent.containsMouse visible: parent.containsMouse
} }
@ -199,7 +199,7 @@ ColumnLayout {
Rectangle { Rectangle {
id: popupBg id: popupBg
anchors.fill: parent anchors.fill: parent
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
} }
MultiEffect { MultiEffect {

View file

@ -8,7 +8,7 @@ MouseArea {
property string iconSource property string iconSource
property string title property string title
property string subTitle property string subTitle
property int iconSize: 32 * DefaultStyle.dp property real iconSize: (32 * DefaultStyle.dp)
property bool shadowEnabled: containsMouse || activeFocus property bool shadowEnabled: containsMouse || activeFocus
hoverEnabled: true hoverEnabled: true
width: content.implicitWidth width: content.implicitWidth
@ -36,7 +36,7 @@ MouseArea {
ColumnLayout { ColumnLayout {
width: implicitWidth width: implicitWidth
height: implicitHeight height: implicitHeight
Layout.leftMargin: 16 * DefaultStyle.dp Layout.leftMargin: (16 * DefaultStyle.dp)
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
text: mainItem.title text: mainItem.title

View file

@ -6,11 +6,11 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Button { Button {
id: mainItem id: mainItem
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
textSize: 14 * DefaultStyle.dp textSize: Typography.p1.pixelSize
textWeight: 400 * DefaultStyle.dp textWeight: Typography.p1.weight
radius: 5 * DefaultStyle.dp radius: Math.round(5 * DefaultStyle.dp)
shadowEnabled: mainItem.activeFocus || hovered shadowEnabled: mainItem.activeFocus || hovered
style: ButtonStyle.hoveredBackground style: ButtonStyle.hoveredBackground

View file

@ -6,16 +6,16 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Button { Button {
id: mainItem id: mainItem
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
textSize: 14 * DefaultStyle.dp textSize: Typography.p1.pixelSize
textWeight: 400 * DefaultStyle.dp textWeight: Typography.p1.weight
radius: 5 * DefaultStyle.dp radius: Math.round(5 * DefaultStyle.dp)
shadowEnabled: mainItem.activeFocus || hovered shadowEnabled: mainItem.activeFocus || hovered
style: ButtonStyle.hoveredBackground style: ButtonStyle.hoveredBackground
contentItem: RowLayout { contentItem: RowLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: mainItem.icon.source imageSource: mainItem.icon.source
imageWidth: mainItem.icon.width imageWidth: mainItem.icon.width

View file

@ -8,10 +8,10 @@ Button {
id: mainItem id: mainItem
textSize: Typography.b2.pixelSize textSize: Typography.b2.pixelSize
textWeight: Typography.b2.weight textWeight: Typography.b2.weight
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
topPadding: 10 * DefaultStyle.dp topPadding: Math.round(10 * DefaultStyle.dp)
bottomPadding: 10 * DefaultStyle.dp bottomPadding: Math.round(10 * DefaultStyle.dp)
icon.width: 16 * DefaultStyle.dp icon.width: Math.round(16 * DefaultStyle.dp)
icon.height: 16 * DefaultStyle.dp icon.height: Math.round(16 * DefaultStyle.dp)
} }

View file

@ -12,17 +12,17 @@ Button {
property color backgroundColor: checked ? pressedColor : hovered ? hoveredColor : color property color backgroundColor: checked ? pressedColor : hovered ? hoveredColor : color
style: ButtonStyle.popupButton style: ButtonStyle.popupButton
checked: popup.visible checked: popup.visible
implicitWidth: 24 * DefaultStyle.dp implicitWidth: Math.round(24 * DefaultStyle.dp)
implicitHeight: 24 * DefaultStyle.dp implicitHeight: Math.round(24 * DefaultStyle.dp)
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
leftPadding: 0 leftPadding: 0
rightPadding: 0 rightPadding: 0
topPadding: 0 topPadding: 0
bottomPadding: 0 bottomPadding: 0
icon.source: AppIcons.verticalDots icon.source: AppIcons.verticalDots
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
function close() { function close() {
popup.close() popup.close()
} }
@ -97,7 +97,7 @@ Button {
id: buttonBackground id: buttonBackground
anchors.fill: parent anchors.fill: parent
color: mainItem.backgroundColor color: mainItem.backgroundColor
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
} }
MultiEffect { MultiEffect {
enabled: mainItem.shadowEnabled enabled: mainItem.shadowEnabled
@ -130,7 +130,7 @@ Button {
visible: false visible: false
closePolicy: Popup.CloseOnPressOutsideParent | Popup.CloseOnPressOutside closePolicy: Popup.CloseOnPressOutsideParent | Popup.CloseOnPressOutside
| Popup.CloseOnEscape | Popup.CloseOnEscape
padding: 10 * DefaultStyle.dp padding: Math.round(10 * DefaultStyle.dp)
parent: mainItem // Explicit define for coordinates references. parent: mainItem // Explicit define for coordinates references.
function updatePosition() { function updatePosition() {
if (!visible) if (!visible)
@ -177,7 +177,7 @@ Button {
id: popupBackground id: popupBackground
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
radius: 16 * DefaultStyle.dp radius: Math.round(16 * DefaultStyle.dp)
} }
MultiEffect { MultiEffect {
source: popupBackground source: popupBackground

View file

@ -11,7 +11,7 @@ Control.RadioButton {
property string imgUrl property string imgUrl
property bool checkOnClick: true property bool checkOnClick: true
property color color property color color
property int indicatorSize: 16 * DefaultStyle.dp property real indicatorSize: Math.round(16 * DefaultStyle.dp)
property bool shadowEnabled: mainItem.activeFocus || mainItem.hovered property bool shadowEnabled: mainItem.activeFocus || mainItem.hovered
//onClicked: if (checkOnClick && !mainItem.checked) mainItem.toggle() //onClicked: if (checkOnClick && !mainItem.checked) mainItem.toggle()
@ -33,7 +33,7 @@ Control.RadioButton {
radius: mainItem.indicatorSize/2 radius: mainItem.indicatorSize/2
color: "transparent" color: "transparent"
border.color: mainItem.color border.color: mainItem.color
border.width: 2 * DefaultStyle.dp border.width: Math.round(2 * DefaultStyle.dp)
Rectangle { Rectangle {
width: parent.width/2 width: parent.width/2
height: parent.height/2 height: parent.height/2

View file

@ -8,13 +8,13 @@ Button {
id: mainItem id: mainItem
textSize: Typography.p1s.pixelSize textSize: Typography.p1s.pixelSize
textWeight: Typography.p1s.weight textWeight: Typography.p1s.weight
topPadding: 16 * DefaultStyle.dp topPadding: Math.round(16 * DefaultStyle.dp)
bottomPadding: 16 * DefaultStyle.dp bottomPadding: Math.round(16 * DefaultStyle.dp)
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
} }

View file

@ -21,18 +21,18 @@ Control.RadioButton {
background: Rectangle { background: Rectangle {
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
border.color: mainItem.checked ? mainItem.color : "transparent" border.color: mainItem.checked ? mainItem.color : "transparent"
radius: 20 * DefaultStyle.dp radius: Math.round(20 * DefaultStyle.dp)
} }
indicator: RowLayout { indicator: RowLayout {
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 13 * DefaultStyle.dp anchors.leftMargin: Math.round(13 * DefaultStyle.dp)
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 8 * DefaultStyle.dp anchors.topMargin: Math.round(8 * DefaultStyle.dp)
spacing: 4 * DefaultStyle.dp spacing: Math.round(4 * DefaultStyle.dp)
Rectangle { Rectangle {
implicitWidth: 16 * DefaultStyle.dp implicitWidth: Math.round(16 * DefaultStyle.dp)
implicitHeight: 16 * DefaultStyle.dp implicitHeight: Math.round(16 * DefaultStyle.dp)
radius: implicitWidth/2 radius: implicitWidth/2
border.color: mainItem.color border.color: mainItem.color
@ -51,7 +51,7 @@ Control.RadioButton {
text: mainItem.title text: mainItem.title
font.bold: true font.bold: true
color: DefaultStyle.grey_900 color: DefaultStyle.grey_900
font.pixelSize: 16 * DefaultStyle.dp font.pixelSize: Math.round(16 * DefaultStyle.dp)
} }
Button { Button {
padding: 0 padding: 0
@ -59,12 +59,12 @@ Control.RadioButton {
visible: false visible: false
} }
icon.source: AppIcons.info icon.source: AppIcons.info
Layout.preferredWidth: 2 * DefaultStyle.dp Layout.preferredWidth: Math.round(2 * DefaultStyle.dp)
Layout.preferredHeight: 2 * DefaultStyle.dp Layout.preferredHeight: Math.round(2 * DefaultStyle.dp)
width: 2 * DefaultStyle.dp width: Math.round(2 * DefaultStyle.dp)
height: 2 * DefaultStyle.dp height: Math.round(2 * DefaultStyle.dp)
icon.width: 2 * DefaultStyle.dp icon.width: Math.round(2 * DefaultStyle.dp)
icon.height: 2 * DefaultStyle.dp icon.height: Math.round(2 * DefaultStyle.dp)
} }
} }
@ -73,27 +73,27 @@ Control.RadioButton {
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.leftMargin: 13 * DefaultStyle.dp anchors.leftMargin: Math.round(13 * DefaultStyle.dp)
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.bottomMargin: 10 * DefaultStyle.dp Layout.bottomMargin: Math.round(10 * DefaultStyle.dp)
Layout.rightMargin: 10 * DefaultStyle.dp Layout.rightMargin: Math.round(10 * DefaultStyle.dp)
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
Text { Text {
id: innerText id: innerText
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
Layout.preferredWidth: 220 * DefaultStyle.dp Layout.preferredWidth: Math.round(220 * DefaultStyle.dp)
Layout.preferredHeight: 100 * DefaultStyle.dp Layout.preferredHeight: Math.round(100 * DefaultStyle.dp)
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
text: mainItem.contentText text: mainItem.contentText
Layout.fillHeight: true Layout.fillHeight: true
} }
Image { Image {
id: image id: image
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: 100 * DefaultStyle.dp Layout.preferredWidth: Math.round(100 * DefaultStyle.dp)
Layout.preferredHeight: 100 * DefaultStyle.dp Layout.preferredHeight: Math.round(100 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
source: mainItem.imgUrl source: mainItem.imgUrl
} }

View file

@ -6,7 +6,7 @@ import 'qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js' as Utils
ComboBox { ComboBox {
id: mainItem id: mainItem
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
property string propertyName property string propertyName
property var propertyOwner property var propertyOwner

View file

@ -11,7 +11,7 @@ RowLayout {
property var propertyOwner property var propertyOwner
property var propertyOwnerGui property var propertyOwnerGui
property bool enabled: true property bool enabled: true
spacing : 20 * DefaultStyle.dp spacing : Math.round(20 * DefaultStyle.dp)
signal checkedChanged(bool checked) signal checkedChanged(bool checked)
function setChecked(value) { function setChecked(value) {
@ -19,8 +19,8 @@ RowLayout {
} }
ColumnLayout { ColumnLayout {
Layout.minimumHeight: 32 * DefaultStyle.dp Layout.minimumHeight: Math.round(32 * DefaultStyle.dp)
spacing: 4 * DefaultStyle.dp spacing: Math.round(4 * DefaultStyle.dp)
Text { Text {
text: titleText text: titleText
font: Typography.p2l font: Typography.p2l

View file

@ -11,14 +11,14 @@ Control.Slider {
background: Item{ background: Item{
x: mainItem.leftPadding x: mainItem.leftPadding
y: mainItem.topPadding + mainItem.availableHeight / 2 - height / 2 y: mainItem.topPadding + mainItem.availableHeight / 2 - height / 2
implicitWidth: 200 * DefaultStyle.dp implicitWidth: Math.round(200 * DefaultStyle.dp)
implicitHeight: 4 * DefaultStyle.dp implicitHeight: Math.round(4 * DefaultStyle.dp)
width: mainItem.availableWidth width: mainItem.availableWidth
height: implicitHeight height: implicitHeight
Rectangle { Rectangle {
id: sliderBackground id: sliderBackground
anchors.fill: parent anchors.fill: parent
radius: 30 * DefaultStyle.dp radius: Math.round(30 * DefaultStyle.dp)
// TODO : change the colors when mockup indicates their names // TODO : change the colors when mockup indicates their names
color: DefaultStyle.grey_850 color: DefaultStyle.grey_850
@ -30,7 +30,7 @@ Control.Slider {
GradientStop { position: 0.0; color: "#FF9E79" } GradientStop { position: 0.0; color: "#FF9E79" }
GradientStop { position: 1.0; color: "#FE5E00" } GradientStop { position: 1.0; color: "#FE5E00" }
} }
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
} }
} }
MultiEffect { MultiEffect {
@ -49,12 +49,12 @@ Control.Slider {
handle: Item { handle: Item {
x: mainItem.leftPadding + mainItem.visualPosition * (mainItem.availableWidth - width) x: mainItem.leftPadding + mainItem.visualPosition * (mainItem.availableWidth - width)
y: mainItem.topPadding + mainItem.availableHeight / 2 - height / 2 y: mainItem.topPadding + mainItem.availableHeight / 2 - height / 2
implicitWidth: 16 * DefaultStyle.dp implicitWidth: Math.round(16 * DefaultStyle.dp)
implicitHeight: 16 * DefaultStyle.dp implicitHeight: Math.round(16 * DefaultStyle.dp)
Rectangle { Rectangle {
id: handleRect id: handleRect
anchors.fill: parent anchors.fill: parent
radius: 30 * DefaultStyle.dp radius: Math.round(30 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
} }
MultiEffect { MultiEffect {

View file

@ -8,10 +8,10 @@ Button {
id: mainItem id: mainItem
textSize: Typography.b3.pixelSize textSize: Typography.b3.pixelSize
textWeight: Typography.b3.weight textWeight: Typography.b3.weight
leftPadding: 12 * DefaultStyle.dp leftPadding: Math.round(12 * DefaultStyle.dp)
rightPadding: 12 * DefaultStyle.dp rightPadding: Math.round(12 * DefaultStyle.dp)
topPadding: 6 * DefaultStyle.dp topPadding: Math.round(6 * DefaultStyle.dp)
bottomPadding: 6 * DefaultStyle.dp bottomPadding: Math.round(6 * DefaultStyle.dp)
icon.height: 14 * DefaultStyle.dp icon.height: Math.round(14 * DefaultStyle.dp)
icon.width: 14 * DefaultStyle.dp icon.width: Math.round(14 * DefaultStyle.dp)
} }

View file

@ -9,27 +9,27 @@ Control.Switch {
property bool shadowEnabled: mainItem.hovered || mainItem.activeFocus property bool shadowEnabled: mainItem.hovered || mainItem.activeFocus
hoverEnabled: true hoverEnabled: true
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
indicator: Item{ indicator: Item{
implicitWidth: 32 * DefaultStyle.dp implicitWidth: Math.round(32 * DefaultStyle.dp)
implicitHeight: 20 * DefaultStyle.dp implicitHeight: Math.round(20 * DefaultStyle.dp)
x: mainItem.leftPadding x: mainItem.leftPadding
y: parent.height / 2 - height / 2 y: parent.height / 2 - height / 2
Rectangle { Rectangle {
id: indicatorBackground id: indicatorBackground
anchors.fill: parent anchors.fill: parent
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
color: mainItem.checked? DefaultStyle.success_500main : DefaultStyle.main2_400 color: mainItem.checked? DefaultStyle.success_500main : DefaultStyle.main2_400
Rectangle { Rectangle {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
property int margin: 4 * DefaultStyle.dp property real margin: Math.round(4 * DefaultStyle.dp)
x: mainItem.checked ? parent.width - width - margin : margin x: mainItem.checked ? parent.width - width - margin : margin
width: 12 * DefaultStyle.dp width: Math.round(12 * DefaultStyle.dp)
height: 12 * DefaultStyle.dp height: Math.round(12 * DefaultStyle.dp)
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
Behavior on x { Behavior on x {
NumberAnimation{duration: 100} NumberAnimation{duration: 100}

View file

@ -33,8 +33,8 @@ Item {
RowLayout{ RowLayout{
anchors.fill: parent anchors.fill: parent
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
Sticker { Sticker {
id: activeSpeakerSticker id: activeSpeakerSticker
Layout.fillWidth: true Layout.fillWidth: true
@ -58,23 +58,23 @@ Item {
ListView{ ListView{
id: sideStickers id: sideStickers
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: 300 * DefaultStyle.dp Layout.preferredWidth: Math.round(300 * DefaultStyle.dp)
Layout.rightMargin: 10 * DefaultStyle.dp Layout.rightMargin: Math.round(10 * DefaultStyle.dp)
Layout.bottomMargin: 10 * DefaultStyle.dp Layout.bottomMargin: Math.round(10 * DefaultStyle.dp)
visible: allDevices.count > 2 || !!mainItem.conference?.core.isScreenSharingEnabled visible: allDevices.count > 2 || !!mainItem.conference?.core.isScreenSharingEnabled
//spacing: 15 * DefaultStyle.dp // bugged? First item has twice margins //spacing: Math.round(15 * DefaultStyle.dp) // bugged? First item has twice margins
model: allDevices model: allDevices
snapMode: ListView.SnapOneItem snapMode: ListView.SnapOneItem
clip: true clip: true
delegate: Item{ // Spacing workaround delegate: Item{ // Spacing workaround
visible: $modelData && mainItem.callState != LinphoneEnums.CallState.End && mainItem.callState != LinphoneEnums.CallState.Released visible: $modelData && mainItem.callState != LinphoneEnums.CallState.End && mainItem.callState != LinphoneEnums.CallState.Released
&& ($modelData.core.address != activeSpeakerAddress || mainItem.conference?.core.isScreenSharingEnabled) || false && ($modelData.core.address != activeSpeakerAddress || mainItem.conference?.core.isScreenSharingEnabled) || false
height: visible ? (180 + 15) * DefaultStyle.dp : 0 height: visible ? Math.round((180 + 15) * DefaultStyle.dp) : 0
width: 300 * DefaultStyle.dp width: Math.round(300 * DefaultStyle.dp)
Sticker { Sticker {
previewEnabled: index == 0 // before anchors for priority initialization previewEnabled: index == 0 // before anchors for priority initialization
anchors.fill: parent anchors.fill: parent
anchors.bottomMargin: 15 * DefaultStyle.dp// Spacing anchors.bottomMargin: Math.round(15 * DefaultStyle.dp)// Spacing
qmlName: 'S_'+index qmlName: 'S_'+index
visible: parent.visible visible: parent.visible
participantDevice: $modelData participantDevice: $modelData
@ -91,12 +91,12 @@ Item {
previewEnabled: true previewEnabled: true
visible: !sideStickers.visible visible: !sideStickers.visible
onVisibleChanged: console.log(visible + " : " +allDevices.count) onVisibleChanged: console.log(visible + " : " +allDevices.count)
height: 180 * DefaultStyle.dp height: Math.round(180 * DefaultStyle.dp)
width: 300 * DefaultStyle.dp width: Math.round(300 * DefaultStyle.dp)
anchors.right: mainItem.right anchors.right: mainItem.right
anchors.bottom: mainItem.bottom anchors.bottom: mainItem.bottom
anchors.rightMargin: 20 * DefaultStyle.dp anchors.rightMargin: Math.round(20 * DefaultStyle.dp)
anchors.bottomMargin: 10 * DefaultStyle.dp anchors.bottomMargin: Math.round(10 * DefaultStyle.dp)
videoEnabled: preview.visible && mainItem.call && mainItem.call.core.localVideoEnabled videoEnabled: preview.visible && mainItem.call && mainItem.call.core.localVideoEnabled
onVideoEnabledChanged: console.log("P : " +videoEnabled + " / " +visible +" / " +mainItem.call) onVideoEnabledChanged: console.log("P : " +videoEnabled + " / " +visible +" / " +mainItem.call)
property var accountObj: UtilsCpp.findLocalAccountByAddress(mainItem.localAddress) property var accountObj: UtilsCpp.findLocalAccountByAddress(mainItem.localAddress)
@ -109,7 +109,7 @@ Item {
id: previewMouseArea id: previewMouseArea
anchors.fill: parent anchors.fill: parent
movableArea: mainItem movableArea: mainItem
margin: 10 * DefaultStyle.dp margin: Math.round(10 * DefaultStyle.dp)
function resetPosition(){ function resetPosition(){
preview.anchors.right = mainItem.right preview.anchors.right = mainItem.right
preview.anchors.bottom = mainItem.bottom preview.anchors.bottom = mainItem.bottom

View file

@ -36,8 +36,8 @@ Mosaic {
if(index < 0) cameraView.enabled = false // this is a delegate destruction. We need to stop camera before Qt change its currentDevice (and then, let CameraView to delete wrong renderer) if(index < 0) cameraView.enabled = false // this is a delegate destruction. We need to stop camera before Qt change its currentDevice (and then, let CameraView to delete wrong renderer)
} }
height: grid.cellHeight - 10 * DefaultStyle.dp height: grid.cellHeight - Math.round(10 * DefaultStyle.dp)
width: grid.cellWidth - 10 * DefaultStyle.dp width: grid.cellWidth - Math.round(10 * DefaultStyle.dp)
Sticker { Sticker {
id: cameraView id: cameraView
previewEnabled: index == 0 previewEnabled: index == 0

View file

@ -9,7 +9,7 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout { ColumnLayout {
id: mainItem id: mainItem
spacing: 30 * DefaultStyle.dp spacing: Math.round(30 * DefaultStyle.dp)
property var callHistoryGui property var callHistoryGui
@ -37,41 +37,41 @@ ColumnLayout {
// property alias image: buttonImg // property alias image: buttonImg
property alias button: button property alias button: button
property string label property string label
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
Button { Button {
id: button id: button
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: 56 * DefaultStyle.dp Layout.preferredWidth: Math.round(56 * DefaultStyle.dp)
Layout.preferredHeight: 56 * DefaultStyle.dp Layout.preferredHeight: Math.round(56 * DefaultStyle.dp)
topPadding: 16 * DefaultStyle.dp topPadding: Math.round(16 * DefaultStyle.dp)
bottomPadding: 16 * DefaultStyle.dp bottomPadding: Math.round(16 * DefaultStyle.dp)
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
contentImageColor: DefaultStyle.main2_600 contentImageColor: DefaultStyle.main2_600
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
style: ButtonStyle.grey style: ButtonStyle.grey
} }
Text { Text {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
text: labelButton.label text: labelButton.label
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
} }
ColumnLayout { ColumnLayout {
spacing: 13 * DefaultStyle.dp spacing: Math.round(13 * DefaultStyle.dp)
Item { Item {
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
Layout.preferredHeight: detailAvatar.height Layout.preferredHeight: detailAvatar.height
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Avatar { Avatar {
id: detailAvatar id: detailAvatar
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
width: 100 * DefaultStyle.dp width: Math.round(100 * DefaultStyle.dp)
height: 100 * DefaultStyle.dp height: Math.round(100 * DefaultStyle.dp)
contact: mainItem.contact || null contact: mainItem.contact || null
isConference: !!mainItem.conferenceInfo isConference: !!mainItem.conferenceInfo
displayNameVal: mainItem.contactName displayNameVal: mainItem.contactName
@ -81,18 +81,18 @@ ColumnLayout {
id: rightButton id: rightButton
anchors.right: parent.right anchors.right: parent.right
anchors.verticalCenter: detailAvatar.verticalCenter anchors.verticalCenter: detailAvatar.verticalCenter
anchors.rightMargin: 20 * DefaultStyle.dp anchors.rightMargin: Math.round(20 * DefaultStyle.dp)
width: 30 * DefaultStyle.dp width: Math.round(30 * DefaultStyle.dp)
height: 30 * DefaultStyle.dp height: Math.round(30 * DefaultStyle.dp)
} }
} }
ColumnLayout { ColumnLayout {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 2 * DefaultStyle.dp spacing: Math.round(2 * DefaultStyle.dp)
Text { Text {
Layout.preferredWidth: implicitWidth Layout.preferredWidth: implicitWidth
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
@ -101,8 +101,8 @@ ColumnLayout {
text: detailAvatar.displayNameVal text: detailAvatar.displayNameVal
maximumLineCount: 1 maximumLineCount: 1
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
@ -115,8 +115,8 @@ ColumnLayout {
elide: Text.ElideMiddle elide: Text.ElideMiddle
maximumLineCount: 1 maximumLineCount: 1
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
@ -141,15 +141,15 @@ ColumnLayout {
? DefaultStyle.danger_500main ? DefaultStyle.danger_500main
: DefaultStyle.main2_500main : DefaultStyle.main2_500main
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
} }
RowLayout { RowLayout {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
spacing: 72 * DefaultStyle.dp spacing: Math.round(72 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: childrenRect.height Layout.preferredHeight: childrenRect.height
MediumButton { MediumButton {
@ -167,10 +167,10 @@ ColumnLayout {
} }
LabelButton { LabelButton {
visible: !mainItem.isConference visible: !mainItem.isConference
width: 56 * DefaultStyle.dp width: Math.round(56 * DefaultStyle.dp)
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
button.icon.width: 24 * DefaultStyle.dp button.icon.width: Math.round(24 * DefaultStyle.dp)
button.icon.height: 24 * DefaultStyle.dp button.icon.height: Math.round(24 * DefaultStyle.dp)
button.icon.source: AppIcons.phone button.icon.source: AppIcons.phone
label: qsTr("Appel") label: qsTr("Appel")
button.onClicked: { button.onClicked: {
@ -180,20 +180,20 @@ ColumnLayout {
} }
LabelButton { LabelButton {
visible: !mainItem.isConference && !SettingsCpp.disableChatFeature visible: !mainItem.isConference && !SettingsCpp.disableChatFeature
width: 56 * DefaultStyle.dp width: Math.round(56 * DefaultStyle.dp)
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
button.icon.width: 24 * DefaultStyle.dp button.icon.width: Math.round(24 * DefaultStyle.dp)
button.icon.height: 24 * DefaultStyle.dp button.icon.height: Math.round(24 * DefaultStyle.dp)
button.icon.source: AppIcons.chatTeardropText button.icon.source: AppIcons.chatTeardropText
label: qsTr("Message") label: qsTr("Message")
button.onClicked: console.debug("[ContactLayout.qml] TODO : open conversation") button.onClicked: console.debug("[ContactLayout.qml] TODO : open conversation")
} }
LabelButton { LabelButton {
visible: !mainItem.isConference && SettingsCpp.videoEnabled visible: !mainItem.isConference && SettingsCpp.videoEnabled
width: 56 * DefaultStyle.dp width: Math.round(56 * DefaultStyle.dp)
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
button.icon.width: 24 * DefaultStyle.dp button.icon.width: Math.round(24 * DefaultStyle.dp)
button.icon.height: 24 * DefaultStyle.dp button.icon.height: Math.round(24 * DefaultStyle.dp)
button.icon.source: AppIcons.videoCamera button.icon.source: AppIcons.videoCamera
label: qsTr("Appel Video") label: qsTr("Appel Video")
button.onClicked: { button.onClicked: {
@ -208,6 +208,6 @@ ColumnLayout {
Layout.fillHeight: true Layout.fillHeight: true
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.topMargin: 30 * DefaultStyle.dp Layout.topMargin: Math.round(30 * DefaultStyle.dp)
} }
} }

View file

@ -49,7 +49,7 @@ Item {
id: callTerminatedText id: callTerminatedText
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 25 * DefaultStyle.dp anchors.topMargin: Math.round(25 * DefaultStyle.dp)
z: 1 z: 1
visible: mainItem.callState === LinphoneEnums.CallState.End || mainItem.callState === LinphoneEnums.CallState.Error || mainItem.callState === LinphoneEnums.CallState.Released visible: mainItem.callState === LinphoneEnums.CallState.End || mainItem.callState === LinphoneEnums.CallState.Error || mainItem.callState === LinphoneEnums.CallState.Released
text: mainItem.conference text: mainItem.conference
@ -61,8 +61,8 @@ Item {
: call && call.core.lastErrorMessage || "" : call && call.core.lastErrorMessage || ""
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 22 * DefaultStyle.dp pixelSize: Math.round(22 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
@ -78,21 +78,21 @@ Item {
id: waitingForOthersComponent id: waitingForOthersComponent
Rectangle { Rectangle {
color: DefaultStyle.grey_600 color: DefaultStyle.grey_600
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
anchors.centerIn: parent anchors.centerIn: parent
spacing: 22 * DefaultStyle.dp spacing: Math.round(22 * DefaultStyle.dp)
width: waitText.implicitWidth width: waitText.implicitWidth
Text { Text {
id: waitText id: waitText
text: qsTr("Waiting for other participants...") text: qsTr("Waiting for other participants...")
Layout.preferredHeight: 67 * DefaultStyle.dp Layout.preferredHeight: Math.round(67 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 30 * DefaultStyle.dp pixelSize: Math.round(30 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
Item { Item {
@ -141,16 +141,16 @@ Item {
// text: qsTr("Waiting for other participants...") // text: qsTr("Waiting for other participants...")
// color: DefaultStyle.frey_0 // color: DefaultStyle.frey_0
// font { // font {
// pixelSize: 30 * DefaultStyle.dp // pixelSize: Math.round(30 * DefaultStyle.dp)
// weight: 300 * DefaultStyle.dp // weight: Math.round(300 * DefaultStyle.dp)
// } // }
// } // }
// Button { // Button {
// text: qsTr("Share invitation") // text: qsTr("Share invitation")
// icon.source: AppIcons.shareNetwork // icon.source: AppIcons.shareNetwork
// color: DefaultStyle.main2_400 // color: DefaultStyle.main2_400
// Layout.preferredWidth: 206 * DefaultStyle.dp // Layout.preferredWidth: Math.round(206 * DefaultStyle.dp)
// Layout.preferredHeight: 47 * DefaultStyle.dp // Layout.preferredHeight: Math.round(47 * DefaultStyle.dp)
// } // }
// } // }

View file

@ -57,7 +57,7 @@ ColumnLayout{
GridView{ GridView{
id: grid id: grid
property int margin: 10 * DefaultStyle.dp property real margin: Math.round(10 * DefaultStyle.dp)
property int itemCount: model.count ? model.count :( model.length ? model.length : 0) property int itemCount: model.count ? model.count :( model.length ? model.length : 0)
property int columns: 1 property int columns: 1
property int rows: 1 property int rows: 1
@ -95,8 +95,8 @@ ColumnLayout{
cellHeight = Math.min(computedWidth, computedHeight) cellHeight = Math.min(computedWidth, computedHeight)
} }
onItemCountChanged: updateLayout() onItemCountChanged: updateLayout()
property int computedWidth: (mainLayout.width - grid.margin ) / columns property real computedWidth: (mainLayout.width - grid.margin ) / columns
property int computedHeight: (mainLayout.height - grid.margin ) / rows property real computedHeight: (mainLayout.height - grid.margin ) / rows
onComputedHeightChanged: Qt.callLater(updateCells) onComputedHeightChanged: Qt.callLater(updateCells)
onComputedWidthChanged: Qt.callLater(updateCells) onComputedWidthChanged: Qt.callLater(updateCells)
cellWidth: Math.min(computedWidth, computedHeight) cellWidth: Math.min(computedWidth, computedHeight)

View file

@ -12,7 +12,7 @@ ColumnLayout {
required property int itemsCount required property int itemsCount
property int currentIndex: carouselStackLayout.currentIndex property int currentIndex: carouselStackLayout.currentIndex
property var currentItem: carouselButton.itemAt(currentIndex) property var currentItem: carouselButton.itemAt(currentIndex)
spacing: 61 * DefaultStyle.dp spacing: Math.round(61 * DefaultStyle.dp)
function goToSlide(index) { function goToSlide(index) {
carouselStackLayout.goToSlideAtIndex(index) carouselStackLayout.goToSlideAtIndex(index)
@ -67,9 +67,9 @@ ColumnLayout {
Item { Item {
Rectangle { Rectangle {
id: currentIndicator id: currentIndicator
width: 13 * DefaultStyle.dp width: Math.round(13 * DefaultStyle.dp)
height: 8 * DefaultStyle.dp height: Math.round(8 * DefaultStyle.dp)
radius: 30 * DefaultStyle.dp radius: Math.round(30 * DefaultStyle.dp)
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
z: 1 z: 1
x: mainItem.currentIndex >= 0 && mainItem.currentItem ? mainItem.currentItem.x - width/2 + mainItem.currentItem.width/2 : 0 x: mainItem.currentIndex >= 0 && mainItem.currentItem ? mainItem.currentItem.x - width/2 + mainItem.currentItem.width/2 : 0
@ -77,21 +77,21 @@ ColumnLayout {
} }
RowLayout { RowLayout {
id: carouselButtonsLayout id: carouselButtonsLayout
spacing: 7.5 * DefaultStyle.dp spacing: Math.round(7.5 * DefaultStyle.dp)
anchors.leftMargin: 2.5 * DefaultStyle.dp anchors.leftMargin: Math.round(2.5 * DefaultStyle.dp)
Repeater { Repeater {
id: carouselButton id: carouselButton
model: mainItem.itemsCount model: mainItem.itemsCount
delegate: Button { delegate: Button {
Layout.preferredWidth: 8 * DefaultStyle.dp Layout.preferredWidth: Math.round(8 * DefaultStyle.dp)
Layout.preferredHeight: 8 * DefaultStyle.dp Layout.preferredHeight: Math.round(8 * DefaultStyle.dp)
topPadding: 0 topPadding: 0
bottomPadding: 0 bottomPadding: 0
leftPadding: 0 leftPadding: 0
rightPadding: 0 rightPadding: 0
background: Rectangle { background: Rectangle {
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
radius: 30 * DefaultStyle.dp radius: Math.round(30 * DefaultStyle.dp)
anchors.fill: parent anchors.fill: parent
} }
onClicked: { onClicked: {

View file

@ -9,7 +9,7 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout { ColumnLayout {
id: mainItem id: mainItem
spacing: 30 * DefaultStyle.dp spacing: Math.round(30 * DefaultStyle.dp)
property FriendGui contact property FriendGui contact
@ -17,31 +17,31 @@ ColumnLayout {
property alias content: detailLayout.data property alias content: detailLayout.data
property alias bannerContent: bannerLayout.data property alias bannerContent: bannerLayout.data
property alias secondLineContent: verticalLayoutSecondLine.data property alias secondLineContent: verticalLayoutSecondLine.data
property int minimumWidthForSwitchintToRowLayout: 756 * DefaultStyle.dp property real minimumWidthForSwitchintToRowLayout: Math.round(756 * DefaultStyle.dp)
property var useVerticalLayout: width < minimumWidthForSwitchintToRowLayout * DefaultStyle.dp property var useVerticalLayout: width < minimumWidthForSwitchintToRowMath.round(Layout * DefaultStyle.dp)
GridLayout { GridLayout {
Layout.leftMargin: 64 * DefaultStyle.dp Layout.leftMargin: Math.round(64 * DefaultStyle.dp)
Layout.rightMargin: 64 * DefaultStyle.dp Layout.rightMargin: Math.round(64 * DefaultStyle.dp)
Layout.topMargin: 56 * DefaultStyle.dp Layout.topMargin: Math.round(56 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
columns: mainItem.useVerticalLayout ? 1 : children.length columns: mainItem.useVerticalLayout ? 1 : children.length
rows: 1 rows: 1
columnSpacing: 49 * DefaultStyle.dp columnSpacing: Math.round(49 * DefaultStyle.dp)
rowSpacing: 27 * DefaultStyle.dp rowSpacing: Math.round(27 * DefaultStyle.dp)
RowLayout { RowLayout {
Layout.preferredWidth: 341 * DefaultStyle.dp Layout.preferredWidth: Math.round(341 * DefaultStyle.dp)
Control.Control { Control.Control {
// Layout.preferredWidth: 734 * DefaultStyle.dp // Layout.preferredWidth: Math.round(734 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
width: 734 * DefaultStyle.dp width: Math.round(734 * DefaultStyle.dp)
height: 100 * DefaultStyle.dp height: Math.round(100 * DefaultStyle.dp)
rightPadding: 21 * DefaultStyle.dp rightPadding: Math.round(21 * DefaultStyle.dp)
background: GradientRectangle { background: GradientRectangle {
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: avatar.width / 2 anchors.leftMargin: avatar.width / 2
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
borderGradient: Gradient { borderGradient: Gradient {
orientation: Gradient.Horizontal orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: DefaultStyle.grey_100 } GradientStop { position: 0.0; color: DefaultStyle.grey_100 }
@ -55,12 +55,12 @@ ColumnLayout {
} }
contentItem: RowLayout { contentItem: RowLayout {
id: bannerLayout id: bannerLayout
spacing: 32 * DefaultStyle.dp spacing: Math.round(32 * DefaultStyle.dp)
Avatar { Avatar {
id: avatar id: avatar
contact: mainItem.contact contact: mainItem.contact
Layout.preferredWidth: 100 * DefaultStyle.dp Layout.preferredWidth: Math.round(100 * DefaultStyle.dp)
Layout.preferredHeight: 100 * DefaultStyle.dp Layout.preferredHeight: Math.round(100 * DefaultStyle.dp)
} }
} }
} }
@ -81,10 +81,10 @@ ColumnLayout {
StackLayout { StackLayout {
id: detailLayout id: detailLayout
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Layout.topMargin: mainItem.useVerticalLayout ? 0 : 30 * DefaultStyle.dp Layout.topMargin: mainItem.useVerticalLayout ? 0 : Math.round(30 * DefaultStyle.dp)
Layout.leftMargin: 64 * DefaultStyle.dp Layout.leftMargin: Math.round(64 * DefaultStyle.dp)
Layout.rightMargin: 64 * DefaultStyle.dp Layout.rightMargin: Math.round(64 * DefaultStyle.dp)
Layout.bottomMargin: 53 * DefaultStyle.dp Layout.bottomMargin: Math.round(53 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
} }

View file

@ -35,7 +35,7 @@ FocusScope{
ColumnLayout { ColumnLayout {
id: layout id: layout
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
@ -50,8 +50,8 @@ FocusScope{
textFormat: Text.RichText textFormat: Text.RichText
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p2.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }

View file

@ -15,7 +15,7 @@ ColumnLayout {
Rectangle { Rectangle {
id: rightPanelHeader id: rightPanelHeader
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
Layout.preferredHeight: 57 * DefaultStyle.dp Layout.preferredHeight: Math.round(57 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
z: 1 z: 1
} }

View file

@ -9,8 +9,8 @@ Control.ScrollBar {
padding: 0 padding: 0
property color color: DefaultStyle.grey_850 property color color: DefaultStyle.grey_850
contentItem: Rectangle { contentItem: Rectangle {
implicitWidth: 6 * DefaultStyle.dp implicitWidth: Math.round(6 * DefaultStyle.dp)
radius: 32 * DefaultStyle.dp radius: Math.round(32 * DefaultStyle.dp)
color: mainItem.color color: mainItem.color
} }
} }

View file

@ -7,23 +7,23 @@ Layout with line separator used in several views
*/ */
ColumnLayout { ColumnLayout {
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
property alias content: contentLayout.data property alias content: contentLayout.data
property alias contentLayout: contentLayout property alias contentLayout: contentLayout
implicitHeight: contentLayout.implicitHeight + 1 * DefaultStyle.dp + spacing implicitHeight: contentLayout.implicitHeight + Math.max(Math.round(1 * DefaultStyle.dp), 1) + spacing
ColumnLayout { ColumnLayout {
id: contentLayout id: contentLayout
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
// width: parent.width // width: parent.width
// Layout.fillWidth: true // Layout.fillWidth: true
// Layout.preferredHeight: childrenRect.height // Layout.preferredHeight: childrenRect.height
// Layout.preferredWidth: parent.width // Layout.preferredWidth: parent.width
// Layout.leftMargin: 8 * DefaultStyle.dp // Layout.leftMargin: Math.round(8 * DefaultStyle.dp)
} }
Rectangle { Rectangle {
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 1 * DefaultStyle.dp Layout.preferredHeight: Math.max(Math.round(1 * DefaultStyle.dp), 1)
width: parent.width width: parent.width
} }
} }

View file

@ -10,9 +10,9 @@ Control.TabBar {
readonly property int originX: count > 0 readonly property int originX: count > 0
? itemAt(0).x ? itemAt(0).x
: 0 : 0
spacing: 40 * DefaultStyle.dp spacing: Math.round(40 * DefaultStyle.dp)
property int pixelSize: 22 * DefaultStyle.dp property real pixelSize: Typography.h3.pixelSize
property int textWeight: 800 * DefaultStyle.dp property real textWeight: Typography.h3.weight
wheelEnabled: true wheelEnabled: true
background: Item { background: Item {
id: tabBarBackground id: tabBarBackground
@ -20,7 +20,7 @@ Control.TabBar {
Rectangle { Rectangle {
id: barBG id: barBG
height: 4 * DefaultStyle.dp height: Math.round(4 * DefaultStyle.dp)
color: DefaultStyle.grey_200 color: DefaultStyle.grey_200
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
width: parent.width width: parent.width
@ -64,7 +64,7 @@ Control.TabBar {
Rectangle { Rectangle {
id: tabBackground id: tabBackground
visible: mainItem.currentIndex === index visible: mainItem.currentIndex === index
height: 5 * DefaultStyle.dp height: Math.round(5 * DefaultStyle.dp)
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.left: parent.left anchors.left: parent.left
@ -93,7 +93,7 @@ Control.TabBar {
elide: Text.ElideRight elide: Text.ElideRight
maximumLineCount: 1 maximumLineCount: 1
text: modelData text: modelData
bottomPadding: 5 * DefaultStyle.dp bottomPadding: Math.round(5 * DefaultStyle.dp)
} }
} }
} }

View file

@ -8,8 +8,8 @@ import SettingsCpp
Control.TabBar { Control.TabBar {
id: mainItem id: mainItem
//spacing: 32 * DefaultStyle.dp //spacing: Math.round(32 * DefaultStyle.dp)
topPadding: 36 * DefaultStyle.dp topPadding: Math.round(36 * DefaultStyle.dp)
property var model property var model
readonly property alias cornerRadius: bottomLeftCorner.radius readonly property alias cornerRadius: bottomLeftCorner.radius
@ -39,8 +39,8 @@ Control.TabBar {
id: unreadNotifications id: unreadNotifications
property int unread: 0 property int unread: 0
visible: unread > 0 visible: unread > 0
width: 15 * DefaultStyle.dp width: Math.round(15 * DefaultStyle.dp)
height: 15 * DefaultStyle.dp height: Math.round(15 * DefaultStyle.dp)
radius: width/2 radius: width/2
color: DefaultStyle.danger_500main color: DefaultStyle.danger_500main
Text{ Text{
@ -50,7 +50,7 @@ Control.TabBar {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
fontSizeMode: Text.Fit fontSizeMode: Text.Fit
font.pixelSize: 15 * DefaultStyle.dp font.pixelSize: Math.round(15 * DefaultStyle.dp)
text: parent.unread > 100 ? '99+' : parent.unread text: parent.unread > 100 ? '99+' : parent.unread
} }
} }
@ -78,7 +78,7 @@ Control.TabBar {
id: bottomLeftCorner id: bottomLeftCorner
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
radius: 25 * DefaultStyle.dp radius: Math.round(25 * DefaultStyle.dp)
} }
Rectangle { Rectangle {
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
@ -101,8 +101,8 @@ Control.TabBar {
id: tabButton id: tabButton
width: mainItem.width width: mainItem.width
height: visible && buttonIcon.isImageReady ? undefined : 0 height: visible && buttonIcon.isImageReady ? undefined : 0
bottomInset: 32 * DefaultStyle.dp bottomInset: Math.round(32 * DefaultStyle.dp)
topInset: 32 * DefaultStyle.dp topInset: Math.round(32 * DefaultStyle.dp)
hoverEnabled: true hoverEnabled: true
visible: modelData?.visible != undefined ? modelData?.visible : true visible: modelData?.visible != undefined ? modelData?.visible : true
UnreadNotification { UnreadNotification {
@ -114,7 +114,7 @@ Control.TabBar {
? defaultAccount.core?.unreadMessageNotifications || -1 ? defaultAccount.core?.unreadMessageNotifications || -1
: 0 : 0
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 15 * DefaultStyle.dp anchors.rightMargin: Math.round(15 * DefaultStyle.dp)
anchors.top: parent.top anchors.top: parent.top
} }
MouseArea { MouseArea {
@ -125,7 +125,7 @@ Control.TabBar {
contentItem: ColumnLayout { contentItem: ColumnLayout {
EffectImage { EffectImage {
id: buttonIcon id: buttonIcon
property int buttonSize: mainItem.currentIndex !== index && tabButton.hovered ? 26 * DefaultStyle.dp : 24 * DefaultStyle.dp property real buttonSize: mainItem.currentIndex !== index && tabButton.hovered ? Math.round(26 * DefaultStyle.dp) : Math.round(24 * DefaultStyle.dp)
imageSource: mainItem.currentIndex === index ? modelData.selectedIcon : modelData.icon imageSource: mainItem.currentIndex === index ? modelData.selectedIcon : modelData.icon
Layout.preferredWidth: buttonSize Layout.preferredWidth: buttonSize
Layout.preferredHeight: buttonSize Layout.preferredHeight: buttonSize
@ -140,19 +140,19 @@ Control.TabBar {
text: modelData.label text: modelData.label
font { font {
weight: mainItem.currentIndex === index weight: mainItem.currentIndex === index
? 800 * DefaultStyle.dp ? Math.round(800 * DefaultStyle.dp)
: tabButton.hovered : tabButton.hovered
? 600 * DefaultStyle.dp ? Math.round(600 * DefaultStyle.dp)
: 400 * DefaultStyle.dp : Math.round(400 * DefaultStyle.dp)
pixelSize: 11 * DefaultStyle.dp pixelSize: Math.round(11 * DefaultStyle.dp)
} }
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: txtMeter.height Layout.preferredHeight: txtMeter.height
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
leftPadding: 3 * DefaultStyle.dp leftPadding: Math.round(3 * DefaultStyle.dp)
rightPadding: 3 * DefaultStyle.dp rightPadding: Math.round(3 * DefaultStyle.dp)
} }
} }
TextMetrics { TextMetrics {
@ -160,7 +160,7 @@ Control.TabBar {
text: modelData.label text: modelData.label
font: buttonText.font font: buttonText.font
Component.onCompleted: { Component.onCompleted: {
font.weight = 800 * DefaultStyle.dp font.weight = Math.round(800 * DefaultStyle.dp)
mainItem.implicitWidth = Math.max(mainItem.implicitWidth, advanceWidth + buttonIcon.buttonSize) mainItem.implicitWidth = Math.max(mainItem.implicitWidth, advanceWidth + buttonIcon.buttonSize)
} }
} }

View file

@ -15,7 +15,7 @@ ListView {
property SearchBar searchBar property SearchBar searchBar
property bool loading: false property bool loading: false
property string searchText: searchBar?.text property string searchText: searchBar?.text
property double busyIndicatorSize: 60 * DefaultStyle.dp property real busyIndicatorSize: Math.round(60 * DefaultStyle.dp)
signal resultsReceived signal resultsReceived
@ -33,14 +33,14 @@ ListView {
onFilterTextChanged: maxDisplayItems = initialDisplayItems onFilterTextChanged: maxDisplayItems = initialDisplayItems
initialDisplayItems: Math.max( initialDisplayItems: Math.max(
20, 20,
2 * mainItem.height / (56 * DefaultStyle.dp)) 2 * mainItem.height / (Math.round(56 * DefaultStyle.dp)))
displayItemsStep: 3 * initialDisplayItems / 2 displayItemsStep: 3 * initialDisplayItems / 2
onModelReset: { onModelReset: {
mainItem.resultsReceived() mainItem.resultsReceived()
} }
} }
flickDeceleration: 10000 flickDeceleration: 10000
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
Keys.onPressed: event => { Keys.onPressed: event => {
if (event.key == Qt.Key_Escape) { if (event.key == Qt.Key_Escape) {
@ -123,12 +123,12 @@ ListView {
property int lastMouseContainsIndex: -1 property int lastMouseContainsIndex: -1
delegate: FocusScope { delegate: FocusScope {
width: mainItem.width width: mainItem.width
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
RowLayout { RowLayout {
z: 1 z: 1
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
Avatar { Avatar {
id: historyAvatar id: historyAvatar
property var contactObj: UtilsCpp.findFriendByAddress( property var contactObj: UtilsCpp.findFriendByAddress(
@ -136,8 +136,8 @@ ListView {
contact: contactObj?.value || null contact: contactObj?.value || null
displayNameVal: modelData.core.displayName displayNameVal: modelData.core.displayName
secured: securityLevel === LinphoneEnums.SecurityLevel.EndToEndEncryptedAndVerified secured: securityLevel === LinphoneEnums.SecurityLevel.EndToEndEncryptedAndVerified
width: 45 * DefaultStyle.dp width: Math.round(45 * DefaultStyle.dp)
height: 45 * DefaultStyle.dp height: Math.round(45 * DefaultStyle.dp)
isConference: modelData.core.isConference isConference: modelData.core.isConference
shadowEnabled: false shadowEnabled: false
asynchronous: false asynchronous: false
@ -145,20 +145,20 @@ ListView {
ColumnLayout { ColumnLayout {
Layout.fillHeight: true Layout.fillHeight: true
Layout.fillWidth: true Layout.fillWidth: true
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Text { Text {
id: friendAddress id: friendAddress
Layout.fillWidth: true Layout.fillWidth: true
maximumLineCount: 1 maximumLineCount: 1
text: historyAvatar.displayNameVal text: historyAvatar.displayNameVal
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
RowLayout { RowLayout {
spacing: 6 * DefaultStyle.dp spacing: Math.round(6 * DefaultStyle.dp)
EffectImage { EffectImage {
id: statusIcon id: statusIcon
imageSource: modelData.core.status === LinphoneEnums.CallStatus.Declined imageSource: modelData.core.status === LinphoneEnums.CallStatus.Declined
@ -175,8 +175,8 @@ ListView {
|| modelData.core.status || modelData.core.status
=== LinphoneEnums.CallStatus.EarlyAborted === LinphoneEnums.CallStatus.EarlyAborted
|| modelData.core.status === LinphoneEnums.CallStatus.Missed ? DefaultStyle.danger_500main : modelData.core.isOutgoing ? DefaultStyle.info_500_main : DefaultStyle.success_500main || modelData.core.status === LinphoneEnums.CallStatus.Missed ? DefaultStyle.danger_500main : modelData.core.isOutgoing ? DefaultStyle.info_500_main : DefaultStyle.success_500main
Layout.preferredWidth: 12 * DefaultStyle.dp Layout.preferredWidth: Math.round(12 * DefaultStyle.dp)
Layout.preferredHeight: 12 * DefaultStyle.dp Layout.preferredHeight: Math.round(12 * DefaultStyle.dp)
transform: Rotation { transform: Rotation {
angle: modelData.core.isOutgoing angle: modelData.core.isOutgoing
&& (modelData.core.status === LinphoneEnums.CallStatus.Declined && (modelData.core.status === LinphoneEnums.CallStatus.Declined
@ -195,8 +195,8 @@ ListView {
// text: modelData.core.date // text: modelData.core.date
text: UtilsCpp.formatDate(modelData.core.date) text: UtilsCpp.formatDate(modelData.core.date)
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
@ -232,7 +232,7 @@ ListView {
Rectangle { Rectangle {
anchors.fill: parent anchors.fill: parent
opacity: 0.7 opacity: 0.7
radius: 8 * DefaultStyle.dp radius: Math.round(8 * DefaultStyle.dp)
color: mainItem.currentIndex color: mainItem.currentIndex
=== index ? DefaultStyle.main2_200 : DefaultStyle.main2_100 === index ? DefaultStyle.main2_200 : DefaultStyle.main2_100
visible: mainItem.lastMouseContainsIndex === index visible: mainItem.lastMouseContainsIndex === index

View file

@ -14,7 +14,7 @@ ListView {
sourceModel: AppCpp.calls sourceModel: AppCpp.calls
} }
implicitHeight: contentHeight implicitHeight: contentHeight
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
clip: true clip: true
onCountChanged: forceLayout() onCountChanged: forceLayout()
@ -24,13 +24,13 @@ ListView {
property string currentRemoteAddress: callProxy.currentCall ? callProxy.currentCall.core.remoteAddress : "" property string currentRemoteAddress: callProxy.currentCall ? callProxy.currentCall.core.remoteAddress : ""
delegate: RowLayout { delegate: RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
width: mainItem.width width: mainItem.width
height: 45 * DefaultStyle.dp height: Math.round(45 * DefaultStyle.dp)
Avatar { Avatar {
id: delegateAvatar id: delegateAvatar
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
_address: modelData.core.remoteAddress _address: modelData.core.remoteAddress
isConference: modelData.core.isConference isConference: modelData.core.isConference
shadowEnabled: false shadowEnabled: false
@ -43,29 +43,29 @@ ListView {
text: modelData.core.isConference text: modelData.core.isConference
? modelData.core.conference.core.subject ? modelData.core.conference.core.subject
: remoteNameObj ? remoteNameObj.value : "" : remoteNameObj ? remoteNameObj.value : ""
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
maximumLineCount: 1 maximumLineCount: 1
} }
Text { Text {
id: callStateText id: callStateText
property string type: modelData.core.isConference ? qsTr('Réunion') : qsTr('Appel') property string type: modelData.core.isConference ? qsTr('Réunion') : qsTr('Appel')
Layout.rightMargin: 2 * DefaultStyle.dp Layout.rightMargin: Math.round(2 * DefaultStyle.dp)
text: modelData.core.state === LinphoneEnums.CallState.Paused text: modelData.core.state === LinphoneEnums.CallState.Paused
|| modelData.core.state === LinphoneEnums.CallState.PausedByRemote || modelData.core.state === LinphoneEnums.CallState.PausedByRemote
? type + qsTr(" en pause") ? type + qsTr(" en pause")
: type + qsTr(" en cours") : type + qsTr(" en cours")
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
Item{Layout.fillWidth: true} Item{Layout.fillWidth: true}
Button { Button {
id: transferButton id: transferButton
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
visible: mainItem.isTransferList && mainItem.currentRemoteAddress !== modelData.core.remoteAddress visible: mainItem.isTransferList && mainItem.currentRemoteAddress !== modelData.core.remoteAddress
icon.source: AppIcons.transferCall icon.source: AppIcons.transferCall
@ -77,21 +77,21 @@ ListView {
Button { Button {
id: pausingButton id: pausingButton
enabled: !(modelData.core.state === LinphoneEnums.CallState.PausedByRemote) enabled: !(modelData.core.state === LinphoneEnums.CallState.PausedByRemote)
Layout.preferredWidth: 28 * DefaultStyle.dp Layout.preferredWidth: Math.round(28 * DefaultStyle.dp)
Layout.preferredHeight: 28 * DefaultStyle.dp Layout.preferredHeight: Math.round(28 * DefaultStyle.dp)
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
leftPadding: 5 * DefaultStyle.dp leftPadding: Math.round(5 * DefaultStyle.dp)
rightPadding: 5 * DefaultStyle.dp rightPadding: Math.round(5 * DefaultStyle.dp)
topPadding: 5 * DefaultStyle.dp topPadding: Math.round(5 * DefaultStyle.dp)
bottomPadding: 5 * DefaultStyle.dp bottomPadding: Math.round(5 * DefaultStyle.dp)
property bool pausedByUser: modelData.core.state === LinphoneEnums.CallState.Paused property bool pausedByUser: modelData.core.state === LinphoneEnums.CallState.Paused
color: pausedByUser ? DefaultStyle.success_500main : DefaultStyle.grey_500 color: pausedByUser ? DefaultStyle.success_500main : DefaultStyle.grey_500
contentImageColor: DefaultStyle.grey_0 contentImageColor: DefaultStyle.grey_0
KeyNavigation.right: endCallButton KeyNavigation.right: endCallButton
KeyNavigation.left: endCallButton KeyNavigation.left: endCallButton
icon.source: pausedByUser ? AppIcons.play : AppIcons.pause icon.source: pausedByUser ? AppIcons.play : AppIcons.pause
icon.width: 18 * DefaultStyle.dp icon.width: Math.round(18 * DefaultStyle.dp)
icon.height: 18 * DefaultStyle.dp icon.height: Math.round(18 * DefaultStyle.dp)
onClicked: modelData.core.lSetPaused(!modelData.core.paused) onClicked: modelData.core.lSetPaused(!modelData.core.paused)
TextMetrics { TextMetrics {
id: pauseMeter id: pauseMeter
@ -101,14 +101,14 @@ ListView {
} }
SmallButton { SmallButton {
id: endCallButton id: endCallButton
Layout.preferredWidth: 38 * DefaultStyle.dp Layout.preferredWidth: Math.round(38 * DefaultStyle.dp)
Layout.preferredHeight: 28 * DefaultStyle.dp Layout.preferredHeight: Math.round(28 * DefaultStyle.dp)
style: ButtonStyle.phoneRed style: ButtonStyle.phoneRed
KeyNavigation.left: pausingButton KeyNavigation.left: pausingButton
KeyNavigation.right: pausingButton KeyNavigation.right: pausingButton
contentImageColor: DefaultStyle.grey_0 contentImageColor: DefaultStyle.grey_0
icon.width: 18 * DefaultStyle.dp icon.width: Math.round(18 * DefaultStyle.dp)
icon.height: 18 * DefaultStyle.dp icon.height: Math.round(18 * DefaultStyle.dp)
onClicked: { onClicked: {
mainWindow.callTerminatedByUser = true mainWindow.callTerminatedByUser = true
mainWindow.endCall(modelData) mainWindow.endCall(modelData)

View file

@ -8,63 +8,63 @@ ColumnLayout {
id: mainItem id: mainItem
property var call property var call
property string objectName: "statsPanel" property string objectName: "statsPanel"
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
RoundedPane { RoundedPane {
Layout.fillWidth: true Layout.fillWidth: true
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
topPadding: 13 * DefaultStyle.dp topPadding: Math.round(13 * DefaultStyle.dp)
bottomPadding: 13 * DefaultStyle.dp bottomPadding: Math.round(13 * DefaultStyle.dp)
Layout.topMargin: 13 * DefaultStyle.dp Layout.topMargin: Math.round(13 * DefaultStyle.dp)
Layout.leftMargin: 16 * DefaultStyle.dp Layout.leftMargin: Math.round(16 * DefaultStyle.dp)
Layout.rightMargin: 16 * DefaultStyle.dp Layout.rightMargin: Math.round(16 * DefaultStyle.dp)
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Text { Text {
text: qsTr("Audio") text: qsTr("Audio")
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }
ColumnLayout { ColumnLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Text { Text {
text: mainItem.call ? mainItem.call.core.audioStats.codec : "" text: mainItem.call ? mainItem.call.core.audioStats.codec : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.audioStats.bandwidth : "" text: mainItem.call ? mainItem.call.core.audioStats.bandwidth : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.audioStats.lossRate : "" text: mainItem.call ? mainItem.call.core.audioStats.lossRate : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.audioStats.jitterBufferSize : "" text: mainItem.call ? mainItem.call.core.audioStats.jitterBufferSize : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
@ -72,68 +72,68 @@ ColumnLayout {
} }
RoundedPane { RoundedPane {
Layout.fillWidth: true Layout.fillWidth: true
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
topPadding: 13 * DefaultStyle.dp topPadding: Math.round(13 * DefaultStyle.dp)
bottomPadding: 13 * DefaultStyle.dp bottomPadding: Math.round(13 * DefaultStyle.dp)
Layout.leftMargin: 16 * DefaultStyle.dp Layout.leftMargin: Math.round(16 * DefaultStyle.dp)
Layout.rightMargin: 16 * DefaultStyle.dp Layout.rightMargin: Math.round(16 * DefaultStyle.dp)
visible: mainItem.call?.core.localVideoEnabled || mainItem.call?.core.remoteVideoEnabled || false visible: mainItem.call?.core.localVideoEnabled || mainItem.call?.core.remoteVideoEnabled || false
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Text { Text {
text: qsTr("Vidéo") text: qsTr("Vidéo")
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }
ColumnLayout { ColumnLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Text { Text {
text: mainItem.call ? mainItem.call.core.videoStats.codec : "" text: mainItem.call ? mainItem.call.core.videoStats.codec : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.videoStats.bandwidth : "" text: mainItem.call ? mainItem.call.core.videoStats.bandwidth : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.videoStats.lossRate : "" text: mainItem.call ? mainItem.call.core.videoStats.lossRate : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.videoStats.resolution : "" text: mainItem.call ? mainItem.call.core.videoStats.resolution : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: mainItem.call ? mainItem.call.core.videoStats.fps : "" text: mainItem.call ? mainItem.call.core.videoStats.fps : ""
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }

View file

@ -45,12 +45,12 @@ Flickable {
property bool haveFavorites: false property bool haveFavorites: false
property bool haveContacts: count > 0 property bool haveContacts: count > 0
property int sectionsPixelSize: 16 * DefaultStyle.dp property real sectionsPixelSize: Typography.h4.pixelSize
property int sectionsWeight: 800 * DefaultStyle.dp property real sectionsWeight: Typography.h4.weight
property int sectionsSpacing: 18 * DefaultStyle.dp property real sectionsSpacing: Math.round(18 * DefaultStyle.dp)
property int busyIndicatorSize: 40 * DefaultStyle.dp property real busyIndicatorSize: Math.round(40 * DefaultStyle.dp)
property int itemsRightMargin: 39 * DefaultStyle.dp property real itemsRightMargin: Math.round(39 * DefaultStyle.dp)
property int count: contactsList.count + suggestionsList.count + favoritesList.count property int count: contactsList.count + suggestionsList.count + favoritesList.count
contentHeight: contentsLayout.height contentHeight: contentsLayout.height
@ -235,7 +235,7 @@ Flickable {
Control.ScrollBar.vertical: ScrollBar { Control.ScrollBar.vertical: ScrollBar {
id: scrollbar id: scrollbar
z: 1 z: 1
topPadding: 24 * DefaultStyle.dp // Avoid to be on top of collapse button topPadding: Math.round(24 * DefaultStyle.dp) // Avoid to be on top of collapse button
active: true active: true
interactive: true interactive: true
visible: mainItem.contentHeight > mainItem.height visible: mainItem.contentHeight > mainItem.height
@ -245,7 +245,7 @@ Flickable {
ColumnLayout { ColumnLayout {
id: contentsLayout id: contentsLayout
width: mainItem.width width: mainItem.width
spacing: 0 //20 * DefaultStyle.dp spacing: 0 //Math.round(20 * DefaultStyle.dp)
BusyIndicator { BusyIndicator {
id: busyIndicator id: busyIndicator
@ -307,7 +307,7 @@ Flickable {
visible: contentHeight > 0 visible: contentHeight > 0
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: implicitHeight Layout.preferredHeight: implicitHeight
Layout.topMargin: favoritesList.height > 0 ? 4 * DefaultStyle.dp : 0 Layout.topMargin: favoritesList.height > 0 ? Math.round(4 * DefaultStyle.dp) : 0
interactive: false interactive: false
highlightText: mainItem.highlightText highlightText: mainItem.highlightText
showActions: mainItem.showActions showActions: mainItem.showActions
@ -346,7 +346,7 @@ Flickable {
|| SettingsCpp.syncLdapContacts ? MagicSearchProxy.FilteringTypes.Ldap | MagicSearchProxy.FilteringTypes.CardDAV : 0) || SettingsCpp.syncLdapContacts ? MagicSearchProxy.FilteringTypes.Ldap | MagicSearchProxy.FilteringTypes.CardDAV : 0)
initialDisplayItems: Math.max( initialDisplayItems: Math.max(
20, 20,
2 * mainItem.height / (63 * DefaultStyle.dp)) 2 * mainItem.height / (Math.round(63 * DefaultStyle.dp)))
displayItemsStep: 3 * initialDisplayItems / 2 displayItemsStep: 3 * initialDisplayItems / 2
onLocalFriendCreated: index => { onLocalFriendCreated: index => {
contactsList.selectIndex(index) contactsList.selectIndex(index)
@ -359,7 +359,7 @@ Flickable {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: implicitHeight Layout.preferredHeight: implicitHeight
Layout.topMargin: contactsList.height + favoritesList.height Layout.topMargin: contactsList.height + favoritesList.height
> 0 ? 4 * DefaultStyle.dp : 0 > 0 ? Math.round(4 * DefaultStyle.dp) : 0
interactive: false interactive: false
showInitials: false showInitials: false
highlightText: mainItem.highlightText highlightText: mainItem.highlightText
@ -396,7 +396,7 @@ Flickable {
&& contactsList.expanded ? 0 : Math.max( && contactsList.expanded ? 0 : Math.max(
20, 20,
2 * mainItem.height 2 * mainItem.height
/ (63 * DefaultStyle.dp)) / (Math.round(63 * DefaultStyle.dp)))
onInitialDisplayItemsChanged: maxDisplayItems = initialDisplayItems onInitialDisplayItemsChanged: maxDisplayItems = initialDisplayItems
displayItemsStep: 3 * initialDisplayItems / 2 displayItemsStep: 3 * initialDisplayItems / 2
onModelReset: maxDisplayItems = initialDisplayItems onModelReset: maxDisplayItems = initialDisplayItems

View file

@ -95,7 +95,7 @@ Loader{
z: 1 z: 1
color: "transparent" color: "transparent"
border { border {
width: 2 * DefaultStyle.dp width: Math.round(2 * DefaultStyle.dp)
color: mainItem.secured ? DefaultStyle.info_500_main : DefaultStyle.danger_500main color: mainItem.secured ? DefaultStyle.info_500_main : DefaultStyle.danger_500main
} }
EffectImage { EffectImage {
@ -136,7 +136,7 @@ Loader{
: DefaultStyle.main2_500main : DefaultStyle.main2_500main
: "transparent" : "transparent"
border { border {
width: 2 * DefaultStyle.dp width: Math.round(2 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
} }
} }
@ -162,7 +162,7 @@ Loader{
text: initialItem.initials text: initialItem.initials
font { font {
pixelSize: initialItem.height * 36 / 120 pixelSize: initialItem.height * 36 / 120
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
capitalization: Font.AllUppercase capitalization: Font.AllUppercase
} }
} }

View file

@ -11,7 +11,7 @@ import SettingsCpp
Control.Control{ Control.Control{
id: mainItem id: mainItem
padding: 10 * DefaultStyle.dp padding: Math.round(10 * DefaultStyle.dp)
property AccountGui account property AccountGui account
property color backgroundColor: DefaultStyle.grey_0 property color backgroundColor: DefaultStyle.grey_0
@ -20,7 +20,7 @@ Control.Control{
signal edit() signal edit()
background: Rectangle { background: Rectangle {
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
color: mainItem.backgroundColor color: mainItem.backgroundColor
MouseArea{ MouseArea{
id: mouseArea id: mouseArea
@ -31,11 +31,11 @@ Control.Control{
contentItem: RowLayout{ contentItem: RowLayout{
spacing: 0 spacing: 0
RowLayout { RowLayout {
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
Avatar{ Avatar{
id: avatar id: avatar
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
account: mainItem.account account: mainItem.account
MouseArea{ MouseArea{
anchors.fill: parent anchors.fill: parent
@ -43,9 +43,9 @@ Control.Control{
} }
} }
Item { Item {
Layout.preferredWidth: 200 * DefaultStyle.dp Layout.preferredWidth: Math.round(200 * DefaultStyle.dp)
Layout.fillHeight: true Layout.fillHeight: true
Layout.rightMargin: 10 * DefaultStyle.dp Layout.rightMargin: Math.round(10 * DefaultStyle.dp)
ContactDescription{ ContactDescription{
id: description id: description
anchors.fill: parent anchors.fill: parent
@ -55,18 +55,18 @@ Control.Control{
} }
Control.Control { Control.Control {
id: registrationStatusItem id: registrationStatusItem
Layout.minimumWidth: 49 * DefaultStyle.dp Layout.minimumWidth: Math.round(49 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
topPadding: 4 * DefaultStyle.dp topPadding: Math.round(4 * DefaultStyle.dp)
bottomPadding: 4 * DefaultStyle.dp bottomPadding: Math.round(4 * DefaultStyle.dp)
leftPadding: 8 * DefaultStyle.dp leftPadding: Math.round(8 * DefaultStyle.dp)
rightPadding: 8 * DefaultStyle.dp rightPadding: Math.round(8 * DefaultStyle.dp)
Layout.preferredWidth: text.implicitWidth + (2 * 8 * DefaultStyle.dp) Layout.preferredWidth: text.implicitWidth + (2 * Math.round(8 * DefaultStyle.dp))
background: Rectangle{ background: Rectangle{
id: registrationStatus id: registrationStatus
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
radius: 90 * DefaultStyle.dp radius: Math.round(90 * DefaultStyle.dp)
} }
contentItem: Text { contentItem: Text {
id: text id: text
@ -88,8 +88,8 @@ Control.Control{
// repeat: true // repeat: true
// onTriggered: text.mode = (++text.mode) % 4 // onTriggered: text.mode = (++text.mode) % 4
// } // }
font.weight: 300 * DefaultStyle.dp font.weight: Math.round(300 * DefaultStyle.dp)
font.pixelSize: 12 * DefaultStyle.dp font.pixelSize: Math.round(12 * DefaultStyle.dp)
color: mode == 0 color: mode == 0
? DefaultStyle.success_500main ? DefaultStyle.success_500main
: mode == 1 : mode == 1
@ -107,31 +107,31 @@ Control.Control{
} }
} }
Item{ Item{
Layout.preferredWidth: 26 * DefaultStyle.dp Layout.preferredWidth: Math.round(26 * DefaultStyle.dp)
Layout.preferredHeight: 26 * DefaultStyle.dp Layout.preferredHeight: Math.round(26 * DefaultStyle.dp)
Layout.fillHeight: true Layout.fillHeight: true
Layout.leftMargin: 40 * DefaultStyle.dp Layout.leftMargin: Math.round(40 * DefaultStyle.dp)
visible: mainItem.account.core.unreadCallNotifications > 0 visible: mainItem.account.core.unreadCallNotifications > 0
Rectangle{ Rectangle{
id: unreadNotifications id: unreadNotifications
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
width: 26 * DefaultStyle.dp width: Math.round(26 * DefaultStyle.dp)
height: 26 * DefaultStyle.dp height: Math.round(26 * DefaultStyle.dp)
radius: width/2 radius: width/2
color: DefaultStyle.danger_500main color: DefaultStyle.danger_500main
border.color: DefaultStyle.grey_0 border.color: DefaultStyle.grey_0
border.width: 2 * DefaultStyle.dp border.width: Math.round(2 * DefaultStyle.dp)
Text{ Text{
id: unreadCount id: unreadCount
anchors.fill: parent anchors.fill: parent
anchors.margins: 2 * DefaultStyle.dp anchors.margins: Math.round(2 * DefaultStyle.dp)
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
minimumPixelSize: 5 minimumPixelSize: 5
fontSizeMode: Text.Fit fontSizeMode: Text.Fit
font.pixelSize: 11 * DefaultStyle.dp font.pixelSize: Math.round(11 * DefaultStyle.dp)
font.weight: 700 * DefaultStyle.dp font.weight: Math.round(700 * DefaultStyle.dp)
text: mainItem.account.core.unreadCallNotifications >= 100 ? '99+' : mainItem.account.core.unreadCallNotifications text: mainItem.account.core.unreadCallNotifications >= 100 ? '99+' : mainItem.account.core.unreadCallNotifications
} }
} }
@ -144,10 +144,10 @@ Control.Control{
} }
} }
Voicemail { Voicemail {
Layout.leftMargin: 18 * DefaultStyle.dp Layout.leftMargin: Math.round(18 * DefaultStyle.dp)
Layout.rightMargin: 20 * DefaultStyle.dp Layout.rightMargin: Math.round(20 * DefaultStyle.dp)
Layout.preferredWidth: 30 * DefaultStyle.dp Layout.preferredWidth: Math.round(30 * DefaultStyle.dp)
Layout.preferredHeight: 26 * DefaultStyle.dp Layout.preferredHeight: Math.round(26 * DefaultStyle.dp)
scaleFactor: 0.7 scaleFactor: 0.7
showMwi: mainItem.account.core.showMwi showMwi: mainItem.account.core.showMwi
visible: mainItem.account.core.voicemailAddress.length > 0 || mainItem.account.core.showMwi visible: mainItem.account.core.voicemailAddress.length > 0 || mainItem.account.core.showMwi
@ -163,11 +163,11 @@ Control.Control{
EffectImage { EffectImage {
id: manageAccount id: manageAccount
imageSource: AppIcons.manageProfile imageSource: AppIcons.manageProfile
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
visible: !SettingsCpp.hideAccountSettings visible: !SettingsCpp.hideAccountSettings
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
colorizationColor: DefaultStyle.main2_500main colorizationColor: DefaultStyle.main2_500main
MouseArea{ MouseArea{

View file

@ -10,7 +10,7 @@ import "qrc:/qt/qml/Linphone/view/Style/buttonStyle.js" as ButtonStyle
FocusScope { FocusScope {
id: mainItem id: mainItem
implicitHeight: visible ? 56 * DefaultStyle.dp : 0 implicitHeight: visible ? Math.round(56 * DefaultStyle.dp) : 0
property var searchResultItem property var searchResultItem
property bool showInitials: true // Display Initials of Display name. property bool showInitials: true // Display Initials of Display name.
property bool showDefaultAddress: true // Display address below display name. property bool showDefaultAddress: true // Display address below display name.
@ -30,7 +30,7 @@ FocusScope {
property var previousInitial property var previousInitial
// Use directly previous initial // Use directly previous initial
property int itemsRightMargin: 39 * DefaultStyle.dp property real itemsRightMargin: Math.round(39 * DefaultStyle.dp)
property var displayName: searchResultItem.core.fullName property var displayName: searchResultItem.core.fullName
property string initial: displayName ? displayName[0].toLocaleLowerCase( property string initial: displayName ? displayName[0].toLocaleLowerCase(
@ -45,15 +45,15 @@ FocusScope {
anchors.left: parent.left anchors.left: parent.left
visible: mainItem.showInitials visible: mainItem.showInitials
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 15 * DefaultStyle.dp anchors.rightMargin: Math.round(15 * DefaultStyle.dp)
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
width: 20 * DefaultStyle.dp width: Math.round(20 * DefaultStyle.dp)
opacity: previousInitial != mainItem.initial ? 1 : 0 opacity: previousInitial != mainItem.initial ? 1 : 0
text: mainItem.initial text: mainItem.initial
color: DefaultStyle.main2_400 color: DefaultStyle.main2_400
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
capitalization: Font.AllUppercase capitalization: Font.AllUppercase
} }
} }
@ -64,12 +64,12 @@ FocusScope {
anchors.rightMargin: mainItem.itemsRightMargin anchors.rightMargin: mainItem.itemsRightMargin
anchors.top: parent.top anchors.top: parent.top
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
z: 1 z: 1
Avatar { Avatar {
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
Layout.leftMargin: 5 * DefaultStyle.dp Layout.leftMargin: Math.round(5 * DefaultStyle.dp)
contact: searchResultItem contact: searchResultItem
shadowEnabled: false shadowEnabled: false
} }
@ -79,17 +79,15 @@ FocusScope {
text: UtilsCpp.boldTextPart(mainItem.displayName, text: UtilsCpp.boldTextPart(mainItem.displayName,
mainItem.highlightText) mainItem.highlightText)
font { font {
pixelSize: mainItem.showDefaultAddress ? 16 * DefaultStyle.dp : 14 pixelSize: mainItem.showDefaultAddress ? Typography.h4.pixelSize : Typography.p1.pixelSize
* DefaultStyle.dp
capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase
weight: mainItem.showDefaultAddress ? 800 * DefaultStyle.dp : 400 weight: mainItem.showDefaultAddress ? Typography.h4.weight : Typography.p1.weight
* DefaultStyle.dp
} }
maximumLineCount: 1 maximumLineCount: 1
Layout.fillWidth: true Layout.fillWidth: true
} }
Text { Text {
Layout.topMargin: 2 * DefaultStyle.dp Layout.topMargin: Math.round(2 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
visible: mainItem.showDefaultAddress visible: mainItem.showDefaultAddress
property string address: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(searchResultItem.core.defaultAddress) : searchResultItem.core.defaultAddress property string address: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(searchResultItem.core.defaultAddress) : searchResultItem.core.defaultAddress
@ -97,8 +95,8 @@ FocusScope {
maximumLineCount: 1 maximumLineCount: 1
elide: Text.ElideRight elide: Text.ElideRight
font { font {
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
} }
} }
} }
@ -110,37 +108,37 @@ FocusScope {
asynchronous: true asynchronous: true
active: mainItem.showActions || mainItem.showContactMenu active: mainItem.showActions || mainItem.showContactMenu
|| mainItem.multiSelectionEnabled || mainItem.multiSelectionEnabled
Layout.rightMargin: active ? 10 * DefaultStyle.dp : 0 Layout.rightMargin: active ? Math.round(10 * DefaultStyle.dp) : 0
sourceComponent: RowLayout { sourceComponent: RowLayout {
id: actionsRow id: actionsRow
z: 1 z: 1
visible: actionButtons.visible || friendPopup.visible visible: actionButtons.visible || friendPopup.visible
|| mainItem.multiSelectionEnabled || mainItem.multiSelectionEnabled
spacing: visible ? 16 * DefaultStyle.dp : 0 spacing: visible ? Math.round(16 * DefaultStyle.dp) : 0
enabled: visible enabled: visible
EffectImage { EffectImage {
id: isSelectedCheck id: isSelectedCheck
visible: mainItem.multiSelectionEnabled visible: mainItem.multiSelectionEnabled
&& (mainItem.selectedContacts.indexOf( && (mainItem.selectedContacts.indexOf(
searchResultItem.core.defaultAddress) != -1) searchResultItem.core.defaultAddress) != -1)
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
imageSource: AppIcons.check imageSource: AppIcons.check
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
} }
RowLayout { RowLayout {
id: actionButtons id: actionButtons
visible: mainItem.showActions visible: mainItem.showActions
spacing: visible ? 10 * DefaultStyle.dp : 0 spacing: visible ? Math.round(10 * DefaultStyle.dp) : 0
IconButton { IconButton {
id: callButton id: callButton
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.phone icon.source: AppIcons.phone
focus: visible focus: visible
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
style: ButtonStyle.grey style: ButtonStyle.grey
onClicked: UtilsCpp.createCall( onClicked: UtilsCpp.createCall(
searchResultItem.core.defaultFullAddress) searchResultItem.core.defaultFullAddress)
@ -150,13 +148,13 @@ FocusScope {
IconButton { IconButton {
id: videoCallButton id: videoCallButton
visible: SettingsCpp.videoEnabled visible: SettingsCpp.videoEnabled
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.videoCamera icon.source: AppIcons.videoCamera
focus: visible && !callButton.visible focus: visible && !callButton.visible
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
style: ButtonStyle.grey style: ButtonStyle.grey
onClicked: UtilsCpp.createCall( onClicked: UtilsCpp.createCall(
searchResultItem.core.defaultFullAddress, searchResultItem.core.defaultFullAddress,
@ -170,14 +168,14 @@ FocusScope {
id: chatButton id: chatButton
visible: actionButtons.visible visible: actionButtons.visible
&& !SettingsCpp.disableChatFeature && !SettingsCpp.disableChatFeature
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.chatTeardropText icon.source: AppIcons.chatTeardropText
focus: visible && !callButton.visible focus: visible && !callButton.visible
&& !videoCallButton.visible && !videoCallButton.visible
radius: 40 * DefaultStyle.dp radius: Math.round(40 * DefaultStyle.dp)
style: ButtonStyle.grey style: ButtonStyle.grey
KeyNavigation.left: videoCallButton KeyNavigation.left: videoCallButton
KeyNavigation.right: callButton KeyNavigation.right: callButton
@ -187,7 +185,7 @@ FocusScope {
id: friendPopup id: friendPopup
z: 1 z: 1
popup.x: 0 popup.x: 0
popup.padding: 10 * DefaultStyle.dp popup.padding: Math.round(10 * DefaultStyle.dp)
visible: mainItem.showContactMenu visible: mainItem.showContactMenu
&& (contactArea.containsMouse || hovered && (contactArea.containsMouse || hovered
|| popup.opened) || popup.opened)
@ -201,7 +199,7 @@ FocusScope {
"Enlever des favoris") : qsTr( "Enlever des favoris") : qsTr(
"Mettre en favori") "Mettre en favori")
icon.source: searchResultItem.core.starred ? AppIcons.heartFill : AppIcons.heart icon.source: searchResultItem.core.starred ? AppIcons.heartFill : AppIcons.heart
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
textColor: DefaultStyle.main2_500main textColor: DefaultStyle.main2_500main
hoveredImageColor: searchResultItem.core.starred ? DefaultStyle.main1_700 : DefaultStyle.danger_700 hoveredImageColor: searchResultItem.core.starred ? DefaultStyle.main1_700 : DefaultStyle.danger_700
contentImageColor: searchResultItem.core.starred ? DefaultStyle.danger_500main : DefaultStyle.main2_600 contentImageColor: searchResultItem.core.starred ? DefaultStyle.danger_500main : DefaultStyle.main2_600
@ -215,7 +213,7 @@ FocusScope {
IconLabelButton { IconLabelButton {
text: qsTr("Partager") text: qsTr("Partager")
icon.source: AppIcons.shareNetwork icon.source: AppIcons.shareNetwork
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
textColor: DefaultStyle.main2_500main textColor: DefaultStyle.main2_500main
onClicked: { onClicked: {
var vcard = searchResultItem.core.getVCard() var vcard = searchResultItem.core.getVCard()
@ -242,7 +240,7 @@ FocusScope {
IconLabelButton { IconLabelButton {
text: qsTr("Supprimer") text: qsTr("Supprimer")
icon.source: AppIcons.trashCan icon.source: AppIcons.trashCan
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
visible: !searchResultItem.core.readOnly visible: !searchResultItem.core.readOnly
onClicked: { onClicked: {
mainItem.contactDeletionRequested( mainItem.contactDeletionRequested(
@ -271,7 +269,7 @@ FocusScope {
} }
Rectangle { Rectangle {
anchors.fill: contactArea anchors.fill: contactArea
radius: 8 * DefaultStyle.dp radius: Math.round(8 * DefaultStyle.dp)
opacity: 0.7 opacity: 0.7
color: mainItem.isSelected ? DefaultStyle.main2_200 : DefaultStyle.main2_100 color: mainItem.isSelected ? DefaultStyle.main2_200 : DefaultStyle.main2_100
visible: mainItem.isLastHovered || mainItem.isSelected visible: mainItem.isLastHovered || mainItem.isSelected

View file

@ -37,13 +37,13 @@ ListView {
property bool haveFavorites: false property bool haveFavorites: false
property bool haveContacts: count > 0 property bool haveContacts: count > 0
property int sectionsPixelSize: 16 * DefaultStyle.dp property real sectionsPixelSize: Typography.h4.pixelSize
property int sectionsWeight: 800 * DefaultStyle.dp property real sectionsWeight: Typography.h4.weight
property int sectionsSpacing: 18 * DefaultStyle.dp property real sectionsSpacing: Math.round(18 * DefaultStyle.dp)
property int itemsRightMargin: 39 * DefaultStyle.dp property real itemsRightMargin: Math.round(39 * DefaultStyle.dp)
property bool expanded: true property bool expanded: true
property int headerHeight: headerItem?.height property real headerHeight: headerItem?.height
signal contactDeletionRequested(FriendGui contact) signal contactDeletionRequested(FriendGui contact)
signal contactSelected(FriendGui contact) // Click/Space/Enter signal contactSelected(FriendGui contact) // Click/Space/Enter
@ -55,7 +55,7 @@ ListView {
highlightFollowsCurrentItem: false highlightFollowsCurrentItem: false
cacheBuffer: 400 cacheBuffer: 400
implicitHeight: contentHeight implicitHeight: contentHeight
spacing: expanded ? 4 * DefaultStyle.dp : 0 spacing: expanded ? Math.round(4 * DefaultStyle.dp) : 0
property var _currentItemY: currentItem?.y property var _currentItemY: currentItem?.y
on_CurrentItemYChanged: if(_currentItemY){ on_CurrentItemYChanged: if(_currentItemY){
@ -151,7 +151,7 @@ ListView {
Item{// Do not use directly RowLayout : there is an issue where the layout doesn't update on visible Item{// Do not use directly RowLayout : there is an issue where the layout doesn't update on visible
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: mainItem.count > 0 ? headerTitleLayout.implicitHeight : 0 Layout.preferredHeight: mainItem.count > 0 ? headerTitleLayout.implicitHeight : 0
Layout.bottomMargin: 4 * DefaultStyle.dp Layout.bottomMargin: Math.round(4 * DefaultStyle.dp)
RowLayout { RowLayout {
id: headerTitleLayout id: headerTitleLayout
anchors.fill: parent anchors.fill: parent
@ -174,9 +174,9 @@ ListView {
icon.source: mainItem.expanded ? AppIcons.upArrow : AppIcons.downArrow icon.source: mainItem.expanded ? AppIcons.upArrow : AppIcons.downArrow
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: height Layout.preferredWidth: height
Layout.rightMargin: 23 * DefaultStyle.dp Layout.rightMargin: Math.round(23 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
focus: true focus: true
onClicked: mainItem.expanded = !mainItem.expanded onClicked: mainItem.expanded = !mainItem.expanded
} }

View file

@ -10,8 +10,8 @@ Rectangle{
id: mainItem id: mainItem
property int voicemailCount: 0 property int voicemailCount: 0
property bool showMwi: false property bool showMwi: false
width: 42 * DefaultStyle.dp * scaleFactor width: Math.round(42 * DefaultStyle.dp) * scaleFactor
height: 36 * DefaultStyle.dp * scaleFactor height: Math.round(36 * DefaultStyle.dp) * scaleFactor
property real scaleFactor: 1.0 property real scaleFactor: 1.0
signal clicked() signal clicked()
color: 'transparent' color: 'transparent'
@ -20,7 +20,7 @@ Rectangle{
anchors.left: parent.left anchors.left: parent.left
icon.source: AppIcons.voicemail icon.source: AppIcons.voicemail
icon.color: DefaultStyle.main2_600 icon.color: DefaultStyle.main2_600
width: 33 * DefaultStyle.dp * scaleFactor width: Math.round(33 * DefaultStyle.dp) * scaleFactor
height: width height: width
icon.width: width icon.width: width
icon.height: width icon.height: width
@ -35,11 +35,11 @@ Rectangle{
Text { Text {
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
width: 14 * DefaultStyle.dp * scaleFactor width: Math.round(14 * DefaultStyle.dp) * scaleFactor
height: width height: width
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
font.weight: 700 * DefaultStyle.dp font.weight: Typography.p2.pixelSize
font.pixelSize: 13 * DefaultStyle.dp * scaleFactor font.pixelSize: Typography.p2.weight * scaleFactor
color: DefaultStyle.danger_500main color: DefaultStyle.danger_500main
text: voicemailCount >= 100 ? '99+' : voicemailCount text: voicemailCount >= 100 ? '99+' : voicemailCount
visible: showMwi && voicemailCount > 0 visible: showMwi && voicemailCount > 0
@ -51,12 +51,12 @@ Rectangle{
anchors.right: parent.right anchors.right: parent.right
color: DefaultStyle.danger_500main color: DefaultStyle.danger_500main
visible: showMwi && voicemailCount == 0 visible: showMwi && voicemailCount == 0
width: 14 * DefaultStyle.dp * scaleFactor width: Math.round(14 * DefaultStyle.dp) * scaleFactor
height: width height: width
radius: width / 2 radius: width / 2
EffectImage { EffectImage {
anchors.fill: parent anchors.fill: parent
anchors.margins: 1.5 * DefaultStyle.dp * scaleFactor anchors.margins: Math.round(1.5 * DefaultStyle.dp) * scaleFactor
imageSource: AppIcons.bellMwi imageSource: AppIcons.bellMwi
colorizationColor: DefaultStyle.grey_0 colorizationColor: DefaultStyle.grey_0
} }

View file

@ -13,8 +13,8 @@ Loader {
property var imageSource property var imageSource
property var fillMode: Image.PreserveAspectFit property var fillMode: Image.PreserveAspectFit
property var colorizationColor property var colorizationColor
property int imageWidth: width property real imageWidth: width
property int imageHeight: height property real imageHeight: height
property bool useColor: colorizationColor != undefined property bool useColor: colorizationColor != undefined
property bool shadowEnabled: false property bool shadowEnabled: false
property bool isImageReady: false property bool isImageReady: false

View file

@ -3,11 +3,11 @@ import Linphone
Item { Item {
id: mainItem id: mainItem
property int borderWidth: 1 * DefaultStyle.dp property real borderWidth: Math.max(Math.round(1 * DefaultStyle.dp), 1)
property alias borderGradient: border.gradient property alias borderGradient: border.gradient
property alias gradient: fill.gradient property alias gradient: fill.gradient
property alias color: fill.color property alias color: fill.color
property int radius property real radius
Rectangle { Rectangle {
id: border id: border
radius: mainItem.radius radius: mainItem.radius

View file

@ -21,7 +21,7 @@ ListView {
clip: true clip: true
cacheBuffer: height/2 cacheBuffer: height/2
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
highlightFollowsCurrentItem: false highlightFollowsCurrentItem: false
function selectIndex(index){ function selectIndex(index){
@ -86,7 +86,7 @@ ListView {
id: confInfoProxy id: confInfoProxy
filterText: searchBarText filterText: searchBarText
filterType: ConferenceInfoProxy.None filterType: ConferenceInfoProxy.None
initialDisplayItems: Math.max(20, 2 * mainItem.height / (63 * DefaultStyle.dp)) initialDisplayItems: Math.max(20, 2 * mainItem.height / (Math.round(63 * DefaultStyle.dp)))
displayItemsStep: initialDisplayItems/2 displayItemsStep: initialDisplayItems/2
function selectData(confInfoGui){ function selectData(confInfoGui){
mainItem.currentIndex = loadUntil(confInfoGui) mainItem.currentIndex = loadUntil(confInfoGui)
@ -105,7 +105,7 @@ ListView {
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
id: scrollbar id: scrollbar
rightPadding: 8 * DefaultStyle.dp rightPadding: Math.round(8 * DefaultStyle.dp)
active: true active: true
interactive: true interactive: true
@ -115,14 +115,14 @@ ListView {
section { section {
criteria: ViewSection.FullString criteria: ViewSection.FullString
delegate: Text { delegate: Text {
topPadding: 24 * DefaultStyle.dp topPadding: Math.round(24 * DefaultStyle.dp)
bottomPadding: 16 * DefaultStyle.dp bottomPadding: Math.round(16 * DefaultStyle.dp)
text: section text: section
height: 29 * DefaultStyle.dp + topPadding + bottomPadding height: Math.round(29 * DefaultStyle.dp) + topPadding + bottomPadding
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 800 * DefaultStyle.dp weight: Math.round(800 * DefaultStyle.dp)
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
@ -131,7 +131,7 @@ ListView {
delegate: FocusScope { delegate: FocusScope {
id: itemDelegate id: itemDelegate
height: 63 * DefaultStyle.dp + (!isFirst && dateDay.visible ? topOffset : 0) height: Math.round(63 * DefaultStyle.dp) + (!isFirst && dateDay.visible ? topOffset : 0)
width: mainItem.width width: mainItem.width
enabled: !isCanceled && haveModel enabled: !isCanceled && haveModel
@ -143,7 +143,7 @@ ListView {
property string dateString: UtilsCpp.toDateString(dateTime) property string dateString: UtilsCpp.toDateString(dateTime)
property string previousDateString: previousConfInfoGui ? UtilsCpp.toDateString(previousConfInfoGui.core ? previousConfInfoGui.core.dateTime : UtilsCpp.getCurrentDateTime()) : '' property string previousDateString: previousConfInfoGui ? UtilsCpp.toDateString(previousConfInfoGui.core ? previousConfInfoGui.core.dateTime : UtilsCpp.getCurrentDateTime()) : ''
property bool isFirst : ListView.previousSection !== ListView.section property bool isFirst : ListView.previousSection !== ListView.section
property int topOffset: (dateDay.visible && !isFirst? 8 * DefaultStyle.dp : 0) property real topOffset: (dateDay.visible && !isFirst? Math.round(8 * DefaultStyle.dp) : 0)
property var endDateTime: itemGui.core ? itemGui.core.endDateTime : UtilsCpp.getCurrentDateTime() property var endDateTime: itemGui.core ? itemGui.core.endDateTime : UtilsCpp.getCurrentDateTime()
property bool haveModel: itemGui.core ? itemGui.core.haveModel : false property bool haveModel: itemGui.core ? itemGui.core.haveModel : false
property bool isCanceled: itemGui.core ? itemGui.core.state === LinphoneEnums.ConferenceInfoState.Cancelled : false property bool isCanceled: itemGui.core ? itemGui.core.state === LinphoneEnums.ConferenceInfoState.Cancelled : false
@ -155,34 +155,34 @@ ListView {
anchors.topMargin: !itemDelegate.isFirst && dateDay.visible ? itemDelegate.topOffset : 0 anchors.topMargin: !itemDelegate.isFirst && dateDay.visible ? itemDelegate.topOffset : 0
spacing: 0 spacing: 0
Item{ Item{
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
visible: !dateDay.visible visible: !dateDay.visible
} }
ColumnLayout { ColumnLayout {
id: dateDay id: dateDay
Layout.fillWidth: false Layout.fillWidth: false
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.minimumWidth: 32 * DefaultStyle.dp Layout.minimumWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 51 * DefaultStyle.dp Layout.preferredHeight: Math.round(51 * DefaultStyle.dp)
visible: previousDateString.length == 0 || previousDateString != dateString visible: previousDateString.length == 0 || previousDateString != dateString
spacing: 0 spacing: 0
Text { Text {
Layout.preferredHeight: 19 * DefaultStyle.dp Layout.preferredHeight: Math.round(19 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
text: day.substring(0,3) + '.' text: day.substring(0,3) + '.'
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
elide: Text.ElideNone elide: Text.ElideNone
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
Rectangle { Rectangle {
id: dayNum id: dayNum
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
radius: height/2 radius: height/2
property var isCurrentDay: UtilsCpp.isCurrentDay(dateTime) property var isCurrentDay: UtilsCpp.isCurrentDay(dateTime)
@ -197,48 +197,48 @@ ListView {
color: dayNum.isCurrentDay ? DefaultStyle.grey_0 : DefaultStyle.main2_500main color: dayNum.isCurrentDay ? DefaultStyle.grey_0 : DefaultStyle.main2_500main
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 800 * DefaultStyle.dp weight: Math.round(800 * DefaultStyle.dp)
} }
} }
} }
Item{Layout.fillHeight:true;Layout.fillWidth: true} Item{Layout.fillHeight:true;Layout.fillWidth: true}
} }
Item { Item {
Layout.preferredWidth: 265 * DefaultStyle.dp Layout.preferredWidth: Math.round(265 * DefaultStyle.dp)
Layout.preferredHeight: 63 * DefaultStyle.dp Layout.preferredHeight: Math.round(63 * DefaultStyle.dp)
Layout.leftMargin: 23 * DefaultStyle.dp Layout.leftMargin: Math.round(23 * DefaultStyle.dp)
Rectangle { Rectangle {
id: conferenceInfoDelegate id: conferenceInfoDelegate
anchors.fill: parent anchors.fill: parent
anchors.rightMargin: 5 // margin to avoid clipping shadows at right anchors.rightMargin: 5 // margin to avoid clipping shadows at right
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
visible: itemDelegate.haveModel || itemDelegate.activeFocus visible: itemDelegate.haveModel || itemDelegate.activeFocus
color: itemDelegate.isSelected ? DefaultStyle.main2_200 : DefaultStyle.grey_0 // mainItem.currentIndex === index color: itemDelegate.isSelected ? DefaultStyle.main2_200 : DefaultStyle.grey_0 // mainItem.currentIndex === index
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 16 * DefaultStyle.dp anchors.leftMargin: Math.round(16 * DefaultStyle.dp)
anchors.rightMargin: 16 * DefaultStyle.dp anchors.rightMargin: Math.round(16 * DefaultStyle.dp)
anchors.topMargin: 10 * DefaultStyle.dp anchors.topMargin: Math.round(10 * DefaultStyle.dp)
anchors.bottomMargin: 10 * DefaultStyle.dp anchors.bottomMargin: Math.round(10 * DefaultStyle.dp)
spacing: 2 * DefaultStyle.dp spacing: Math.round(2 * DefaultStyle.dp)
visible: itemDelegate.haveModel visible: itemDelegate.haveModel
RowLayout { RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.usersThree imageSource: AppIcons.usersThree
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
text: itemGui.core? itemGui.core.subject : "" text: itemGui.core? itemGui.core.subject : ""
Layout.fillWidth: true Layout.fillWidth: true
maximumLineCount: 1 maximumLineCount: 1
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p2.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }
} }
@ -246,8 +246,8 @@ ListView {
text: itemDelegate.isCanceled ? qsTr("Réunion annulée") : UtilsCpp.toDateHourString(dateTime) + " - " + UtilsCpp.toDateHourString(endDateTime) text: itemDelegate.isCanceled ? qsTr("Réunion annulée") : UtilsCpp.toDateHourString(dateTime) + " - " + UtilsCpp.toDateHourString(endDateTime)
color: itemDelegate.isCanceled ? DefaultStyle.danger_500main : DefaultStyle.main2_500main color: itemDelegate.isCanceled ? DefaultStyle.danger_500main : DefaultStyle.main2_500main
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
} }
@ -262,16 +262,16 @@ ListView {
} }
Text { Text {
anchors.fill: parent anchors.fill: parent
anchors.rightMargin: 5 * DefaultStyle.dp // margin to avoid clipping shadows at right anchors.rightMargin: Math.round(5 * DefaultStyle.dp) // margin to avoid clipping shadows at right
anchors.leftMargin: 16 * DefaultStyle.dp anchors.leftMargin: Math.round(16 * DefaultStyle.dp)
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
visible: !itemDelegate.haveModel visible: !itemDelegate.haveModel
text: qsTr("Aucune réunion aujourd'hui") text: qsTr("Aucune réunion aujourd'hui")
lineHeightMode: Text.FixedHeight lineHeightMode: Text.FixedHeight
lineHeight: 17.71 * DefaultStyle.dp lineHeight: Math.round(18 * DefaultStyle.dp)
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p2.pixelSize
weight: 700 weight: Typography.p2.weight
} }
} }
MouseArea { MouseArea {

View file

@ -10,8 +10,8 @@ ListView {
height: contentHeight height: contentHeight
visible: contentHeight > 0 visible: contentHeight > 0
clip: true clip: true
rightMargin: 5 * DefaultStyle.dp rightMargin: Math.round(5 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
property string searchBarText property string searchBarText
@ -31,27 +31,27 @@ ListView {
} }
delegate: Item { delegate: Item {
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
width: mainItem.width width: mainItem.width
RowLayout { RowLayout {
id: participantDelegate id: participantDelegate
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
z: 1 z: 1
Avatar { Avatar {
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
_address: modelData.core.address _address: modelData.core.address
shadowEnabled: false shadowEnabled: false
} }
Text { Text {
text: modelData.core.displayName text: modelData.core.displayName
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
font.capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase font.capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase
maximumLineCount: 1 maximumLineCount: 1
Layout.fillWidth: true Layout.fillWidth: true

View file

@ -11,8 +11,8 @@ ListView {
height: contentHeight height: contentHeight
visible: contentHeight > 0 visible: contentHeight > 0
clip: true clip: true
rightMargin: 5 * DefaultStyle.dp rightMargin: Math.round(5 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
property string searchBarText property string searchBarText
@ -36,27 +36,27 @@ ListView {
} }
delegate: Item { delegate: Item {
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
width: mainItem.width width: mainItem.width
RowLayout { RowLayout {
id: participantDelegate id: participantDelegate
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
z: 1 z: 1
Avatar { Avatar {
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
_address: modelData.core.sipAddress _address: modelData.core.sipAddress
shadowEnabled: false shadowEnabled: false
} }
Text { Text {
text: modelData.core.displayName text: modelData.core.displayName
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
font.capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase font.capitalization: mainItem.displayNameCapitalization ? Font.Capitalize : Font.MixedCase
maximumLineCount: 1 maximumLineCount: 1
Layout.fillWidth: true Layout.fillWidth: true
@ -67,8 +67,8 @@ ListView {
text: qsTr("Admin") text: qsTr("Admin")
color: DefaultStyle.main2_400 color: DefaultStyle.main2_400
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
RowLayout { RowLayout {
@ -77,15 +77,15 @@ ListView {
onIsMeChanged: if (isMe) mainItem.me = modelData onIsMeChanged: if (isMe) mainItem.me = modelData
enabled: mainItem.isMeAdmin && !modelData.core.isMe enabled: mainItem.isMeAdmin && !modelData.core.isMe
opacity: enabled ? 1.0 : 0 opacity: enabled ? 1.0 : 0
spacing: 26 * DefaultStyle.dp spacing: Math.round(26 * DefaultStyle.dp)
Switch { Switch {
Component.onCompleted: if (modelData.core.isAdmin) toggle() Component.onCompleted: if (modelData.core.isAdmin) toggle()
//TODO : Utilser checked et onToggled (pas compris) //TODO : Utilser checked et onToggled (pas compris)
onToggled: participantModel.setParticipantAdminStatus(modelData.core, position === 1) onToggled: participantModel.setParticipantAdminStatus(modelData.core, position === 1)
} }
SmallButton { SmallButton {
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
color: DefaultStyle.main2_100 color: DefaultStyle.main2_100
style: ButtonStyle.hoveredBackground style: ButtonStyle.hoveredBackground
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
@ -98,14 +98,14 @@ ListView {
footer: Rectangle { footer: Rectangle {
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
visible: mainItem.isMeAdmin visible: mainItem.isMeAdmin
height: 74 * DefaultStyle.dp height: Math.round(74 * DefaultStyle.dp)
width: mainItem.width width: mainItem.width
MediumButton { MediumButton {
anchors.centerIn: parent anchors.centerIn: parent
height: 40 * DefaultStyle.dp height: Math.round(40 * DefaultStyle.dp)
icon.source: AppIcons.plusCircle icon.source: AppIcons.plusCircle
icon.width: 16 * DefaultStyle.dp icon.width: Math.round(16 * DefaultStyle.dp)
icon.height: 16 * DefaultStyle.dp icon.height: Math.round(16 * DefaultStyle.dp)
text: qsTr("Ajouter des participants") text: qsTr("Ajouter des participants")
style: ButtonStyle.secondary style: ButtonStyle.secondary
onClicked: mainItem.addParticipantRequested() onClicked: mainItem.addParticipantRequested()

View file

@ -5,29 +5,29 @@ import Linphone
ProgressBar { ProgressBar {
id: mainItem id: mainItem
padding: 3 * DefaultStyle.dp padding: Math.round(3 * DefaultStyle.dp)
property color backgroundColor: DefaultStyle.main2_100 property color backgroundColor: DefaultStyle.main2_100
property color innerColor: DefaultStyle.info_500_main property color innerColor: DefaultStyle.info_500_main
property color innerTextColor: centeredText ? DefaultStyle.info_500_main : DefaultStyle.grey_0 property color innerTextColor: centeredText ? DefaultStyle.info_500_main : DefaultStyle.grey_0
property bool innerTextVisible: true property bool innerTextVisible: true
property string innerText: Number.parseFloat(value*100).toFixed(0) + "%" property string innerText: Number.parseFloat(value*100).toFixed(0) + "%"
property int barWidth: mainItem.visualPosition * mainItem.width property real barWidth: mainItem.visualPosition * mainItem.width
property bool centeredText: textSize.width >= barWidth property bool centeredText: textSize.width >= barWidth
TextMetrics{ TextMetrics{
id: textSize id: textSize
text: mainItem.innerText text: mainItem.innerText
font { font {
pixelSize: 10 * DefaultStyle.dp pixelSize: Math.round(10 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Math.round(700 * DefaultStyle.dp)
bold: true bold: true
} }
} }
background: Rectangle { background: Rectangle {
color: mainItem.backgroundColor color: mainItem.backgroundColor
radius: 50 * DefaultStyle.dp radius: Math.round(50 * DefaultStyle.dp)
anchors.fill: mainItem anchors.fill: mainItem
width: mainItem.width width: mainItem.width
height: mainItem.height height: mainItem.height
@ -37,7 +37,7 @@ ProgressBar {
Rectangle { Rectangle {
id: bar id: bar
color: mainItem.innerColor color: mainItem.innerColor
radius: 50 * DefaultStyle.dp radius: Math.round(50 * DefaultStyle.dp)
width: mainItem.barWidth width: mainItem.barWidth
height: parent.height height: parent.height
} }
@ -51,8 +51,8 @@ ProgressBar {
color: mainItem.innerTextColor color: mainItem.innerTextColor
maximumLineCount: 1 maximumLineCount: 1
font { font {
pixelSize: 10 * DefaultStyle.dp pixelSize: Math.round(10 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Math.round(700 * DefaultStyle.dp)
} }
} }
} }

View file

@ -4,12 +4,12 @@ import Linphone
Control.Control { Control.Control {
id: mainItem id: mainItem
// width: 360 * DefaultStyle.dp // width: Math.round(360 * DefaultStyle.dp)
property color backgroundColor: DefaultStyle.grey_0 property color backgroundColor: DefaultStyle.grey_0
padding: 10 * DefaultStyle.dp padding: Math.round(10 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
color: mainItem.backgroundColor color: mainItem.backgroundColor
} }
} }

View file

@ -7,7 +7,7 @@ import Linphone
Item { Item {
id: mainItem id: mainItem
height: visible ? 50 * DefaultStyle.dp : 0 height: visible ? Math.round(50 * DefaultStyle.dp) : 0
anchors.right: parent.right anchors.right: parent.right
anchors.left: parent.left anchors.left: parent.left
@ -30,15 +30,15 @@ Item {
id: background id: background
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
radius: 35 * DefaultStyle.dp radius: Math.round(35 * DefaultStyle.dp)
visible: parent.containsMouse || isSelected || mainItem.shadowEnabled visible: parent.containsMouse || isSelected || mainItem.shadowEnabled
} }
Rectangle { Rectangle {
id: backgroundRightFiller id: backgroundRightFiller
anchors.right: parent.right anchors.right: parent.right
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
width: 35 * DefaultStyle.dp width: Math.round(35 * DefaultStyle.dp)
height: 50 * DefaultStyle.dp height: Math.round(50 * DefaultStyle.dp)
visible: parent.containsMouse || isSelected visible: parent.containsMouse || isSelected
} }
// MultiEffect { // MultiEffect {

View file

@ -25,7 +25,7 @@ Item {
property bool displayBorder : participantDevice && participantDevice.core.isSpeaking || false property bool displayBorder : participantDevice && participantDevice.core.isSpeaking || false
property alias displayPresence: avatar.displayPresence property alias displayPresence: avatar.displayPresence
property color color: DefaultStyle.grey_600 property color color: DefaultStyle.grey_600
property int radius: 15 * DefaultStyle.dp property real radius: Math.round(15 * DefaultStyle.dp)
property bool remoteIsPaused: participantDevice property bool remoteIsPaused: participantDevice
? participantDevice.core.isPaused ? participantDevice.core.isPaused
: previewEnabled : previewEnabled
@ -70,15 +70,15 @@ Item {
radius: mainItem.radius radius: mainItem.radius
anchors.fill: parent anchors.fill: parent
border.color: DefaultStyle.main2_200 border.color: DefaultStyle.main2_200
border.width: mainItem.displayBorder ? 3 * DefaultStyle.dp : 0 border.width: mainItem.displayBorder ? Math.round(3 * DefaultStyle.dp) : 0
property int minSize: Math.min(height, width) property real minSize: Math.min(height, width)
Item { Item {
id: noCameraLayout id: noCameraLayout
anchors.fill: parent anchors.fill: parent
visible: !cameraLoader.active || cameraLoader.status != Loader.Ready || !cameraLoader.item.isReady visible: !cameraLoader.active || cameraLoader.status != Loader.Ready || !cameraLoader.item.isReady
ColumnLayout { ColumnLayout {
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 81 * DefaultStyle.dp anchors.topMargin: Math.round(81 * DefaultStyle.dp)
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
// Layout.alignment: Qt.AlignHCenter |Qt.AlignTop // Layout.alignment: Qt.AlignHCenter |Qt.AlignTop
spacing: 0 spacing: 0
@ -90,8 +90,8 @@ Item {
BusyIndicator { BusyIndicator {
indicatorColor: DefaultStyle.main2_100 indicatorColor: DefaultStyle.main2_100
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
indicatorHeight: 42 * DefaultStyle.dp indicatorHeight: Math.round(42 * DefaultStyle.dp)
indicatorWidth: 42 * DefaultStyle.dp indicatorWidth: Math.round(42 * DefaultStyle.dp)
} }
} }
Item{ Item{
@ -100,7 +100,7 @@ Item {
anchors.centerIn: parent anchors.centerIn: parent
height: mainItem.conference height: mainItem.conference
? background.minSize * 142 / 372 ? background.minSize * 142 / 372
: 120 * DefaultStyle.dp : Math.round(120 * DefaultStyle.dp)
width: height width: height
Avatar{ Avatar{
id: avatar id: avatar
@ -117,29 +117,29 @@ Item {
spacing: 0 spacing: 0
visible: mainItem.participantDevice && (mainItem.participantDevice.core.state == LinphoneEnums.ParticipantDeviceState.Joining || mainItem.participantDevice.core.state == LinphoneEnums.ParticipantDeviceState.Alerting) || false visible: mainItem.participantDevice && (mainItem.participantDevice.core.state == LinphoneEnums.ParticipantDeviceState.Joining || mainItem.participantDevice.core.state == LinphoneEnums.ParticipantDeviceState.Alerting) || false
BusyIndicator { BusyIndicator {
Layout.preferredHeight: 42 * DefaultStyle.dp Layout.preferredHeight: Math.round(42 * DefaultStyle.dp)
indicatorColor: DefaultStyle.main2_100 indicatorColor: DefaultStyle.main2_100
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
indicatorHeight: 42 * DefaultStyle.dp indicatorHeight: Math.round(42 * DefaultStyle.dp)
indicatorWidth: 42 * DefaultStyle.dp indicatorWidth: Math.round(42 * DefaultStyle.dp)
} }
Text { Text {
Layout.preferredHeight: 27 * DefaultStyle.dp Layout.preferredHeight: Math.round(27 * DefaultStyle.dp)
Layout.topMargin: 15 * DefaultStyle.dp // (84-27)-42 Layout.topMargin: Math.round(15 * DefaultStyle.dp) // (84-27)-42
text: qsTr('rejoint...') text: qsTr('rejoint...')
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
} }
ColumnLayout { ColumnLayout {
anchors.centerIn: parent anchors.centerIn: parent
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
visible: mainItem.remoteIsPaused visible: mainItem.remoteIsPaused
EffectImage { EffectImage {
imageSource: AppIcons.pause imageSource: AppIcons.pause
@ -153,8 +153,8 @@ Item {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
text: qsTr("En pause") text: qsTr("En pause")
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
@ -162,7 +162,7 @@ Item {
spacing: 0 spacing: 0
visible: mainItem.displayAll && !mainItem.remoteIsPaused && !mainItem.conference visible: mainItem.displayAll && !mainItem.remoteIsPaused && !mainItem.conference
anchors.top: centerItem.bottom anchors.top: centerItem.bottom
anchors.topMargin: 21 * DefaultStyle.dp anchors.topMargin: Math.round(21 * DefaultStyle.dp)
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
Text { Text {
@ -171,8 +171,8 @@ Item {
text: mainItem.displayName text: mainItem.displayName
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 22 * DefaultStyle.dp pixelSize: Math.round(22 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
@ -183,8 +183,8 @@ Item {
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
@ -248,9 +248,9 @@ Item {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
anchors.bottomMargin: 10 * DefaultStyle.dp anchors.bottomMargin: Math.round(10 * DefaultStyle.dp)
width: implicitWidth width: implicitWidth
maximumLineCount: 1 maximumLineCount: 1
property string _text: mainItem.displayName != '' property string _text: mainItem.displayName != ''
@ -261,8 +261,8 @@ Item {
text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text text: SettingsCpp.onlyDisplaySipUriUsername ? UtilsCpp.getUsername(_text) : _text
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
@ -279,22 +279,22 @@ Item {
RowLayout{ RowLayout{
anchors.right: parent.right anchors.right: parent.right
anchors.top: parent.top anchors.top: parent.top
anchors.rightMargin: 8 * DefaultStyle.dp anchors.rightMargin: Math.round(8 * DefaultStyle.dp)
anchors.topMargin: 8 * DefaultStyle.dp anchors.topMargin: Math.round(8 * DefaultStyle.dp)
height: 18 * DefaultStyle.dp height: Math.round(18 * DefaultStyle.dp)
spacing: 0 spacing: 0
Rectangle { Rectangle {
id: muteIcon id: muteIcon
Layout.preferredWidth: Math.min(mainItem.width / 16, 20 * DefaultStyle.dp) Layout.preferredWidth: Math.min(mainItem.width / 16, Math.round(20 * DefaultStyle.dp))
Layout.preferredHeight: Math.min(mainItem.width / 16, 20 * DefaultStyle.dp) Layout.preferredHeight: Math.min(mainItem.width / 16, Math.round(20 * DefaultStyle.dp))
visible: mainItem.mutedStatus visible: mainItem.mutedStatus
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
radius: width /2 radius: width /2
EffectImage { EffectImage {
anchors.centerIn: parent anchors.centerIn: parent
imageWidth: Math.min(mainItem.width / 16, 20 * DefaultStyle.dp) imageWidth: Math.min(mainItem.width / 16, Math.round(20 * DefaultStyle.dp))
imageHeight: Math.min(mainItem.width / 16, 20 * DefaultStyle.dp) imageHeight: Math.min(mainItem.width / 16, Math.round(20 * DefaultStyle.dp))
imageSource: AppIcons.microphoneSlash imageSource: AppIcons.microphoneSlash
colorizationColor: DefaultStyle.main2_500main colorizationColor: DefaultStyle.main2_500main
} }

View file

@ -20,8 +20,8 @@ Text {
} }
} }
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.b3.pixelSize
weight: 600 * DefaultStyle.dp weight: Typography.b3.weight
} }
Timer { Timer {
id: autoHideErrorMessage id: autoHideErrorMessage

View file

@ -8,8 +8,8 @@ Quick.Text {
width: txtMeter.advanceWidth width: txtMeter.advanceWidth
font { font {
family: DefaultStyle.defaultFont family: DefaultStyle.defaultFont
pixelSize: 10 * DefaultStyle.dp pixelSize: Math.round(10 * DefaultStyle.dp)
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
bold: true bold: true
} }
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600

View file

@ -10,7 +10,7 @@ Control.ToolTip {
id: tooltipBackground id: tooltipBackground
opacity: 0.7 opacity: 0.7
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
} }
contentItem: Text { contentItem: Text {
text: mainItem.text text: mainItem.text

View file

@ -12,15 +12,15 @@ FocusScope {
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
anchors.topMargin: 16 * DefaultStyle.dp anchors.topMargin: Math.round(16 * DefaultStyle.dp)
anchors.bottomMargin: 16 * DefaultStyle.dp anchors.bottomMargin: Math.round(16 * DefaultStyle.dp)
anchors.leftMargin: 17 * DefaultStyle.dp anchors.leftMargin: Math.round(17 * DefaultStyle.dp)
anchors.rightMargin: 17 * DefaultStyle.dp anchors.rightMargin: Math.round(17 * DefaultStyle.dp)
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
// Text { // Text {
// Layout.fillWidth: true // Layout.fillWidth: true
// text: qsTr("La disposition choisie sera enregistrée pour vos prochaines réunions") // text: qsTr("La disposition choisie sera enregistrée pour vos prochaines réunions")
// font.pixelSize: 14 * DefaultStyle.dp // font.pixelSize: Math.round(14 * DefaultStyle.dp)
// color: DefaultStyle.main2_500main // color: DefaultStyle.main2_500main
// } // }
RoundedPane { RoundedPane {
@ -37,9 +37,9 @@ FocusScope {
id: radiobutton id: radiobutton
checkOnClick: false checkOnClick: false
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
indicatorSize: 20 * DefaultStyle.dp indicatorSize: Math.round(20 * DefaultStyle.dp)
leftPadding: indicator.width + spacing leftPadding: indicator.width + spacing
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
checkable: false // Qt Documentation is wrong: It is true by default. We don't want to change the checked state if the layout change is not effective. checkable: false // Qt Documentation is wrong: It is true by default. We don't want to change the checked state if the layout change is not effective.
checked: index == 0 checked: index == 0
? mainItem.conferenceLayout === LinphoneEnums.ConferenceLayout.Grid ? mainItem.conferenceLayout === LinphoneEnums.ConferenceLayout.Grid
@ -49,11 +49,11 @@ FocusScope {
onClicked: mainItem.changeLayoutRequested(index) onClicked: mainItem.changeLayoutRequested(index)
contentItem: RowLayout { contentItem: RowLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
EffectImage { EffectImage {
id: radioButtonImg id: radioButtonImg
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
imageSource: modelData.imgUrl imageSource: modelData.imgUrl
colorizationColor: DefaultStyle.main2_500main colorizationColor: DefaultStyle.main2_500main
} }
@ -61,7 +61,7 @@ FocusScope {
text: modelData.text text: modelData.text
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
} }
} }

View file

@ -7,18 +7,18 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout { ColumnLayout {
id: mainItem id: mainItem
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
FormItemLayout { FormItemLayout {
id: username id: username
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
label: qsTr("Nom d'utilisateur") label: qsTr("Nom d'utilisateur")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
contentItem: TextField { contentItem: TextField {
id: usernameEdit id: usernameEdit
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
isError: username.errorTextVisible || (errorText.isVisible && text.length > 0) isError: username.errorTextVisible || (errorText.isVisible && text.length > 0)
} }
} }
@ -26,14 +26,14 @@ ColumnLayout {
Layout.preferredHeight: password.implicitHeight Layout.preferredHeight: password.implicitHeight
FormItemLayout { FormItemLayout {
id: password id: password
width: 346 * DefaultStyle.dp width: Math.round(346 * DefaultStyle.dp)
label: qsTr("Mot de passe") label: qsTr("Mot de passe")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
contentItem: TextField { contentItem: TextField {
id: passwordEdit id: passwordEdit
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
isError: password.errorTextVisible || (errorText.isVisible && text.length > 0) isError: password.errorTextVisible || (errorText.isVisible && text.length > 0)
hidden: true hidden: true
} }
@ -53,8 +53,8 @@ ColumnLayout {
} }
RowLayout { RowLayout {
Layout.topMargin: 7 * DefaultStyle.dp Layout.topMargin: Math.round(7 * DefaultStyle.dp)
spacing: 29 * DefaultStyle.dp spacing: Math.round(29 * DefaultStyle.dp)
BigButton { BigButton {
id: connectionButton id: connectionButton
style: ButtonStyle.main style: ButtonStyle.main
@ -67,8 +67,8 @@ ColumnLayout {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font { font {
pixelSize: 18 * DefaultStyle.dp pixelSize: Typography.b1.pixelSize
weight: 600 * DefaultStyle.dp weight: Typography.b1.weight
} }
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
} }

View file

@ -11,30 +11,30 @@ ColumnLayout {
property var call property var call
RoundedPane { RoundedPane {
Layout.fillWidth: true Layout.fillWidth: true
leftPadding: 16 * DefaultStyle.dp leftPadding: Math.round(16 * DefaultStyle.dp)
rightPadding: 16 * DefaultStyle.dp rightPadding: Math.round(16 * DefaultStyle.dp)
topPadding: 13 * DefaultStyle.dp topPadding: Math.round(13 * DefaultStyle.dp)
bottomPadding: 13 * DefaultStyle.dp bottomPadding: Math.round(13 * DefaultStyle.dp)
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
Text { Text {
text: qsTr("Chiffrement :") text: qsTr("Chiffrement :")
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }
ColumnLayout { ColumnLayout {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
spacing: 7 * DefaultStyle.dp spacing: Math.round(7 * DefaultStyle.dp)
Text { Text {
property bool isPostQuantum: mainItem.call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && mainItem.call.core.zrtpStats.isPostQuantum property bool isPostQuantum: mainItem.call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && mainItem.call.core.zrtpStats.isPostQuantum
text: qsTr("Chiffrement du média : %1%2").arg(isPostQuantum ? "post Quantum " : "").arg(mainItem.call.core.encryptionString) text: qsTr("Chiffrement du média : %1%2").arg(isPostQuantum ? "post Quantum " : "").arg(mainItem.call.core.encryptionString)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
ColumnLayout { ColumnLayout {
@ -43,40 +43,40 @@ ColumnLayout {
text: qsTr("Cipher algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.cipherAlgo) text: qsTr("Cipher algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.cipherAlgo)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: qsTr("Key agreement algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.keyAgreementAlgo) text: qsTr("Key agreement algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.keyAgreementAlgo)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: qsTr("Hash algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.hashAlgo) text: qsTr("Hash algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.hashAlgo)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: qsTr("Authentication algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.authenticationAlgo) text: qsTr("Authentication algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.authenticationAlgo)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
Text { Text {
text: qsTr("SAS algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.sasAlgo) text: qsTr("SAS algorithm : %1").arg(mainItem.call && mainItem.call.core.zrtpStats.sasAlgo)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
@ -89,9 +89,9 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Validation chiffrement") text: qsTr("Validation chiffrement")
onClicked: mainItem.encryptionValidationRequested() onClicked: mainItem.encryptionValidationRequested()
Layout.bottomMargin: 13 * DefaultStyle.dp Layout.bottomMargin: Math.round(13 * DefaultStyle.dp)
Layout.leftMargin: 16 * DefaultStyle.dp Layout.leftMargin: Math.round(16 * DefaultStyle.dp)
Layout.rightMargin: 16 * DefaultStyle.dp Layout.rightMargin: Math.round(16 * DefaultStyle.dp)
style: ButtonStyle.main style: ButtonStyle.main
} }
} }

View file

@ -13,31 +13,31 @@ ColumnLayout {
property string microDevice: inputAudioDeviceCBox.currentText property string microDevice: inputAudioDeviceCBox.currentText
property bool ringerDevicesVisible: false property bool ringerDevicesVisible: false
property bool backgroundVisible: true property bool backgroundVisible: true
spacing: 40 * DefaultStyle.dp spacing: Math.round(40 * DefaultStyle.dp)
RoundedPane { RoundedPane {
background.visible: mainItem.backgroundVisible background.visible: mainItem.backgroundVisible
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
height: contentItem.implicitHeight + topPadding + bottomPadding height: contentItem.implicitHeight + topPadding + bottomPadding
Layout.fillWidth: true Layout.fillWidth: true
topPadding: background.visible ? 25 * DefaultStyle.dp : 0 topPadding: background.visible ? Math.round(25 * DefaultStyle.dp) : 0
bottomPadding: background.visible ? 25 * DefaultStyle.dp : 0 bottomPadding: background.visible ? Math.round(25 * DefaultStyle.dp) : 0
leftPadding: background.visible ? 25 * DefaultStyle.dp : 0 leftPadding: background.visible ? Math.round(25 * DefaultStyle.dp) : 0
rightPadding: background.visible ? 25 * DefaultStyle.dp : 0 rightPadding: background.visible ? Math.round(25 * DefaultStyle.dp) : 0
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: mainItem.spacing spacing: mainItem.spacing
ColumnLayout { ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
visible: mainItem.ringerDevicesVisible visible: mainItem.ringerDevicesVisible
RowLayout { RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.bellRinger imageSource: AppIcons.bellRinger
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
imageWidth: 24 * DefaultStyle.dp imageWidth: Math.round(24 * DefaultStyle.dp)
imageHeight: 24 * DefaultStyle.dp imageHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
text: qsTr("Sonnerie - Appels entrants") text: qsTr("Sonnerie - Appels entrants")
@ -48,7 +48,7 @@ ColumnLayout {
} }
ComboSetting { ComboSetting {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 12 * DefaultStyle.dp Layout.topMargin: Math.round(12 * DefaultStyle.dp)
Layout.preferredWidth: parent.width Layout.preferredWidth: parent.width
entries: SettingsCpp.ringerDevices entries: SettingsCpp.ringerDevices
propertyName: "ringerDevice" propertyName: "ringerDevice"
@ -60,16 +60,16 @@ ColumnLayout {
} }
} }
ColumnLayout { ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
RowLayout { RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.speaker imageSource: AppIcons.speaker
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
imageWidth: 24 * DefaultStyle.dp imageWidth: Math.round(24 * DefaultStyle.dp)
imageHeight: 24 * DefaultStyle.dp imageHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
text: qsTr("Haut-parleurs") text: qsTr("Haut-parleurs")
@ -81,7 +81,7 @@ ColumnLayout {
id: outputAudioDeviceCBox id: outputAudioDeviceCBox
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: parent.width Layout.preferredWidth: parent.width
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
entries: SettingsCpp.playbackDevices entries: SettingsCpp.playbackDevices
propertyName: "playbackDevice" propertyName: "playbackDevice"
propertyOwner: SettingsCpp propertyOwner: SettingsCpp
@ -107,16 +107,16 @@ ColumnLayout {
} }
} }
ColumnLayout { ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
RowLayout { RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.microphone imageSource: AppIcons.microphone
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
imageWidth: 24 * DefaultStyle.dp imageWidth: Math.round(24 * DefaultStyle.dp)
imageHeight: 24 * DefaultStyle.dp imageHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
text: qsTr("Microphone") text: qsTr("Microphone")
@ -128,7 +128,7 @@ ColumnLayout {
id: inputAudioDeviceCBox id: inputAudioDeviceCBox
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: parent.width Layout.preferredWidth: parent.width
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
entries: SettingsCpp.captureDevices entries: SettingsCpp.captureDevices
propertyName: "captureDevice" propertyName: "captureDevice"
propertyOwner: SettingsCpp propertyOwner: SettingsCpp
@ -165,16 +165,16 @@ ColumnLayout {
id: audioTestSlider id: audioTestSlider
Layout.fillWidth: true Layout.fillWidth: true
enabled: false enabled: false
Layout.preferredHeight: 10 * DefaultStyle.dp Layout.preferredHeight: Math.round(10 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
x: audioTestSlider.leftPadding x: audioTestSlider.leftPadding
y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2 y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2
implicitWidth: 200 * DefaultStyle.dp implicitWidth: Math.round(200 * DefaultStyle.dp)
implicitHeight: 10 * DefaultStyle.dp implicitHeight: Math.round(10 * DefaultStyle.dp)
width: audioTestSlider.availableWidth width: audioTestSlider.availableWidth
height: implicitHeight height: implicitHeight
radius: 2 * DefaultStyle.dp radius: Math.round(2 * DefaultStyle.dp)
color: DefaultStyle.grey_850 color: DefaultStyle.grey_850
Rectangle { Rectangle {
@ -185,24 +185,24 @@ ColumnLayout {
GradientStop { position: 0.0; color: DefaultStyle.vue_meter_light_green } GradientStop { position: 0.0; color: DefaultStyle.vue_meter_light_green }
GradientStop { position: 1.0; color: DefaultStyle.vue_meter_dark_green} GradientStop { position: 1.0; color: DefaultStyle.vue_meter_dark_green}
} }
radius: 2 * DefaultStyle.dp radius: Math.round(2 * DefaultStyle.dp)
} }
} }
handle: Item {visible: false} handle: Item {visible: false}
} }
} }
ColumnLayout { ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
visible: SettingsCpp.videoEnabled visible: SettingsCpp.videoEnabled
RowLayout { RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.videoCamera imageSource: AppIcons.videoCamera
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
imageWidth: 24 * DefaultStyle.dp imageWidth: Math.round(24 * DefaultStyle.dp)
imageHeight: 24 * DefaultStyle.dp imageHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
text: qsTr("Caméra") text: qsTr("Caméra")
@ -214,7 +214,7 @@ ColumnLayout {
id: videoDevicesCbox id: videoDevicesCbox
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: parent.width Layout.preferredWidth: parent.width
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
entries: SettingsCpp.videoDevices entries: SettingsCpp.videoDevices
propertyName: "videoDevice" propertyName: "videoDevice"
propertyOwner: SettingsCpp propertyOwner: SettingsCpp

View file

@ -14,19 +14,19 @@ ColumnLayout {
property bool isLocalScreenSharing : conference?.core.isLocalScreenSharing || false property bool isLocalScreenSharing : conference?.core.isLocalScreenSharing || false
property bool screenSharingAvailable: !!conference && (!conference.core.isScreenSharingEnabled || isLocalScreenSharing) property bool screenSharingAvailable: !!conference && (!conference.core.isScreenSharingEnabled || isLocalScreenSharing)
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
onIsLocalScreenSharingChanged: {if(isLocalScreenSharing) mainItem.call.core.videoSourceDescriptor = mainItem.desc } onIsLocalScreenSharingChanged: {if(isLocalScreenSharing) mainItem.call.core.videoSourceDescriptor = mainItem.desc }
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Veuillez choisir lécran ou la fenêtre que vous souihaitez partager au autres participants") text: qsTr("Veuillez choisir lécran ou la fenêtre que vous souihaitez partager au autres participants")
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
} }
TabBar { TabBar {
Layout.fillWidth: true Layout.fillWidth: true
id: bar id: bar
pixelSize: 16 * DefaultStyle.dp pixelSize: Math.round(16 * DefaultStyle.dp)
model: [qsTr("Ecran entier"), qsTr("Fenêtre")] model: [qsTr("Ecran entier"), qsTr("Fenêtre")]
} }
component ScreenPreviewLayout: Control.Control { component ScreenPreviewLayout: Control.Control {
@ -36,19 +36,19 @@ ColumnLayout {
property int screenIndex property int screenIndex
property bool selected: false property bool selected: false
property bool displayScreen: true property bool displayScreen: true
property int horizontalMargin: 0 property real horizontalMargin: 0
leftPadding: 18 * DefaultStyle.dp leftPadding: Math.round(18 * DefaultStyle.dp)
rightPadding: 18 * DefaultStyle.dp rightPadding: Math.round(18 * DefaultStyle.dp)
topPadding: 13 * DefaultStyle.dp topPadding: Math.round(13 * DefaultStyle.dp)
bottomPadding: 13 * DefaultStyle.dp bottomPadding: Math.round(13 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: screenPreview.horizontalMargin anchors.leftMargin: screenPreview.horizontalMargin
anchors.rightMargin: screenPreview.horizontalMargin anchors.rightMargin: screenPreview.horizontalMargin
color: screenPreview.selected ? DefaultStyle.main2_100 : DefaultStyle.grey_0 color: screenPreview.selected ? DefaultStyle.main2_100 : DefaultStyle.grey_0
border.width: 2 * DefaultStyle.dp border.width: Math.round(2 * DefaultStyle.dp)
border.color: screenPreview.selected ? DefaultStyle.main2_400 : DefaultStyle.main2_200 border.color: screenPreview.selected ? DefaultStyle.main2_400 : DefaultStyle.main2_200
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
@ -63,7 +63,7 @@ ColumnLayout {
Layout.fillHeight: true Layout.fillHeight: true
Image { Image {
anchors.centerIn: parent anchors.centerIn: parent
//Layout.preferredHeight: 170 * DefaultStyle.dp //Layout.preferredHeight: Math.round(170 * DefaultStyle.dp)
source: $modelData?.windowId ? "image://window/"+ $modelData.windowId : "image://screen/"+ $modelData.screenIndex source: $modelData?.windowId ? "image://window/"+ $modelData.windowId : "image://screen/"+ $modelData.screenIndex
sourceSize.width: parent.width sourceSize.width: parent.width
sourceSize.height: parent.height sourceSize.height: parent.height
@ -71,11 +71,11 @@ ColumnLayout {
} }
} }
RowLayout{ RowLayout{
Layout.topMargin: 6 * DefaultStyle.dp Layout.topMargin: Math.round(6 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Image{ Image{
Layout.preferredHeight: 15 * DefaultStyle.dp Layout.preferredHeight: Math.round(15 * DefaultStyle.dp)
Layout.preferredWidth: 15 * DefaultStyle.dp Layout.preferredWidth: Math.round(15 * DefaultStyle.dp)
visible: !!$modelData?.windowId visible: !!$modelData?.windowId
source: visible ? "image://window_icon/"+ $modelData.windowId : '' source: visible ? "image://window_icon/"+ $modelData.windowId : ''
sourceSize.width: width sourceSize.width: width
@ -86,7 +86,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
text: !!$modelData?.windowId ? $modelData.name : qsTr("Ecran %1").arg(screenIndex+1) text: !!$modelData?.windowId ? $modelData.name : qsTr("Ecran %1").arg(screenIndex+1)
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
font.pixelSize: (displayScreen ? 14 : 10)* DefaultStyle.dp font.pixelSize: Math.round((displayScreen ? 14 : 10) * DefaultStyle.dp)
elide: Text.ElideRight elide: Text.ElideRight
maximumLineCount: 1 maximumLineCount: 1
} }
@ -97,7 +97,7 @@ ColumnLayout {
currentIndex: bar.currentIndex currentIndex: bar.currentIndex
ListView{ ListView{
id: screensLayout id: screensLayout
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
clip: true clip: true
//property int selectedIndex //property int selectedIndex
model: ScreenProxy{ model: ScreenProxy{
@ -106,9 +106,9 @@ ColumnLayout {
} }
onVisibleChanged: if(visible) screensList.update() onVisibleChanged: if(visible) screensList.update()
delegate: ScreenPreviewLayout { delegate: ScreenPreviewLayout {
horizontalMargin: (28 - 20 ) * DefaultStyle.dp // 20 coming from CallsWindow panel horizontalMargin: Math.round((28 - 20 ) * DefaultStyle.dp) // 20 coming from CallsWindow panel
width: screensLayout.width width: screensLayout.width
height: 219 * DefaultStyle.dp height: Math.round(219 * DefaultStyle.dp)
screenIndex: index screenIndex: index
onClicked: {//screensLayout.selectedIndex = index onClicked: {//screensLayout.selectedIndex = index
screensLayout.currentIndex = index screensLayout.currentIndex = index
@ -131,14 +131,14 @@ ColumnLayout {
currentIndex: -1 currentIndex: -1
onVisibleChanged: if(visible) windowsList.update() onVisibleChanged: if(visible) windowsList.update()
cellWidth: width / 2 cellWidth: width / 2
cellHeight: (112 + 15) * DefaultStyle.dp cellHeight: Math.round((112 + 15) * DefaultStyle.dp)
clip: true clip: true
delegate: Item{ delegate: Item{
width: windowsLayout.cellWidth width: windowsLayout.cellWidth
height: windowsLayout.cellHeight height: windowsLayout.cellHeight
ScreenPreviewLayout { ScreenPreviewLayout {
anchors.fill: parent anchors.fill: parent
anchors.margins: 7 * DefaultStyle.dp anchors.margins: Math.round(7 * DefaultStyle.dp)
displayScreen: false displayScreen: false
screenIndex: index screenIndex: index
onClicked: { onClicked: {

View file

@ -40,15 +40,15 @@ ListView {
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
property int currentMonth: model.month property int currentMonth: model.month
spacing: 18 * DefaultStyle.dp spacing: Math.round(18 * DefaultStyle.dp)
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 38 * DefaultStyle.dp spacing: Math.round(38 * DefaultStyle.dp)
Text { Text {
text: UtilsCpp.toDateMonthAndYearString(new Date(model.year, model.month, 15))// 15 because of timezones that can change the date for localeString text: UtilsCpp.toDateMonthAndYearString(new Date(model.year, model.month, 15))// 15 because of timezones that can change the date for localeString
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
@ -57,8 +57,8 @@ ListView {
} }
Button { Button {
id: previousButton id: previousButton
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
icon.width: width icon.width: width
icon.height: height icon.height: height
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
@ -67,8 +67,8 @@ ListView {
} }
Button { Button {
id: nextButton id: nextButton
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
icon.width: width icon.width: width
icon.height: height icon.height: height
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
@ -78,7 +78,7 @@ ListView {
} }
ColumnLayout { ColumnLayout {
spacing: 12 * DefaultStyle.dp spacing: Math.round(12 * DefaultStyle.dp)
Control.DayOfWeekRow { Control.DayOfWeekRow {
locale: monthGrid.locale locale: monthGrid.locale
Layout.column: 1 Layout.column: 1
@ -89,8 +89,8 @@ ListView {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }
@ -146,9 +146,9 @@ ListView {
Rectangle { Rectangle {
anchors.centerIn: parent anchors.centerIn: parent
width: 30 * DefaultStyle.dp width: Math.round(30 * DefaultStyle.dp)
height: 30 * DefaultStyle.dp height: Math.round(30 * DefaultStyle.dp)
radius: 50 * DefaultStyle.dp radius: Math.round(50 * DefaultStyle.dp)
color: isSelectedDay ? DefaultStyle.main1_500_main : "transparent" color: isSelectedDay ? DefaultStyle.main1_500_main : "transparent"
border.width: focusDay.activeFocus || hoveringArea.containsMouse ? 1 : 0 border.width: focusDay.activeFocus || hoveringArea.containsMouse ? 1 : 0
@ -164,8 +164,8 @@ ListView {
? DefaultStyle.main2_700 ? DefaultStyle.main2_700
: DefaultStyle.main2_400 : DefaultStyle.main2_400
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }

View file

@ -32,7 +32,7 @@ FormItemLayout {
contentItem: TextField { contentItem: TextField {
id: textField id: textField
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
placeholderText: useTitleAsPlaceHolder ? mainItem.title : mainItem.placeHolder placeholderText: useTitleAsPlaceHolder ? mainItem.title : mainItem.placeHolder
initialText: (mainItem.propertyOwnerGui ? mainItem.propertyOwnerGui.core[mainItem.propertyName] : mainItem.propertyOwner[mainItem.propertyName]) || '' initialText: (mainItem.propertyOwnerGui ? mainItem.propertyOwnerGui.core[mainItem.propertyName] : mainItem.propertyOwner[mainItem.propertyName]) || ''
customWidth: mainItem.parent.width customWidth: mainItem.parent.width

View file

@ -4,7 +4,7 @@ import Linphone
Control.TextField { Control.TextField {
id: mainItem id: mainItem
property int inputSize: 100 * DefaultStyle.dp property real inputSize: Math.round(100 * DefaultStyle.dp)
color: activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main color: activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main
validator: IntValidator{bottom: 0; top: 9} validator: IntValidator{bottom: 0; top: 9}
@ -24,7 +24,7 @@ Control.TextField {
// horizontalAlignment: Control.TextField.AlignHCenter // horizontalAlignment: Control.TextField.AlignHCenter
font.family: DefaultStyle.defaultFont font.family: DefaultStyle.defaultFont
font.pixelSize: inputSize / 2 font.pixelSize: inputSize / 2
font.weight: 300 * DefaultStyle.dp font.weight: Math.round(300 * DefaultStyle.dp)
background: Item { background: Item {
anchors.fill: parent anchors.fill: parent
@ -32,7 +32,7 @@ Control.TextField {
// height: mainItem.inputSize // height: mainItem.inputSize
Rectangle { Rectangle {
id: background id: background
border.width: Math.max(DefaultStyle.dp, 1) border.width: Math.round(Math.max(DefaultStyle.dp), 1)
border.color: mainItem.activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main border.color: mainItem.activeFocus ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main
radius: mainItem.inputSize * 0.15 radius: mainItem.inputSize * 0.15
width: mainItem.inputSize * 0.9 width: mainItem.inputSize * 0.9
@ -42,11 +42,11 @@ Control.TextField {
id: indicator id: indicator
visible: mainItem.activeFocus visible: mainItem.activeFocus
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
height : Math.max(0.5, 1 * DefaultStyle.dp) height : Math.max(1, Math.round(1 * DefaultStyle.dp))
width: mainItem.inputSize * 0.67 width: mainItem.inputSize * 0.67
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.bottomMargin: (mainItem.inputSize / 8) * DefaultStyle.dp anchors.bottomMargin: Math.round((mainItem.inputSize / 8) * DefaultStyle.dp)
} }
} }
} }

View file

@ -90,8 +90,8 @@ FocusScope{
Layout.GridLayout { Layout.GridLayout {
id: numPadGrid id: numPadGrid
columns: 3 columns: 3
columnSpacing: 40 * DefaultStyle.dp columnSpacing: (40 * DefaultStyle.dp)
rowSpacing: 10 * DefaultStyle.dp rowSpacing: (10 * DefaultStyle.dp)
function getButtonAt(index){ function getButtonAt(index){
index = (index+15) % 15 index = (index+15) % 15
if(index >= 0){ if(index >= 0){
@ -113,8 +113,8 @@ FocusScope{
id: numPadButton id: numPadButton
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
required property int index required property int index
implicitWidth: 60 * DefaultStyle.dp implicitWidth: (60 * DefaultStyle.dp)
implicitHeight: 60 * DefaultStyle.dp implicitHeight: (60 * DefaultStyle.dp)
onClicked: { onClicked: {
mainItem.buttonPressed(text) mainItem.buttonPressed(text)
} }
@ -123,10 +123,10 @@ FocusScope{
KeyNavigation.up: numPadGrid.getButtonAt(index - 3) KeyNavigation.up: numPadGrid.getButtonAt(index - 3)
KeyNavigation.down: numPadGrid.getButtonAt(index + 3) KeyNavigation.down: numPadGrid.getButtonAt(index + 3)
style: ButtonStyle.numericPad style: ButtonStyle.numericPad
radius: 71 * DefaultStyle.dp radius: (71 * DefaultStyle.dp)
text: index + 1 text: index + 1
textSize: 32 * DefaultStyle.dp textSize: (32 * DefaultStyle.dp)
textWeight: 400 * DefaultStyle.dp textWeight: (400 * DefaultStyle.dp)
} }
} }
Repeater { Repeater {
@ -139,8 +139,8 @@ FocusScope{
BigButton { BigButton {
id: digitButton id: digitButton
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
implicitWidth: 60 * DefaultStyle.dp implicitWidth: (60 * DefaultStyle.dp)
implicitHeight: 60 * DefaultStyle.dp implicitHeight: (60 * DefaultStyle.dp)
onClicked: mainItem.buttonPressed(pressText.text) onClicked: mainItem.buttonPressed(pressText.text)
onPressAndHold: mainItem.buttonPressed(longPressText.text) onPressAndHold: mainItem.buttonPressed(longPressText.text)
@ -149,7 +149,7 @@ FocusScope{
KeyNavigation.right: numPadGrid.getButtonAt((index + 1)+9) KeyNavigation.right: numPadGrid.getButtonAt((index + 1)+9)
KeyNavigation.up: numPadGrid.getButtonAt((index - 3)+9) KeyNavigation.up: numPadGrid.getButtonAt((index - 3)+9)
KeyNavigation.down: numPadGrid.getButtonAt((index + 3)+9) KeyNavigation.down: numPadGrid.getButtonAt((index + 3)+9)
radius: 71 * DefaultStyle.dp radius: (71 * DefaultStyle.dp)
style: ButtonStyle.numericPad style: ButtonStyle.numericPad
contentItem: Item { contentItem: Item {
@ -163,7 +163,7 @@ FocusScope{
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
Component.onCompleted: {if (modelData.longPressText === undefined) anchors.centerIn= parent} Component.onCompleted: {if (modelData.longPressText === undefined) anchors.centerIn= parent}
text: modelData.pressText text: modelData.pressText
font.pixelSize: 32 * DefaultStyle.dp font.pixelSize: (32 * DefaultStyle.dp)
} }
Text { Text {
id: longPressText id: longPressText
@ -175,7 +175,7 @@ FocusScope{
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
visible: modelData.longPressText ? modelData.longPressText.length > 0 : false visible: modelData.longPressText ? modelData.longPressText.length > 0 : false
text: modelData.longPressText ? modelData.longPressText : "" text: modelData.longPressText ? modelData.longPressText : ""
font.pixelSize: 22 * DefaultStyle.dp font.pixelSize: (22 * DefaultStyle.dp)
} }
} }
} }
@ -187,12 +187,12 @@ FocusScope{
Button { Button {
id: launchCallButton id: launchCallButton
visible: mainItem.lastRowVisible visible: mainItem.lastRowVisible
implicitWidth: 75 * DefaultStyle.dp implicitWidth: (75 * DefaultStyle.dp)
implicitHeight: 55 * DefaultStyle.dp implicitHeight: (55 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
icon.width: 32 * DefaultStyle.dp icon.width: (32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: (32 * DefaultStyle.dp)
radius: 71 * DefaultStyle.dp radius: (71 * DefaultStyle.dp)
style: ButtonStyle.phoneGreen style: ButtonStyle.phoneGreen
onClicked: mainItem.launchCall() onClicked: mainItem.launchCall()
@ -205,17 +205,17 @@ FocusScope{
Button { Button {
id: eraseButton id: eraseButton
visible: mainItem.lastRowVisible visible: mainItem.lastRowVisible
leftPadding: 5 * DefaultStyle.dp leftPadding: (5 * DefaultStyle.dp)
rightPadding: 5 * DefaultStyle.dp rightPadding: (5 * DefaultStyle.dp)
topPadding: 5 * DefaultStyle.dp topPadding: (5 * DefaultStyle.dp)
bottomPadding: 5 * DefaultStyle.dp bottomPadding: (5 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
icon.source: AppIcons.backspaceFill icon.source: AppIcons.backspaceFill
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.width: 38 * DefaultStyle.dp icon.width: (38 * DefaultStyle.dp)
icon.height: 38 * DefaultStyle.dp icon.height: (38 * DefaultStyle.dp)
Layout.Layout.preferredWidth: 38 * DefaultStyle.dp Layout.Layout.preferredWidth: (38 * DefaultStyle.dp)
Layout.Layout.preferredHeight: 38 * DefaultStyle.dp Layout.Layout.preferredHeight: (38 * DefaultStyle.dp)
onClicked: mainItem.wipe() onClicked: mainItem.wipe()

View file

@ -11,7 +11,7 @@ ColumnLayout {
property string placeholderText : "" property string placeholderText : ""
property bool mandatory: false property bool mandatory: false
property bool enableErrorText: true property bool enableErrorText: true
property int textInputWidth: width property real textInputWidth: width
property string initialPhoneNumber property string initialPhoneNumber
readonly property string phoneNumber: textField.text readonly property string phoneNumber: textField.text
readonly property string countryCode: combobox.currentText readonly property string countryCode: combobox.currentText
@ -23,8 +23,8 @@ ColumnLayout {
text: mainItem.label + (mainItem.mandatory ? "*" : "") text: mainItem.label + (mainItem.mandatory ? "*" : "")
color: (combobox.hasActiveFocus || textField.hasActiveFocus) ? DefaultStyle.main1_500_main : DefaultStyle.main2_600 color: (combobox.hasActiveFocus || textField.hasActiveFocus) ? DefaultStyle.main1_500_main : DefaultStyle.main2_600
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p2.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2.weight
} }
} }
@ -34,8 +34,8 @@ ColumnLayout {
Rectangle { Rectangle {
id: contentBackground id: contentBackground
width: mainItem.textInputWidth width: mainItem.textInputWidth
height: 49 * DefaultStyle.dp height: Math.round(49 * DefaultStyle.dp)
radius: 63 * DefaultStyle.dp radius: Math.round(63 * DefaultStyle.dp)
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
border.color: mainItem.errorMessage.length > 0 border.color: mainItem.errorMessage.length > 0
? DefaultStyle.danger_500main ? DefaultStyle.danger_500main
@ -46,14 +46,14 @@ ColumnLayout {
anchors.fill: parent anchors.fill: parent
CountryIndicatorCombobox { CountryIndicatorCombobox {
id: combobox id: combobox
implicitWidth: 110 * DefaultStyle.dp implicitWidth: Math.round(110 * DefaultStyle.dp)
defaultCallingCode: mainItem.defaultCallingCode defaultCallingCode: mainItem.defaultCallingCode
} }
Rectangle { Rectangle {
Layout.preferredWidth: 1 * DefaultStyle.dp Layout.preferredWidth: Math.max(Math.round(1 * DefaultStyle.dp), 1)
Layout.fillHeight: true Layout.fillHeight: true
Layout.topMargin: 10 * DefaultStyle.dp Layout.topMargin: Math.round(10 * DefaultStyle.dp)
Layout.bottomMargin: 10 * DefaultStyle.dp Layout.bottomMargin: Math.round(10 * DefaultStyle.dp)
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
} }
TextField { TextField {
@ -76,7 +76,7 @@ ColumnLayout {
elide: Text.ElideRight elide: Text.ElideRight
wrapMode: Text.Wrap wrapMode: Text.Wrap
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Math.round(13 * DefaultStyle.dp)
family: DefaultStyle.defaultFont family: DefaultStyle.defaultFont
bold: true bold: true
} }

View file

@ -8,7 +8,7 @@ FocusScope {
id: mainItem id: mainItem
property string placeholderText: "" property string placeholderText: ""
property color placeholderTextColor: DefaultStyle.main2_400 property color placeholderTextColor: DefaultStyle.main2_400
property int textInputWidth: 350 * DefaultStyle.dp property real textInputWidth: Math.round(350 * DefaultStyle.dp)
property color borderColor: "transparent" property color borderColor: "transparent"
property color focusedBorderColor: DefaultStyle.main2_500main property color focusedBorderColor: DefaultStyle.main2_500main
property string text: textField.searchText property string text: textField.searchText
@ -38,12 +38,12 @@ FocusScope {
implicitWidth: mainItem.textInputWidth implicitWidth: mainItem.textInputWidth
implicitHeight: 50 * DefaultStyle.dp implicitHeight: Math.round(50 * DefaultStyle.dp)
Rectangle{ Rectangle{
id: backgroundItem id: backgroundItem
anchors.fill: parent anchors.fill: parent
radius: 28 * DefaultStyle.dp radius: Math.round(28 * DefaultStyle.dp)
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
border.color: textField.activeFocus ? mainItem.focusedBorderColor : mainItem.borderColor border.color: textField.activeFocus ? mainItem.focusedBorderColor : mainItem.borderColor
} }
@ -53,15 +53,15 @@ FocusScope {
colorizationColor: DefaultStyle.main2_500main colorizationColor: DefaultStyle.main2_500main
anchors.left: parent.left anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.leftMargin: 10 * DefaultStyle.dp anchors.leftMargin: Math.round(10 * DefaultStyle.dp)
imageSource: AppIcons.magnifier imageSource: AppIcons.magnifier
width: 20 * DefaultStyle.dp width: Math.round(20 * DefaultStyle.dp)
height: 20 * DefaultStyle.dp height: Math.round(20 * DefaultStyle.dp)
} }
Control.TextField { Control.TextField {
id: textField id: textField
anchors.left: magnifier.visible ? magnifier.right : parent.left anchors.left: magnifier.visible ? magnifier.right : parent.left
anchors.leftMargin: magnifier.visible ? 0 : 10 * DefaultStyle.dp anchors.leftMargin: magnifier.visible ? 0 : Math.round(10 * DefaultStyle.dp)
anchors.right: clearTextButton.left anchors.right: clearTextButton.left
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
@ -73,8 +73,8 @@ FocusScope {
width: mainItem.width - dialerButton.width width: mainItem.width - dialerButton.width
echoMode: (mainItem.hidden && !dialerButton.checked) ? TextInput.Password : TextInput.Normal echoMode: (mainItem.hidden && !dialerButton.checked) ? TextInput.Password : TextInput.Normal
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
family: DefaultStyle.defaultFont family: DefaultStyle.defaultFont
} }
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
@ -87,7 +87,7 @@ FocusScope {
cursorDelegate: Rectangle { cursorDelegate: Rectangle {
visible: textField.cursorVisible visible: textField.cursorVisible
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
width: 1 * DefaultStyle.dp width: Math.max(Math.round(1 * DefaultStyle.dp), 1)
} }
Timer{ Timer{
id: delayTimer id: delayTimer
@ -104,11 +104,11 @@ FocusScope {
icon.source: AppIcons.dialer icon.source: AppIcons.dialer
contentImageColor: dialerButton.checked ? DefaultStyle.main1_500_main : DefaultStyle.main2_600 contentImageColor: dialerButton.checked ? DefaultStyle.main1_500_main : DefaultStyle.main2_600
hoveredImageColor: contentImageColor hoveredImageColor: contentImageColor
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 20 * DefaultStyle.dp anchors.rightMargin: Math.round(20 * DefaultStyle.dp)
onClicked: { onClicked: {
if(!checked){ if(!checked){
mainItem.openNumericPadRequested() mainItem.openNumericPadRequested()
@ -119,14 +119,14 @@ FocusScope {
Button { Button {
id: clearTextButton id: clearTextButton
visible: textField.text.length > 0 && mainItem.enabled visible: textField.text.length > 0 && mainItem.enabled
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
anchors.top: parent.top anchors.top: parent.top
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 20 * DefaultStyle.dp anchors.rightMargin: Math.round(20 * DefaultStyle.dp)
onClicked: { onClicked: {
textField.clear() textField.clear()
} }

View file

@ -7,14 +7,14 @@ TextEdit {
id: mainItem id: mainItem
property string placeholderText property string placeholderText
property int placeholderPixelSize: 14 * DefaultStyle.dp property real placeholderPixelSize: Typography.p1.pixelSize
property int placeholderWeight: 400 * DefaultStyle.dp property real placeholderWeight: Typography.p1.weight
property color placeholderTextColor: color property color placeholderTextColor: color
property alias background: background.data property alias background: background.data
property bool hoverEnabled: false property bool hoverEnabled: false
property bool hovered: mouseArea.hoverEnabled && mouseArea.containsMouse property bool hovered: mouseArea.hoverEnabled && mouseArea.containsMouse
topPadding: 5 * DefaultStyle.dp topPadding: Math.round(5 * DefaultStyle.dp)
bottomPadding: 5 * DefaultStyle.dp bottomPadding: Math.round(5 * DefaultStyle.dp)
activeFocusOnTab: true activeFocusOnTab: true
MouseArea { MouseArea {

View file

@ -7,12 +7,12 @@ import "qrc:/qt/qml/Linphone/view/Style/buttonStyle.js" as ButtonStyle
Control.TextField { Control.TextField {
id: mainItem id: mainItem
property var customWidth property var customWidth
width: (customWidth ? customWidth - 1 : 360) * DefaultStyle.dp width: Math.round((customWidth ? customWidth - 1 : 360) * DefaultStyle.dp)
height: 49 * DefaultStyle.dp height: Math.round(49 * DefaultStyle.dp)
leftPadding: 15 * DefaultStyle.dp leftPadding: Math.round(15 * DefaultStyle.dp)
rightPadding: eyeButton.visible rightPadding: eyeButton.visible
? 5 * DefaultStyle.dp + eyeButton.width + eyeButton.rightMargin ? Math.round(5 * DefaultStyle.dp) + eyeButton.width + eyeButton.rightMargin
: 15 * DefaultStyle.dp : Math.round(15 * DefaultStyle.dp)
echoMode: (hidden && !eyeButton.checked) ? TextInput.Password : TextInput.Normal echoMode: (hidden && !eyeButton.checked) ? TextInput.Password : TextInput.Normal
// Workaround for Windows slowness when first typing a password // Workaround for Windows slowness when first typing a password
@ -27,8 +27,8 @@ Control.TextField {
placeholderTextColor: DefaultStyle.placeholders placeholderTextColor: DefaultStyle.placeholders
font { font {
family: DefaultStyle.defaultFont family: DefaultStyle.defaultFont
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
selectByMouse: true selectByMouse: true
activeFocusOnTab: true activeFocusOnTab: true
@ -43,8 +43,8 @@ Control.TextField {
property color disabledBackgroundColor: DefaultStyle.grey_200 property color disabledBackgroundColor: DefaultStyle.grey_200
property color backgroundBorderColor: DefaultStyle.grey_200 property color backgroundBorderColor: DefaultStyle.grey_200
property string initialText property string initialText
property int pixelSize: 14 * DefaultStyle.dp property real pixelSize: Typography.p1.pixelSize
property int weight: 400 * DefaultStyle.dp property real weight: Typography.p1.weight
// fill propertyName and propertyOwner to check text validity // fill propertyName and propertyOwner to check text validity
property string propertyName property string propertyName
@ -115,7 +115,7 @@ Control.TextField {
id: inputBackground id: inputBackground
visible: mainItem.backgroundVisible visible: mainItem.backgroundVisible
anchors.fill: parent anchors.fill: parent
radius: 79 * DefaultStyle.dp radius: Math.round(79 * DefaultStyle.dp)
color: mainItem.enabled ? mainItem.backgroundColor : mainItem.disabledBackgroundColor color: mainItem.enabled ? mainItem.backgroundColor : mainItem.disabledBackgroundColor
border.color: mainItem.isError ? DefaultStyle.danger_500main : mainItem.activeFocus ? DefaultStyle.main1_500_main : mainItem.backgroundBorderColor border.color: mainItem.isError ? DefaultStyle.danger_500main : mainItem.activeFocus ? DefaultStyle.main1_500_main : mainItem.backgroundBorderColor
} }
@ -123,7 +123,7 @@ Control.TextField {
cursorDelegate: Rectangle { cursorDelegate: Rectangle {
id: cursor id: cursor
color: DefaultStyle.main1_500_main color: DefaultStyle.main1_500_main
width: 1 * DefaultStyle.dp width: Math.max(Math.round(1 * DefaultStyle.dp), 1)
anchors.verticalCenter: mainItem.verticalCenter anchors.verticalCenter: mainItem.verticalCenter
SequentialAnimation { SequentialAnimation {
@ -174,14 +174,14 @@ Control.TextField {
Button { Button {
id: eyeButton id: eyeButton
KeyNavigation.left: mainItem KeyNavigation.left: mainItem
property int rightMargin: 15 * DefaultStyle.dp property real rightMargin: Math.round(15 * DefaultStyle.dp)
z: 1 z: 1
visible: mainItem.hidden visible: mainItem.hidden
checkable: true checkable: true
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: eyeButton.checked ? AppIcons.eyeShow : AppIcons.eyeHide icon.source: eyeButton.checked ? AppIcons.eyeShow : AppIcons.eyeHide
width: 20 * DefaultStyle.dp width: Math.round(20 * DefaultStyle.dp)
height: 20 * DefaultStyle.dp height: Math.round(20 * DefaultStyle.dp)
icon.width: width icon.width: width
icon.height: height icon.height: height
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter

View file

@ -21,10 +21,10 @@ ComboBox {
property alias contentText: input property alias contentText: input
property var minTime property var minTime
property var maxTime property var maxTime
popup.width: 73 * DefaultStyle.dp popup.width: Math.round(73 * DefaultStyle.dp)
listView.model: 48 listView.model: 48
listView.height: Math.min(204 * DefaultStyle.dp, listView.contentHeight) listView.height: Math.min(Math.round(204 * DefaultStyle.dp), listView.contentHeight)
popup.height: Math.min(204 * DefaultStyle.dp, listView.contentHeight) popup.height: Math.min(Math.round(204 * DefaultStyle.dp), listView.contentHeight)
editable: true editable: true
popup.closePolicy: Popup.PressOutsideParent | Popup.CloseOnPressOutside popup.closePolicy: Popup.PressOutsideParent | Popup.CloseOnPressOutside
onCurrentTextChanged: input.text = currentText onCurrentTextChanged: input.text = currentText
@ -52,8 +52,8 @@ ComboBox {
} }
} }
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
} }
text: mainItem.selectedTimeString text: mainItem.selectedTimeString
Keys.onPressed: (event) => { Keys.onPressed: (event) => {
@ -74,12 +74,12 @@ ComboBox {
text: Qt.formatDateTime(currentDateTime, "hh:mm") text: Qt.formatDateTime(currentDateTime, "hh:mm")
width: mainItem.width width: mainItem.width
visible: mainItem.minTime == undefined || UtilsCpp.timeOffset(mainItem.minTime, currentDateTime) > 0 visible: mainItem.minTime == undefined || UtilsCpp.timeOffset(mainItem.minTime, currentDateTime) > 0
height: visible ? 25 * DefaultStyle.dp : 0 height: visible ? Math.round(25 * DefaultStyle.dp) : 0
verticalAlignment: TextInput.AlignVCenter verticalAlignment: TextInput.AlignVCenter
horizontalAlignment: TextInput.AlignHCenter horizontalAlignment: TextInput.AlignHCenter
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent

View file

@ -17,11 +17,11 @@ Dialog {
readonly property string password: passwordEdit.text readonly property string password: passwordEdit.text
property var callback// Define cb(var) function property var callback// Define cb(var) function
topPadding: 20 * DefaultStyle.dp topPadding:Math.round( 20 * DefaultStyle.dp)
bottomPadding: 20 * DefaultStyle.dp bottomPadding:Math.round( 20 * DefaultStyle.dp)
leftPadding: 20 * DefaultStyle.dp leftPadding:Math.round( 20 * DefaultStyle.dp)
rightPadding: 20 * DefaultStyle.dp rightPadding:Math.round( 20 * DefaultStyle.dp)
width: 637 * DefaultStyle.dp width:Math.round( 637 * DefaultStyle.dp)
modal: true modal: true
closePolicy: Popup.NoAutoClose closePolicy: Popup.NoAutoClose
@ -33,19 +33,19 @@ Dialog {
Component.onDestruction: if(callback) callback.destroy() Component.onDestruction: if(callback) callback.destroy()
content: ColumnLayout { content: ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing:Math.round( 20 * DefaultStyle.dp)
id: contentLayout id: contentLayout
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: 250 * DefaultStyle.dp Layout.preferredWidth:Math.round( 250 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: qsTr("Impossible de vous authentifier. Merci de vérifier votre mot de passe.") text: qsTr("Impossible de vous authentifier. Merci de vérifier votre mot de passe.")
font.pixelSize: 16 * DefaultStyle.dp font.pixelSize:Math.round( 16 * DefaultStyle.dp)
} }
ColumnLayout { ColumnLayout {
spacing: 10 * DefaultStyle.dp spacing:Math.round( 10 * DefaultStyle.dp)
FormItemLayout { FormItemLayout {
Layout.fillWidth: true Layout.fillWidth: true
label: qsTr("Identité") label: qsTr("Identité")
@ -90,7 +90,7 @@ Dialog {
buttons: [ buttons: [
MediumButton { MediumButton {
id: cancelButton id: cancelButton
Layout.topMargin: 10 * DefaultStyle.dp Layout.topMargin: Math.round( 10 * DefaultStyle.dp)
text: qsTr("Annuler") text: qsTr("Annuler")
style: ButtonStyle.secondary style: ButtonStyle.secondary
onClicked: mainItem.rejected() onClicked: mainItem.rejected()
@ -99,7 +99,7 @@ Dialog {
}, },
MediumButton { MediumButton {
id: connectButton id: connectButton
Layout.topMargin: 10 * DefaultStyle.dp Layout.topMargin:Math.round( 10 * DefaultStyle.dp)
text: qsTr("Se connecter") text: qsTr("Se connecter")
style: ButtonStyle.main style: ButtonStyle.main
KeyNavigation.up: passwordEdit KeyNavigation.up: passwordEdit

View file

@ -10,12 +10,12 @@ Popup {
modal: true modal: true
anchors.centerIn: parent anchors.centerIn: parent
closePolicy: Control.Popup.NoAutoClose closePolicy: Control.Popup.NoAutoClose
leftPadding: title.length === 0 ? 10 * DefaultStyle.dp : 33 * DefaultStyle.dp leftPadding: title.length === 0 ? Math.round(10 * DefaultStyle.dp) : Math.round(33 * DefaultStyle.dp)
rightPadding: title.length === 0 ? 10 * DefaultStyle.dp : 33 * DefaultStyle.dp rightPadding: title.length === 0 ? Math.round(10 * DefaultStyle.dp) : Math.round(33 * DefaultStyle.dp)
topPadding: title.length === 0 ? 10 * DefaultStyle.dp : 37 * DefaultStyle.dp topPadding: title.length === 0 ? Math.round(10 * DefaultStyle.dp) : Math.round(37 * DefaultStyle.dp)
bottomPadding: title.length === 0 ? 10 * DefaultStyle.dp : 37 * DefaultStyle.dp bottomPadding: title.length === 0 ? Math.round(10 * DefaultStyle.dp) : Math.round(37 * DefaultStyle.dp)
underlineColor: DefaultStyle.main1_500_main underlineColor: DefaultStyle.main1_500_main
radius: title.length === 0 ? 16 * DefaultStyle.dp : 0 radius: title.length === 0 ? Math.round(16 * DefaultStyle.dp) : 0
property string title property string title
property var titleColor: DefaultStyle.main1_500_main property var titleColor: DefaultStyle.main1_500_main
property string text property string text
@ -47,7 +47,7 @@ Popup {
ColumnLayout { ColumnLayout {
id: child id: child
anchors.fill: parent anchors.fill: parent
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
Text{ Text{
id: titleText id: titleText
@ -56,8 +56,8 @@ Popup {
text: mainItem.title text: mainItem.title
color: mainItem.titleColor color: mainItem.titleColor
font { font {
pixelSize: 22 * DefaultStyle.dp pixelSize: Typography.h3.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h3.weight
} }
wrapMode: Text.Wrap wrapMode: Text.Wrap
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
@ -76,8 +76,8 @@ Popup {
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
text: mainItem.text text: mainItem.text
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
wrapMode: Text.Wrap wrapMode: Text.Wrap
horizontalAlignment: titleText.visible ? Text.AlignLeft : Text.AlignHCenter horizontalAlignment: titleText.visible ? Text.AlignLeft : Text.AlignHCenter
@ -86,12 +86,12 @@ Popup {
id: detailsText id: detailsText
visible: text.length != 0 visible: text.length != 0
Layout.fillWidth: true Layout.fillWidth: true
//Layout.preferredWidth: 278 * DefaultStyle.dp //Layout.preferredWidth: Math.round(278 * DefaultStyle.dp)
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
text: mainItem.details text: mainItem.details
font { font {
pixelSize: 13 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
italic: true italic: true
} }
wrapMode: Text.Wrap wrapMode: Text.Wrap
@ -107,7 +107,7 @@ Popup {
RowLayout { RowLayout {
id: buttonsLayout id: buttonsLayout
Layout.alignment: Qt.AlignBottom | ( titleText.visible ? Qt.AlignRight : Qt.AlignHCenter) Layout.alignment: Qt.AlignBottom | ( titleText.visible ? Qt.AlignRight : Qt.AlignHCenter)
spacing: titleText.visible ? 20 * DefaultStyle.dp : 10 * DefaultStyle.dp spacing: titleText.visible ? Math.round(20 * DefaultStyle.dp) : Math.round(10 * DefaultStyle.dp)
// Default buttons only visible if no other children // Default buttons only visible if no other children
// have been set // have been set

View file

@ -9,11 +9,11 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
// ============================================================================= // =============================================================================
Dialog { Dialog {
id: mainItem id: mainItem
width: 436 * DefaultStyle.dp width: Math.round(436 * DefaultStyle.dp)
rightPadding: 0 * DefaultStyle.dp rightPadding: Math.round(0 * DefaultStyle.dp)
leftPadding: 0 * DefaultStyle.dp leftPadding: Math.round(0 * DefaultStyle.dp)
topPadding: 85 * DefaultStyle.dp + 24 * DefaultStyle.dp topPadding: Math.round(85 * DefaultStyle.dp) + Math.round(24 * DefaultStyle.dp)
bottomPadding: 24 * DefaultStyle.dp bottomPadding: Math.round(24 * DefaultStyle.dp)
modal: true modal: true
closePolicy: Popup.NoAutoClose closePolicy: Popup.NoAutoClose
@ -39,10 +39,10 @@ Dialog {
radius: mainItem.radius radius: mainItem.radius
Layout.ColumnLayout { Layout.ColumnLayout {
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 18 * DefaultStyle.dp anchors.topMargin: Math.round(18 * DefaultStyle.dp)
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
Item { Item {
// spacing: 14 * DefaultStyle.dp // spacing: Math.round(14 * DefaultStyle.dp)
Layout.Layout.preferredWidth: childrenRect.width Layout.Layout.preferredWidth: childrenRect.width
Layout.Layout.preferredHeight: childrenRect.height Layout.Layout.preferredHeight: childrenRect.height
Layout.Layout.fillWidth: true Layout.Layout.fillWidth: true
@ -50,19 +50,19 @@ Dialog {
id: trustShield id: trustShield
anchors.centerIn: parent anchors.centerIn: parent
source: AppIcons.trustedWhite source: AppIcons.trustedWhite
sourceSize.width: 24 * DefaultStyle.dp sourceSize.width: Math.round(24 * DefaultStyle.dp)
sourceSize.height: 24 * DefaultStyle.dp sourceSize.height: Math.round(24 * DefaultStyle.dp)
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
} }
EffectImage { EffectImage {
anchors.left: trustShield.right anchors.left: trustShield.right
anchors.leftMargin: 14 * DefaultStyle.dp anchors.leftMargin: Math.round(14 * DefaultStyle.dp)
visible: mainItem.securityError visible: mainItem.securityError
imageSource: AppIcons.shieldWarning imageSource: AppIcons.shieldWarning
colorizationColor: DefaultStyle.main2_700 colorizationColor: DefaultStyle.main2_700
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
} }
} }
Text { Text {
@ -70,8 +70,8 @@ Dialog {
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
} }
} }
Item{Layout.Layout.fillHeight: true} Item{Layout.Layout.fillHeight: true}
@ -80,8 +80,8 @@ Dialog {
visible: !mainItem.securityError visible: !mainItem.securityError
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 10 * DefaultStyle.dp anchors.topMargin: Math.round(10 * DefaultStyle.dp)
anchors.rightMargin: 17 * DefaultStyle.dp anchors.rightMargin: Math.round(17 * DefaultStyle.dp)
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
text: qsTr("Passer") text: qsTr("Passer")
textColor: DefaultStyle.grey_0 textColor: DefaultStyle.grey_0
@ -97,9 +97,9 @@ Dialog {
Rectangle { Rectangle {
z: 1 z: 1
width: mainItem.width width: mainItem.width
height: parent.height - 85 * DefaultStyle.dp height: parent.height - Math.round(85 * DefaultStyle.dp)
x: parent.x x: parent.x
y: parent.y + 85 * DefaultStyle.dp y: parent.y + Math.round(85 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
radius: mainItem.radius radius: mainItem.radius
} }
@ -116,21 +116,21 @@ Dialog {
content: [ content: [
Layout.ColumnLayout { Layout.ColumnLayout {
visible: !mainItem.securityError visible: !mainItem.securityError
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Layout.Layout.fillWidth: true Layout.Layout.fillWidth: true
Layout.ColumnLayout { Layout.ColumnLayout {
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Text { Text {
Layout.Layout.preferredWidth: 343 * DefaultStyle.dp Layout.Layout.preferredWidth: Math.round(343 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
text: !mainItem.isTokenVerified && mainItem.isCaseMismatch text: !mainItem.isTokenVerified && mainItem.isCaseMismatch
? qsTr("Pour garantir le chiffrement, nous avons besoin de réauthentifier lappareil de votre correspondant. Echangez vos codes :") ? qsTr("Pour garantir le chiffrement, nous avons besoin de réauthentifier lappareil de votre correspondant. Echangez vos codes :")
: qsTr("Pour garantir le chiffrement, nous avons besoin dauthentifier lappareil de votre correspondant. Veuillez échanger vos codes : ") : qsTr("Pour garantir le chiffrement, nous avons besoin dauthentifier lappareil de votre correspondant. Veuillez échanger vos codes : ")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
} }
Layout.ColumnLayout { Layout.ColumnLayout {
spacing: 0 spacing: 0
@ -139,15 +139,15 @@ Dialog {
text: qsTr("Votre code :") text: qsTr("Votre code :")
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
} }
Text { Text {
text: mainItem.call && mainItem.call.core.localToken || "" text: mainItem.call && mainItem.call.core.localToken || ""
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
font { font {
pixelSize: 18 * DefaultStyle.dp pixelSize: Typography.b1.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.b1.weight
} }
} }
} }
@ -155,17 +155,17 @@ Dialog {
Rectangle { Rectangle {
color: "transparent" color: "transparent"
border.color: DefaultStyle.main2_200 border.color: DefaultStyle.main2_200
border.width: Math.max(0.5, 1 * DefaultStyle.dp) border.width: Math.max(1, Math.round(1 * DefaultStyle.dp))
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
Layout.Layout.preferredWidth: 292 * DefaultStyle.dp Layout.Layout.preferredWidth: Math.round(292 * DefaultStyle.dp)
Layout.Layout.preferredHeight: 233 * DefaultStyle.dp Layout.Layout.preferredHeight: Math.round(233 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Layout.ColumnLayout { Layout.ColumnLayout {
anchors.fill: parent anchors.fill: parent
anchors.topMargin: 10 * DefaultStyle.dp anchors.topMargin: Math.round(10 * DefaultStyle.dp)
Text { Text {
text: qsTr("Code correspondant :") text: qsTr("Code correspondant :")
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
} }
Layout.GridLayout { Layout.GridLayout {
@ -173,22 +173,22 @@ Dialog {
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
rows: 2 rows: 2
columns: 2 columns: 2
rowSpacing: 32 * DefaultStyle.dp rowSpacing: Math.round(32 * DefaultStyle.dp)
columnSpacing: 32 * DefaultStyle.dp columnSpacing: Math.round(32 * DefaultStyle.dp)
property var correctIndex property var correctIndex
property var modelList property var modelList
Repeater { Repeater {
model: mainItem.call && mainItem.call.core.remoteTokens || "" model: mainItem.call && mainItem.call.core.remoteTokens || ""
Button { Button {
Layout.Layout.preferredWidth: 70 * DefaultStyle.dp Layout.Layout.preferredWidth: Math.round(70 * DefaultStyle.dp)
Layout.Layout.preferredHeight: 70 * DefaultStyle.dp Layout.Layout.preferredHeight: Math.round(70 * DefaultStyle.dp)
width: 70 * DefaultStyle.dp width: Math.round(70 * DefaultStyle.dp)
height: 70 * DefaultStyle.dp height: Math.round(70 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
textSize: 32 * DefaultStyle.dp textSize: Math.round(32 * DefaultStyle.dp)
textWeight: 400 * DefaultStyle.dp textWeight: Math.round(400 * DefaultStyle.dp)
text: modelData text: modelData
radius: 71 * DefaultStyle.dp radius: Math.round(71 * DefaultStyle.dp)
textColor: DefaultStyle.main2_600 textColor: DefaultStyle.main2_600
onClicked: { onClicked: {
console.log("CHECK TOKEN", modelData) console.log("CHECK TOKEN", modelData)
@ -205,24 +205,24 @@ Dialog {
spacing: 0 spacing: 0
Text { Text {
width: 303 * DefaultStyle.dp width: Math.round(303 * DefaultStyle.dp)
// Layout.Layout.preferredWidth: 343 * DefaultStyle.dp // Layout.Layout.preferredWidth: Math.round(343 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Layout.Layout.fillWidth: true Layout.Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
text: qsTr("Le code fourni ne correspond pas.") text: qsTr("Le code fourni ne correspond pas.")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
} }
Text { Text {
width: 303 * DefaultStyle.dp width: Math.round(303 * DefaultStyle.dp)
// Layout.Layout.preferredWidth: 343 * DefaultStyle.dp // Layout.Layout.preferredWidth: Math.round(343 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Layout.Layout.fillWidth: true Layout.Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
text: qsTr("La confidentialité de votre appel peut être compromise !") text: qsTr("La confidentialité de votre appel peut être compromise !")
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
} }
} }
] ]
@ -231,7 +231,7 @@ Dialog {
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
MediumButton { MediumButton {
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
Layout.Layout.preferredWidth: 247 * DefaultStyle.dp Layout.Layout.preferredWidth: Math.round(247 * DefaultStyle.dp)
text: qsTr("Aucune correspondance") text: qsTr("Aucune correspondance")
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
borderColor: DefaultStyle.danger_500main borderColor: DefaultStyle.danger_500main
@ -242,12 +242,12 @@ Dialog {
} }
} }
MediumButton { MediumButton {
Layout.Layout.preferredWidth: 247 * DefaultStyle.dp Layout.Layout.preferredWidth: Math.round(247 * DefaultStyle.dp)
Layout.Layout.alignment: Qt.AlignHCenter Layout.Layout.alignment: Qt.AlignHCenter
visible: mainItem.securityError visible: mainItem.securityError
style: ButtonStyle.phoneRed style: ButtonStyle.phoneRed
onClicked: mainItem.call.core.lTerminate() onClicked: mainItem.call.core.lTerminate()
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
text: qsTr("Raccrocher") text: qsTr("Raccrocher")
} }
} }

View file

@ -18,9 +18,9 @@ Popup {
closePolicy: Popup.NoAutoClose closePolicy: Popup.NoAutoClose
x : parent.x + parent.width - width x : parent.x + parent.width - width
// y : parent.y + parent.height - height // y : parent.y + parent.height - height
rightMargin: 20 * DefaultStyle.dp rightMargin: Math.round(20 * DefaultStyle.dp)
bottomMargin: 20 * DefaultStyle.dp bottomMargin: Math.round(20 * DefaultStyle.dp)
padding: 20 * DefaultStyle.dp padding: Math.round(20 * DefaultStyle.dp)
underlineColor: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main underlineColor: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main
radius: 0 radius: 0
onHoveredChanged: { onHoveredChanged: {
@ -35,22 +35,22 @@ Popup {
} }
} }
contentItem: RowLayout { contentItem: RowLayout {
spacing: 24 * DefaultStyle.dp spacing: Math.round(24 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: mainItem.isSuccess ? AppIcons.smiley : AppIcons.smileySad imageSource: mainItem.isSuccess ? AppIcons.smiley : AppIcons.smileySad
colorizationColor: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main colorizationColor: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
width: 32 * DefaultStyle.dp width: Math.round(32 * DefaultStyle.dp)
height: 32 * DefaultStyle.dp height: Math.round(32 * DefaultStyle.dp)
} }
Rectangle { Rectangle {
Layout.preferredWidth: 1 * DefaultStyle.dp Layout.preferredWidth: Math.max(Math.round(1 * DefaultStyle.dp), 1)
Layout.preferredHeight: parent.height Layout.preferredHeight: parent.height
color: DefaultStyle.main2_200 color: DefaultStyle.main2_200
} }
ColumnLayout { ColumnLayout {
spacing: 2 * DefaultStyle.dp spacing: Math.round(2 * DefaultStyle.dp)
RowLayout { RowLayout {
spacing: 0 spacing: 0
Text { Text {
@ -58,15 +58,15 @@ Popup {
text: mainItem.title text: mainItem.title
color: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main color: mainItem.isSuccess ? DefaultStyle.success_500main : DefaultStyle.danger_500main
font { font {
pixelSize: 16 * DefaultStyle.dp pixelSize: Typography.h4.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
} }
} }
Button { Button {
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
icon.width: 20 * DefaultStyle.dp icon.width: Math.round(20 * DefaultStyle.dp)
icon.height: 20 * DefaultStyle.dp icon.height: Math.round(20 * DefaultStyle.dp)
Layout.alignment: Qt.AlignTop | Qt.AlignRight Layout.alignment: Qt.AlignTop | Qt.AlignRight
visible: mainItem.hovered || hovered visible: mainItem.hovered || hovered
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
@ -77,13 +77,13 @@ Popup {
Text { Text {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true Layout.fillWidth: true
Layout.maximumWidth: 300 * DefaultStyle.dp Layout.maximumWidth: Math.round(300 * DefaultStyle.dp)
text: mainItem.description text: mainItem.description
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 300 * DefaultStyle.dp weight: Math.round(300 * DefaultStyle.dp)
} }
} }
} }

View file

@ -12,18 +12,18 @@ Popup {
modal: true modal: true
closePolicy: Control.Popup.NoAutoClose closePolicy: Control.Popup.NoAutoClose
anchors.centerIn: parent anchors.centerIn: parent
padding: 20 * DefaultStyle.dp padding: Math.round(20 * DefaultStyle.dp)
underlineColor: DefaultStyle.main1_500_main underlineColor: DefaultStyle.main1_500_main
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
// onAboutToShow: width = contentText.implicitWidth // onAboutToShow: width = contentText.implicitWidth
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
// width: childrenRect.width // width: childrenRect.width
// height: childrenRect.height // height: childrenRect.height
BusyIndicator{ BusyIndicator{
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: 33 * DefaultStyle.dp Layout.preferredWidth: Math.round(33 * DefaultStyle.dp)
Layout.preferredHeight: 33 * DefaultStyle.dp Layout.preferredHeight: Math.round(33 * DefaultStyle.dp)
} }
Text { Text {
id: contentText id: contentText
@ -31,7 +31,7 @@ Popup {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
text: mainItem.text text: mainItem.text
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
} }
MediumButton { MediumButton {
visible: mainItem.cancelButtonVisible visible: mainItem.cancelButtonVisible

View file

@ -11,8 +11,8 @@ DesktopPopup {
property var notificationData: ({ property var notificationData: ({
timelineModel : null timelineModel : null
}) })
property int overriddenHeight: 120 * DefaultStyle.dp property real overriddenHeight: Math.round(120 * DefaultStyle.dp)
property int overriddenWidth: 300 * DefaultStyle.dp property real overriddenWidth: Math.round(300 * DefaultStyle.dp)
property double radius: 0 property double radius: 0
property color backgroundColor: DefaultStyle.grey_0 property color backgroundColor: DefaultStyle.grey_0
property double backgroundOpacity: 1 property double backgroundOpacity: 1
@ -56,7 +56,7 @@ DesktopPopup {
opacity: mainItem.backgroundOpacity opacity: mainItem.backgroundOpacity
// border { // border {
// color: DefaultStyle.grey_400 // color: DefaultStyle.grey_400
// width: 1 * DefaultStyle.dp // width: Math.round(1 * DefaultStyle.dp)
// } // }
} }
MultiEffect { MultiEffect {

View file

@ -8,10 +8,10 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Notification { Notification {
id: mainItem id: mainItem
radius: 20 * DefaultStyle.dp radius: Math.round(20 * DefaultStyle.dp)
backgroundColor: DefaultStyle.grey_600 backgroundColor: DefaultStyle.grey_600
backgroundOpacity: 0.8 backgroundOpacity: 0.8
overriddenWidth: 400 * DefaultStyle.dp overriddenWidth: Math.round(400 * DefaultStyle.dp)
overriddenHeight: content.height overriddenHeight: content.height
readonly property var call: notificationData && notificationData.call readonly property var call: notificationData && notificationData.call
@ -29,41 +29,41 @@ Notification {
Popup { Popup {
id: content id: content
visible: mainItem.visible visible: mainItem.visible
leftPadding: 32 * DefaultStyle.dp leftPadding: Math.round(32 * DefaultStyle.dp)
rightPadding: 32 * DefaultStyle.dp rightPadding: Math.round(32 * DefaultStyle.dp)
topPadding: 9 * DefaultStyle.dp topPadding: Math.round(9 * DefaultStyle.dp)
bottomPadding: 18 * DefaultStyle.dp bottomPadding: Math.round(18 * DefaultStyle.dp)
anchors.centerIn: parent anchors.centerIn: parent
background: Item{} background: Item{}
contentItem: ColumnLayout { contentItem: ColumnLayout {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
spacing: 9 * DefaultStyle.dp spacing: Math.round(9 * DefaultStyle.dp)
RowLayout { RowLayout {
spacing: 4 * DefaultStyle.dp spacing: Math.round(4 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Image { Image {
Layout.preferredWidth: 12 * DefaultStyle.dp Layout.preferredWidth: Math.round(12 * DefaultStyle.dp)
Layout.preferredHeight: 12 * DefaultStyle.dp Layout.preferredHeight: Math.round(12 * DefaultStyle.dp)
source: AppIcons.logo source: AppIcons.logo
} }
Text { Text {
text: "Linphone" text: "Linphone"
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 12 * DefaultStyle.dp pixelSize: Math.round(12 * DefaultStyle.dp)
weight: 600 * DefaultStyle.dp weight: Typography.b3.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
} }
ColumnLayout { ColumnLayout {
spacing: 17 * DefaultStyle.dp spacing: Math.round(17 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 14 * DefaultStyle.dp spacing: Math.round(14 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Avatar { Avatar {
Layout.preferredWidth: 60 * DefaultStyle.dp Layout.preferredWidth: Math.round(60 * DefaultStyle.dp)
Layout.preferredHeight: 60 * DefaultStyle.dp Layout.preferredHeight: Math.round(60 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
call: mainItem.call call: mainItem.call
isConference: mainItem.call && mainItem.call.core.isConference isConference: mainItem.call && mainItem.call.core.isConference
@ -73,14 +73,14 @@ Notification {
Text { Text {
text: call.core.remoteName text: call.core.remoteName
Layout.fillWidth: true Layout.fillWidth: true
Layout.maximumWidth: (mainItem.width - content.leftPadding - content.rightPadding) * DefaultStyle.dp Layout.maximumWidth: mainItem.width - content.leftPadding - content.rightPadding
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
maximumLineCount: 1 maximumLineCount: 1
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 600 * DefaultStyle.dp weight: Typography.b3.weight
capitalization: Font.Capitalize capitalization: Font.Capitalize
} }
} }
@ -89,8 +89,8 @@ Notification {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
weight: 500 * DefaultStyle.dp weight: Math.round(500 * DefaultStyle.dp)
} }
} }
} }
@ -98,18 +98,18 @@ Notification {
RowLayout { RowLayout {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true Layout.fillWidth: true
spacing: 26 * DefaultStyle.dp spacing: Math.round(26 * DefaultStyle.dp)
Button { Button {
spacing: 6 * DefaultStyle.dp spacing: Math.round(6 * DefaultStyle.dp)
style: ButtonStyle.phoneGreen style: ButtonStyle.phoneGreen
Layout.preferredWidth: 118 * DefaultStyle.dp Layout.preferredWidth: Math.round(118 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
asynchronous: false asynchronous: false
icon.width: 19 * DefaultStyle.dp icon.width: Math.round(19 * DefaultStyle.dp)
icon.height: 19 * DefaultStyle.dp icon.height: Math.round(19 * DefaultStyle.dp)
text: qsTr("Répondre") text: qsTr("Répondre")
textSize: 14 * DefaultStyle.dp textSize: Math.round(14 * DefaultStyle.dp)
textWeight: 500 * DefaultStyle.dp textWeight: Math.round(500 * DefaultStyle.dp)
onClicked: { onClicked: {
console.debug("[NotificationReceivedCall] Accept click") console.debug("[NotificationReceivedCall] Accept click")
UtilsCpp.openCallsWindow(mainItem.call) UtilsCpp.openCallsWindow(mainItem.call)
@ -117,16 +117,16 @@ Notification {
} }
} }
Button { Button {
spacing: 6 * DefaultStyle.dp spacing: Math.round(6 * DefaultStyle.dp)
style: ButtonStyle.phoneRed style: ButtonStyle.phoneRed
Layout.preferredWidth: 118 * DefaultStyle.dp Layout.preferredWidth: Math.round(118 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
asynchronous: false asynchronous: false
icon.width: 19 * DefaultStyle.dp icon.width: Math.round(19 * DefaultStyle.dp)
icon.height: 19 * DefaultStyle.dp icon.height: Math.round(19 * DefaultStyle.dp)
text: qsTr("Refuser") text: qsTr("Refuser")
textSize: 14 * DefaultStyle.dp textSize: Math.round(14 * DefaultStyle.dp)
textWeight: 500 * DefaultStyle.dp textWeight: Math.round(500 * DefaultStyle.dp)
onClicked: { onClicked: {
console.debug("[NotificationReceivedCall] Decline click") console.debug("[NotificationReceivedCall] Decline click")
mainItem.call.core.lDecline() mainItem.call.core.lDecline()

View file

@ -4,13 +4,13 @@ import Linphone
Control.Control { Control.Control {
id: mainItem id: mainItem
// width: 269 * DefaultStyle.dp // width: Math.round(269 * DefaultStyle.dp)
y: -height y: -height
z: 1 z: 1
topPadding: 8 * DefaultStyle.dp topPadding: Math.round(8 * DefaultStyle.dp)
bottomPadding: 8 * DefaultStyle.dp bottomPadding: Math.round(8 * DefaultStyle.dp)
leftPadding: 37 * DefaultStyle.dp leftPadding: Math.round(37 * DefaultStyle.dp)
rightPadding: 37 * DefaultStyle.dp rightPadding: Math.round(37 * DefaultStyle.dp)
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
clip: true clip: true
@ -41,15 +41,15 @@ Control.Control {
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
border.color: mainItem.contentColor border.color: mainItem.contentColor
border.width: 1 * DefaultStyle.dp border.width: Math.max(Math.round(1 * DefaultStyle.dp), 1)
radius: 50 * DefaultStyle.dp radius: Math.round(50 * DefaultStyle.dp)
} }
contentItem: RowLayout { contentItem: RowLayout {
Image { Image {
visible: mainItem.imageSource != undefined visible: mainItem.imageSource != undefined
source: mainItem.imageSource source: mainItem.imageSource
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
Layout.fillWidth: true Layout.fillWidth: true
} }
@ -58,7 +58,7 @@ Control.Control {
text: mainItem.text text: mainItem.text
Layout.fillWidth: true Layout.fillWidth: true
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Math.round(14 * DefaultStyle.dp)
} }
} }
} }

View file

@ -9,10 +9,10 @@ import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Control.Popup { Control.Popup {
id: mainItem id: mainItem
closePolicy: Control.Popup.CloseOnEscape closePolicy: Control.Popup.CloseOnEscape
leftPadding: 72 * DefaultStyle.dp leftPadding: Math.round(72 * DefaultStyle.dp)
rightPadding: 72 * DefaultStyle.dp rightPadding: Math.round(72 * DefaultStyle.dp)
topPadding: 41 * DefaultStyle.dp topPadding: Math.round(41 * DefaultStyle.dp)
bottomPadding: 18 * DefaultStyle.dp bottomPadding: Math.round(18 * DefaultStyle.dp)
property bool closeButtonVisible: true property bool closeButtonVisible: true
property bool roundedBottom: false property bool roundedBottom: false
property bool lastRowVisible: true property bool lastRowVisible: true
@ -29,7 +29,7 @@ Control.Popup {
width: parent.width width: parent.width
height: parent.height height: parent.height
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
radius: 20 * DefaultStyle.dp radius: Math.round(20 * DefaultStyle.dp)
} }
MultiEffect { MultiEffect {
id: effect id: effect
@ -57,11 +57,11 @@ Control.Popup {
visible: mainItem.closeButtonVisible visible: mainItem.closeButtonVisible
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 10 * DefaultStyle.dp anchors.topMargin: Math.round(10 * DefaultStyle.dp)
anchors.rightMargin: 10 * DefaultStyle.dp anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: mainItem.close() onClicked: mainItem.close()
} }

View file

@ -7,14 +7,14 @@ Control.Popup{
id: mainItem id: mainItem
padding: 0 padding: 0
property color underlineColor : DefaultStyle.main1_500_main property color underlineColor : DefaultStyle.main1_500_main
property int radius: 16 * DefaultStyle.dp property real radius: Math.round(16 * DefaultStyle.dp)
property bool hovered: mouseArea.containsMouse property bool hovered: mouseArea.containsMouse
background: Item{ background: Item{
Rectangle { Rectangle {
visible: mainItem.underlineColor != undefined visible: mainItem.underlineColor != undefined
width: mainItem.width width: mainItem.width
height: mainItem.height + 2 * DefaultStyle.dp height: mainItem.height + Math.round(2 * DefaultStyle.dp)
color: mainItem.underlineColor color: mainItem.underlineColor
radius: mainItem.radius radius: mainItem.radius
} }

View file

@ -13,7 +13,7 @@ MouseArea{
yClicked = mouseY yClicked = mouseY
} }
} }
property int margin: 0 property real margin: 0
// Position buffer // Position buffer
property int xClicked : 0 property int xClicked : 0
property int yClicked : 0 property int yClicked : 0

View file

@ -129,7 +129,7 @@ Window {
TextField { TextField {
id: usernameToCall id: usernameToCall
label: "Username to call" label: "Username to call"
Layout.preferredWidth: 250 * DefaultStyle.dp Layout.preferredWidth: Math.round(250 * DefaultStyle.dp)
} }
Button{ Button{
text: 'Call' text: 'Call'

View file

@ -2,7 +2,7 @@ import QtQuick
Item { Item {
id: root id: root
property int size: 150 property real size: 150
property color borderColor property color borderColor
property color innerColor property color innerColor
width: size width: size
@ -22,7 +22,7 @@ Item {
Canvas { Canvas {
id: c id: c
property bool animated: false property bool animated: false
property int offset: 0 property real offset: 0
anchors.fill: parent anchors.fill: parent
antialiasing: true antialiasing: true
onOffsetChanged: requestPaint() onOffsetChanged: requestPaint()

View file

@ -23,15 +23,15 @@ FocusScope {
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
spacing: 22 * DefaultStyle.dp spacing: Math.round(22 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 18 * DefaultStyle.dp spacing: Math.round(18 * DefaultStyle.dp)
visible: mainItem.displayCurrentCalls visible: mainItem.displayCurrentCalls
Text { Text {
text: qsTr("Appels en cours") text: qsTr("Appels en cours")
font { font {
pixelSize: 16 * DefaultStyle.dp pixelSize: Typography.h4.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
} }
} }
Flickable { Flickable {
@ -63,12 +63,12 @@ FocusScope {
} }
onVisibleChanged: if (!visible) mainItem.numPadPopup.close() onVisibleChanged: if (!visible) mainItem.numPadPopup.close()
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 38 * DefaultStyle.dp spacing: Math.round(38 * DefaultStyle.dp)
SearchBar { SearchBar {
id: searchBar id: searchBar
Layout.alignment: Qt.AlignTop Layout.alignment: Qt.AlignTop
Layout.fillWidth: true Layout.fillWidth: true
Layout.rightMargin: 39 * DefaultStyle.dp Layout.rightMargin: Math.round(39 * DefaultStyle.dp)
focus: true focus: true
color: mainItem.searchBarColor color: mainItem.searchBarColor
borderColor: mainItem.searchBarBorderColor borderColor: mainItem.searchBarBorderColor
@ -78,19 +78,19 @@ FocusScope {
} }
ColumnLayout { ColumnLayout {
id: content id: content
spacing: 32 * DefaultStyle.dp spacing: Math.round(32 * DefaultStyle.dp)
Button { Button {
id: grouCallButton id: grouCallButton
visible: mainItem.groupCallVisible && !SettingsCpp.disableMeetingsFeature visible: mainItem.groupCallVisible && !SettingsCpp.disableMeetingsFeature
Layout.preferredWidth: 320 * DefaultStyle.dp Layout.preferredWidth: Math.round(320 * DefaultStyle.dp)
Layout.preferredHeight: 44 * DefaultStyle.dp Layout.preferredHeight: Math.round(44 * DefaultStyle.dp)
padding: 0 padding: 0
KeyNavigation.up: searchBar KeyNavigation.up: searchBar
KeyNavigation.down: contactList KeyNavigation.down: contactList
onClicked: mainItem.groupCallCreationRequested() onClicked: mainItem.groupCallCreationRequested()
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
radius: 50 * DefaultStyle.dp radius: Math.round(50 * DefaultStyle.dp)
gradient: Gradient { gradient: Gradient {
orientation: Gradient.Horizontal orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: DefaultStyle.main2_100} GradientStop { position: 0.0; color: DefaultStyle.main2_100}
@ -98,20 +98,20 @@ FocusScope {
} }
} }
contentItem: RowLayout { contentItem: RowLayout {
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
Image { Image {
source: AppIcons.groupCall source: AppIcons.groupCall
Layout.preferredWidth: 44 * DefaultStyle.dp Layout.preferredWidth: Math.round(44 * DefaultStyle.dp)
sourceSize.width: 44 * DefaultStyle.dp sourceSize.width: Math.round(44 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
} }
Text { Text {
text: "Appel de groupe" text: "Appel de groupe"
color: DefaultStyle.grey_1000 color: DefaultStyle.grey_1000
font { font {
pixelSize: 16 * DefaultStyle.dp pixelSize: Typography.h4.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
} }
} }
Item { Item {
@ -119,8 +119,8 @@ FocusScope {
} }
EffectImage { EffectImage {
imageSource: AppIcons.rightArrow imageSource: AppIcons.rightArrow
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
colorizationColor: DefaultStyle.main2_500main colorizationColor: DefaultStyle.main2_500main
} }
} }

View file

@ -19,8 +19,8 @@ ColumnLayout{
Layout.fillWidth: true Layout.fillWidth: true
verticalAlignment: (bottomTextItem.visible?Text.AlignBottom:Text.AlignVCenter) verticalAlignment: (bottomTextItem.visible?Text.AlignBottom:Text.AlignVCenter)
visible: text != "" visible: text != ""
font.weight: 400 * DefaultStyle.dp font.weight: Typography.p1.weight
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Typography.p1.pixelSize
color: DefaultStyle.main2_700 color: DefaultStyle.main2_700
text: mainItem.topText text: mainItem.topText
width: mainItem.width width: mainItem.width
@ -33,8 +33,8 @@ ColumnLayout{
Layout.fillWidth: true Layout.fillWidth: true
verticalAlignment: (topTextItem.visible?Text.AlignTop:Text.AlignVCenter) verticalAlignment: (topTextItem.visible?Text.AlignTop:Text.AlignVCenter)
visible: text != '' visible: text != ''
font.weight: 300 * DefaultStyle.dp font.weight: Math.round(300 * DefaultStyle.dp)
font.pixelSize: 12 * DefaultStyle.dp font.pixelSize: Math.round(12 * DefaultStyle.dp)
color: DefaultStyle.main2_400 color: DefaultStyle.main2_400
text: mainItem.bottomText text: mainItem.bottomText
maximumLineCount: 1 maximumLineCount: 1

View file

@ -34,31 +34,31 @@ MainRightPanel {
mainItem.contact.core.undo() mainItem.contact.core.undo()
mainItem.closeEdition('') mainItem.closeEdition('')
} }
width: 278 * DefaultStyle.dp width: Math.round(278 * DefaultStyle.dp)
text: qsTr("Les changements seront annulés. Souhaitez-vous continuer ?") text: qsTr("Les changements seront annulés. Souhaitez-vous continuer ?")
} }
headerContent: [ headerContent: [
Text { Text {
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 31 * DefaultStyle.dp anchors.leftMargin: Math.round(31 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
text: mainItem.title text: mainItem.title
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
} }
}, },
Button { Button {
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 41 * DefaultStyle.dp anchors.rightMargin: Math.round(41 * DefaultStyle.dp)
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
width: 24 * DefaultStyle.dp width: Math.round(24 * DefaultStyle.dp)
height: 24 * DefaultStyle.dp height: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
onClicked: { onClicked: {
if (contact.core.isSaved) mainItem.closeEdition('') if (contact.core.isSaved) mainItem.closeEdition('')
else showConfirmationLambdaPopup("", qsTr("Les changements seront annulés. Souhaitez-vous continuer ?"), "", function(confirmed) { else showConfirmationLambdaPopup("", qsTr("Les changements seront annulés. Souhaitez-vous continuer ?"), "", function(confirmed) {
@ -102,8 +102,8 @@ MainRightPanel {
visible: !mainItem.contact || mainItem.contact.core.pictureUri.length === 0 visible: !mainItem.contact || mainItem.contact.core.pictureUri.length === 0
icon.source: AppIcons.camera icon.source: AppIcons.camera
text: qsTr("Ajouter une image") text: qsTr("Ajouter une image")
textSize: 16 * DefaultStyle.dp textSize: Typography.h4.pixelSize
textWeight: 800 * DefaultStyle.dp textWeight: Typography.h4.weight
textColor: DefaultStyle.main2_700 textColor: DefaultStyle.main2_700
hoveredTextColor: DefaultStyle.main2_800 hoveredTextColor: DefaultStyle.main2_800
pressedTextColor: DefaultStyle.main2_900 pressedTextColor: DefaultStyle.main2_900
@ -113,7 +113,7 @@ MainRightPanel {
RowLayout { RowLayout {
visible: mainItem.contact && mainItem.contact.core.pictureUri.length != 0 visible: mainItem.contact && mainItem.contact.core.pictureUri.length != 0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
spacing: 32 * DefaultStyle.dp spacing: Math.round(32 * DefaultStyle.dp)
IconLabelButton { IconLabelButton {
id: editButton id: editButton
Layout.preferredWidth: width Layout.preferredWidth: width
@ -122,8 +122,8 @@ MainRightPanel {
textColor: DefaultStyle.main2_700 textColor: DefaultStyle.main2_700
hoveredTextColor: DefaultStyle.main2_800 hoveredTextColor: DefaultStyle.main2_800
pressedTextColor: DefaultStyle.main2_900 pressedTextColor: DefaultStyle.main2_900
textSize: 16 * DefaultStyle.dp textSize: Typography.h4.pixelSize
textWeight: 800 * DefaultStyle.dp textWeight: Typography.h4.weight
KeyNavigation.right: removeButton KeyNavigation.right: removeButton
onClicked: fileDialog.open() onClicked: fileDialog.open()
} }
@ -146,8 +146,8 @@ MainRightPanel {
textColor: DefaultStyle.main2_700 textColor: DefaultStyle.main2_700
hoveredTextColor: DefaultStyle.main2_800 hoveredTextColor: DefaultStyle.main2_800
pressedTextColor: DefaultStyle.main2_900 pressedTextColor: DefaultStyle.main2_900
textSize: 16 * DefaultStyle.dp textSize: Typography.h4.pixelSize
textWeight: 800 * DefaultStyle.dp textWeight: Typography.h4.weight
KeyNavigation.left: editButton KeyNavigation.left: editButton
onClicked: mainItem.contact.core.pictureUri = "" onClicked: mainItem.contact.core.pictureUri = ""
} }
@ -156,7 +156,7 @@ MainRightPanel {
] ]
content: Flickable { content: Flickable {
id: editionLayout id: editionLayout
contentWidth: 421 * DefaultStyle.dp contentWidth: Math.round(421 * DefaultStyle.dp)
contentY: 0 contentY: 0
signal ensureVisibleRequested(Item item) signal ensureVisibleRequested(Item item)
@ -184,7 +184,7 @@ MainRightPanel {
ScrollBar.horizontal: Control.ScrollBar { ScrollBar.horizontal: Control.ScrollBar {
} }
ColumnLayout { ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
@ -195,7 +195,7 @@ MainRightPanel {
label: qsTr("Prénom") label: qsTr("Prénom")
contentItem: TextField { contentItem: TextField {
id: givenNameEdit id: givenNameEdit
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
initialText: contact.core.givenName initialText: contact.core.givenName
onTextEdited: { onTextEdited: {
contact.core.givenName = givenNameEdit.text contact.core.givenName = givenNameEdit.text
@ -260,7 +260,7 @@ MainRightPanel {
label: modelData.label label: modelData.label
contentItem: RowLayout { contentItem: RowLayout {
id: addressLayout id: addressLayout
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
function updateFocus(event){ function updateFocus(event){
if(event.key == Qt.Key_Up){ if(event.key == Qt.Key_Up){
if(index - 1 >=0 ) if(index - 1 >=0 )
@ -278,7 +278,7 @@ MainRightPanel {
} }
TextField { TextField {
id: addressTextField id: addressTextField
Layout.preferredWidth: 421 * DefaultStyle.dp Layout.preferredWidth: Math.round(421 * DefaultStyle.dp)
Layout.preferredHeight: height Layout.preferredHeight: height
onEditingFinished: { onEditingFinished: {
if (text.length != 0) mainItem.contact.core.setAddressAt(index, qsTr("Adresse SIP"), text) if (text.length != 0) mainItem.contact.core.setAddressAt(index, qsTr("Adresse SIP"), text)
@ -292,12 +292,12 @@ MainRightPanel {
} }
Button { Button {
id: removeAddressButton id: removeAddressButton
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
KeyNavigation.left: addressTextField KeyNavigation.left: addressTextField
Keys.onPressed: (event) => addressLayout.updateFocus(event) Keys.onPressed: (event) => addressLayout.updateFocus(event)
@ -347,7 +347,7 @@ MainRightPanel {
label: modelData.label label: modelData.label
contentItem: RowLayout { contentItem: RowLayout {
id: phoneNumberLayout id: phoneNumberLayout
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
function updateFocus(event){ function updateFocus(event){
if(event.key == Qt.Key_Up){ if(event.key == Qt.Key_Up){
if(index - 1 >=0 ) if(index - 1 >=0 )
@ -365,7 +365,7 @@ MainRightPanel {
} }
TextField { TextField {
id: phoneTextField id: phoneTextField
Layout.preferredWidth: 421 * DefaultStyle.dp Layout.preferredWidth: Math.round(421 * DefaultStyle.dp)
Layout.preferredHeight: height Layout.preferredHeight: height
initialText: modelData.address initialText: modelData.address
backgroundColor: DefaultStyle.grey_0 backgroundColor: DefaultStyle.grey_0
@ -378,13 +378,13 @@ MainRightPanel {
} }
Button { Button {
id: removePhoneButton id: removePhoneButton
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
KeyNavigation.left: phoneTextField KeyNavigation.left: phoneTextField
Keys.onPressed: (event) => phoneNumberLayout.updateFocus(event) Keys.onPressed: (event) => phoneNumberLayout.updateFocus(event)
onClicked: mainItem.contact.core.removePhoneNumber(index) onClicked: mainItem.contact.core.removePhoneNumber(index)

View file

@ -19,7 +19,7 @@ LoginLayout {
BigButton { BigButton {
enabled: mainItem.showBackButton enabled: mainItem.showBackButton
opacity: mainItem.showBackButton ? 1.0 : 0 opacity: mainItem.showBackButton ? 1.0 : 0
Layout.leftMargin: 79 * DefaultStyle.dp Layout.leftMargin: Math.round(79 * DefaultStyle.dp)
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: { onClicked: {
@ -28,20 +28,20 @@ LoginLayout {
} }
}, },
RowLayout { RowLayout {
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
Layout.leftMargin: 21 * DefaultStyle.dp Layout.leftMargin: Math.round(21 * DefaultStyle.dp)
EffectImage { EffectImage {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
imageSource: AppIcons.profile imageSource: AppIcons.profile
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredHeight: 34 * DefaultStyle.dp Layout.preferredHeight: Math.round(34 * DefaultStyle.dp)
Layout.preferredWidth: 34 * DefaultStyle.dp Layout.preferredWidth: Math.round(34 * DefaultStyle.dp)
} }
Text { Text {
text: qsTr("Connexion") text: qsTr("Connexion")
font { font {
pixelSize: 36 * DefaultStyle.dp pixelSize: Typography.h1.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h1.weight
} }
} }
}, },
@ -50,13 +50,13 @@ LoginLayout {
}, },
RowLayout { RowLayout {
visible: !SettingsCpp.assistantHideCreateAccount visible: !SettingsCpp.assistantHideCreateAccount
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Layout.rightMargin: 51 * DefaultStyle.dp Layout.rightMargin: Math.round(51 * DefaultStyle.dp)
Text { Text {
Layout.rightMargin: 15 * DefaultStyle.dp Layout.rightMargin: Math.round(15 * DefaultStyle.dp)
text: qsTr("Pas encore de compte ?") text: qsTr("Pas encore de compte ?")
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Typography.p1.pixelSize
font.weight: 400 * DefaultStyle.dp font.weight: Typography.p1.weight
} }
BigButton { BigButton {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
@ -73,8 +73,8 @@ LoginLayout {
Flickable { Flickable {
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.top: parent.top
anchors.leftMargin: 127 * DefaultStyle.dp anchors.leftMargin: Math.round(127 * DefaultStyle.dp)
anchors.topMargin: 70 * DefaultStyle.dp anchors.topMargin: Math.round(70 * DefaultStyle.dp)
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
ColumnLayout { ColumnLayout {
id: content id: content
@ -84,8 +84,8 @@ LoginLayout {
} }
BigButton { BigButton {
Layout.preferredWidth: loginForm.width Layout.preferredWidth: loginForm.width
Layout.preferredHeight: 47 * DefaultStyle.dp Layout.preferredHeight: Math.round(47 * DefaultStyle.dp)
Layout.topMargin: 39 * DefaultStyle.dp Layout.topMargin: Math.round(39 * DefaultStyle.dp)
visible: !SettingsCpp.assistantHideThirdPartyAccount visible: !SettingsCpp.assistantHideThirdPartyAccount
text: qsTr("Compte SIP tiers") text: qsTr("Compte SIP tiers")
style: ButtonStyle.secondary style: ButtonStyle.secondary
@ -93,8 +93,8 @@ LoginLayout {
} }
BigButton { BigButton {
Layout.preferredWidth: loginForm.width Layout.preferredWidth: loginForm.width
Layout.preferredHeight: 47 * DefaultStyle.dp Layout.preferredHeight: Math.round(47 * DefaultStyle.dp)
Layout.topMargin: 25 * DefaultStyle.dp Layout.topMargin: Math.round(25 * DefaultStyle.dp)
text: qsTr("Configuration distante") text: qsTr("Configuration distante")
style: ButtonStyle.secondary style: ButtonStyle.secondary
onClicked: {fetchConfigDialog.open()} onClicked: {fetchConfigDialog.open()}
@ -105,22 +105,22 @@ LoginLayout {
z: -1 z: -1
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 129 * DefaultStyle.dp anchors.topMargin: Math.round(129 * DefaultStyle.dp)
anchors.rightMargin: 127 * DefaultStyle.dp anchors.rightMargin: Math.round(127 * DefaultStyle.dp)
width: 395 * DefaultStyle.dp width: Math.round(395 * DefaultStyle.dp)
height: 350 * DefaultStyle.dp height: Math.round(350 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
source: AppIcons.loginImage source: AppIcons.loginImage
} }
] ]
Dialog{ Dialog{
id: fetchConfigDialog id: fetchConfigDialog
height: 315 * DefaultStyle.dp height: Math.round(315 * DefaultStyle.dp)
width: 637 * DefaultStyle.dp width: Math.round(637 * DefaultStyle.dp)
leftPadding: 33 * DefaultStyle.dp leftPadding: Math.round(33 * DefaultStyle.dp)
rightPadding: 33 * DefaultStyle.dp rightPadding: Math.round(33 * DefaultStyle.dp)
topPadding: 41 * DefaultStyle.dp topPadding: Math.round(41 * DefaultStyle.dp)
bottomPadding: 29 * DefaultStyle.dp bottomPadding: Math.round(29 * DefaultStyle.dp)
radius: 0 radius: 0
title: qsTr('Télécharger une configuration distante') title: qsTr('Télécharger une configuration distante')
text: qsTr('Veuillez entrer le lien de configuration qui vous a été fourni :') text: qsTr('Veuillez entrer le lien de configuration qui vous a été fourni :')
@ -139,7 +139,7 @@ LoginLayout {
TextField{ TextField{
id: configUrl id: configUrl
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
placeholderText: qsTr('Lien de configuration distante') placeholderText: qsTr('Lien de configuration distante')
} }
] ]

View file

@ -15,14 +15,14 @@ LoginLayout {
titleContent: [ titleContent: [
RowLayout { RowLayout {
Layout.leftMargin: 119 * DefaultStyle.dp Layout.leftMargin: Math.round(119 * DefaultStyle.dp)
visible: !SettingsCpp.assistantHideThirdPartyAccount visible: !SettingsCpp.assistantHideThirdPartyAccount
spacing: 21 * DefaultStyle.dp spacing: Math.round(21 * DefaultStyle.dp)
Button { Button {
id: backButton id: backButton
visible: mainItem.showBackButton visible: mainItem.showBackButton
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: { onClicked: {
@ -33,15 +33,15 @@ LoginLayout {
EffectImage { EffectImage {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
imageSource: AppIcons.profile imageSource: AppIcons.profile
Layout.preferredHeight: 34 * DefaultStyle.dp Layout.preferredHeight: Math.round(34 * DefaultStyle.dp)
Layout.preferredWidth: 34 * DefaultStyle.dp Layout.preferredWidth: Math.round(34 * DefaultStyle.dp)
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
} }
Text { Text {
text: qsTr("Compte SIP tiers") text: qsTr("Compte SIP tiers")
font { font {
pixelSize: 36 * DefaultStyle.dp pixelSize: Typography.h1.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h1.weight
} }
scaleLettersFactor: 1.1 scaleLettersFactor: 1.1
} }
@ -51,14 +51,14 @@ LoginLayout {
}, },
RowLayout { RowLayout {
visible: !SettingsCpp.assistantHideCreateAccount visible: !SettingsCpp.assistantHideCreateAccount
Layout.rightMargin: 51 * DefaultStyle.dp Layout.rightMargin: Math.round(51 * DefaultStyle.dp)
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Text { Text {
Layout.rightMargin: 15 * DefaultStyle.dp Layout.rightMargin: Math.round(15 * DefaultStyle.dp)
text: qsTr("Pas encore de compte ?") text: qsTr("Pas encore de compte ?")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
BigButton { BigButton {
@ -83,19 +83,19 @@ LoginLayout {
flickableDirection: Flickable.VerticalFlick flickableDirection: Flickable.VerticalFlick
ColumnLayout { ColumnLayout {
id: content id: content
spacing: 85 * DefaultStyle.dp spacing: Math.round(85 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 0 spacing: 0
ColumnLayout { ColumnLayout {
spacing: 28 * DefaultStyle.dp spacing: Math.round(28 * DefaultStyle.dp)
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: rootStackView.width Layout.preferredWidth: rootStackView.width
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: DefaultStyle.main2_900 color: DefaultStyle.main2_900
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400* DefaultStyle.dp weight: Typography.p1.weight
} }
text: "Certaines fonctionnalités nécessitent un compte Linphone, comme la messagerie de groupe, les vidéoconférences..." text: "Certaines fonctionnalités nécessitent un compte Linphone, comme la messagerie de groupe, les vidéoconférences..."
} }
@ -105,8 +105,8 @@ LoginLayout {
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: DefaultStyle.main2_900 color: DefaultStyle.main2_900
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400* DefaultStyle.dp weight: Typography.p1.weight
} }
text:"Ces fonctionnalités sont cachées lorsque vous vous enregistrez avec un compte SIP tiers." text:"Ces fonctionnalités sont cachées lorsque vous vous enregistrez avec un compte SIP tiers."
} }
@ -116,8 +116,8 @@ LoginLayout {
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: DefaultStyle.main2_900 color: DefaultStyle.main2_900
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400* DefaultStyle.dp weight: Typography.p1.weight
} }
text: "Pour les activer dans un projet commercial, veuillez nous contacter. " text: "Pour les activer dans un projet commercial, veuillez nous contacter. "
} }
@ -125,7 +125,7 @@ LoginLayout {
SmallButton { SmallButton {
id: openLinkButton id: openLinkButton
Layout.alignment: Qt.AlignCenter Layout.alignment: Qt.AlignCenter
Layout.topMargin: 18 * DefaultStyle.dp Layout.topMargin: Math.round(18 * DefaultStyle.dp)
text: "linphone.org/contact" text: "linphone.org/contact"
style: ButtonStyle.secondary style: ButtonStyle.secondary
onClicked: { onClicked: {
@ -136,7 +136,7 @@ LoginLayout {
} }
} }
ColumnLayout { ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
BigButton { BigButton {
id: createAccountButton id: createAccountButton
style: ButtonStyle.secondary style: ButtonStyle.secondary
@ -176,11 +176,11 @@ LoginLayout {
flickableDirection: Flickable.VerticalFlick flickableDirection: Flickable.VerticalFlick
ColumnLayout { ColumnLayout {
id: content id: content
spacing: 2 * DefaultStyle.dp spacing: Math.round(2 * DefaultStyle.dp)
width: 361 * DefaultStyle.dp width: Math.round(361 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
FormItemLayout { FormItemLayout {
id: username id: username
label: qsTr("Nom d'utilisateur") label: qsTr("Nom d'utilisateur")
@ -190,7 +190,7 @@ LoginLayout {
contentItem: TextField { contentItem: TextField {
id: usernameEdit id: usernameEdit
isError: username.errorTextVisible || errorText.isVisible isError: username.errorTextVisible || errorText.isVisible
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
KeyNavigation.down: passwordEdit KeyNavigation.down: passwordEdit
} }
} }
@ -204,7 +204,7 @@ LoginLayout {
id: passwordEdit id: passwordEdit
isError: password.errorTextVisible || errorText.isVisible isError: password.errorTextVisible || errorText.isVisible
hidden: true hidden: true
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
KeyNavigation.up: usernameEdit KeyNavigation.up: usernameEdit
KeyNavigation.down: domainEdit KeyNavigation.down: domainEdit
} }
@ -219,7 +219,7 @@ LoginLayout {
id: domainEdit id: domainEdit
isError: domain.errorTextVisible isError: domain.errorTextVisible
initialText: SettingsCpp.assistantThirdPartySipAccountDomain initialText: SettingsCpp.assistantThirdPartySipAccountDomain
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
KeyNavigation.up: passwordEdit KeyNavigation.up: passwordEdit
KeyNavigation.down: displayName KeyNavigation.down: displayName
} }
@ -235,7 +235,7 @@ LoginLayout {
Layout.fillWidth: true Layout.fillWidth: true
contentItem: TextField { contentItem: TextField {
id: displayName id: displayName
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
KeyNavigation.up: domainEdit KeyNavigation.up: domainEdit
KeyNavigation.down: transportCbox KeyNavigation.down: transportCbox
} }
@ -246,8 +246,8 @@ LoginLayout {
Layout.fillWidth: true Layout.fillWidth: true
contentItem: ComboBox { contentItem: ComboBox {
id: transportCbox id: transportCbox
height: 49 * DefaultStyle.dp height: Math.round(49 * DefaultStyle.dp)
width: 360 * DefaultStyle.dp width: Math.round(360 * DefaultStyle.dp)
textRole: "text" textRole: "text"
valueRole: "value" valueRole: "value"
model: [ model: [
@ -275,7 +275,7 @@ LoginLayout {
BigButton { BigButton {
id: connectionButton id: connectionButton
Layout.topMargin: 32 * DefaultStyle.dp Layout.topMargin: Math.round(32 * DefaultStyle.dp)
style: ButtonStyle.main style: ButtonStyle.main
contentItem: StackLayout { contentItem: StackLayout {
id: connectionButtonContent id: connectionButtonContent
@ -286,8 +286,8 @@ LoginLayout {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font { font {
pixelSize: 18 * DefaultStyle.dp pixelSize: Typography.b1.pixelSize
weight: 600 * DefaultStyle.dp weight: Typography.b1.weight
} }
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
} }
@ -358,18 +358,18 @@ LoginLayout {
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.topMargin: 70 * DefaultStyle.dp anchors.topMargin: Math.round(70 * DefaultStyle.dp)
anchors.leftMargin: 127 * DefaultStyle.dp anchors.leftMargin: Math.round(127 * DefaultStyle.dp)
width: 361 * DefaultStyle.dp width: Math.round(361 * DefaultStyle.dp)
}, },
Image { Image {
z: -1 z: -1
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 129 * DefaultStyle.dp anchors.topMargin: Math.round(129 * DefaultStyle.dp)
anchors.rightMargin: 127 * DefaultStyle.dp anchors.rightMargin: Math.round(127 * DefaultStyle.dp)
width: 395 * DefaultStyle.dp width: Math.round(395 * DefaultStyle.dp)
height: 350 * DefaultStyle.dp height: Math.round(350 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
source: AppIcons.loginImage source: AppIcons.loginImage
} }

View file

@ -24,7 +24,7 @@ FocusScope{
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
ListView { ListView {
id: participantList id: participantList
Layout.fillWidth: true Layout.fillWidth: true
@ -40,14 +40,14 @@ FocusScope{
} }
} }
delegate: FocusScope { delegate: FocusScope {
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
width: participantList.width - scrollbar.implicitWidth - 28 * DefaultStyle.dp width: participantList.width - scrollbar.implicitWidth - Math.round(28 * DefaultStyle.dp)
RowLayout { RowLayout {
anchors.fill: parent anchors.fill: parent
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
Avatar { Avatar {
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
_address: modelData _address: modelData
shadowEnabled: false shadowEnabled: false
} }
@ -56,19 +56,19 @@ FocusScope{
maximumLineCount: 1 maximumLineCount: 1
property var nameObj: UtilsCpp.getDisplayName(modelData) property var nameObj: UtilsCpp.getDisplayName(modelData)
text: nameObj ? nameObj.value : "" text: nameObj ? nameObj.value : ""
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
font.capitalization: Font.Capitalize font.capitalization: Font.Capitalize
} }
Item { Item {
Layout.fillWidth: true Layout.fillWidth: true
} }
Button { Button {
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
style: ButtonStyle.noBackgroundOrange style: ButtonStyle.noBackgroundOrange
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
focus: true focus: true
onClicked: contactList.removeSelectedContactByAddress(modelData) onClicked: contactList.removeSelectedContactByAddress(modelData)
} }
@ -82,15 +82,15 @@ FocusScope{
anchors.top: parent.top anchors.top: parent.top
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 8 * DefaultStyle.dp anchors.rightMargin: Math.round(8 * DefaultStyle.dp)
} }
} }
SearchBar { SearchBar {
id: searchBar id: searchBar
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 6 * DefaultStyle.dp Layout.topMargin: Math.round(6 * DefaultStyle.dp)
Layout.rightMargin: 28 * DefaultStyle.dp Layout.rightMargin: Math.round(28 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
placeholderText: mainItem.placeHolderText placeholderText: mainItem.placeHolderText
focus: participantList.count == 0 focus: participantList.count == 0
color: mainItem.searchBarColor color: mainItem.searchBarColor
@ -102,22 +102,22 @@ FocusScope{
} }
ColumnLayout { ColumnLayout {
id: content id: content
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
Text { Text {
visible: !contactList.loading && contactList.count === 0 visible: !contactList.loading && contactList.count === 0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.topMargin: 137 * DefaultStyle.dp Layout.topMargin: Math.round(137 * DefaultStyle.dp)
text: qsTr("Aucun contact%1").arg(searchBar.text.length !== 0 ? " correspondant" : "") text: qsTr("Aucun contact%1").arg(searchBar.text.length !== 0 ? " correspondant" : "")
font { font {
pixelSize: 16 * DefaultStyle.dp pixelSize: Typography.h4.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h4.weight
} }
} }
AllContactListView{ AllContactListView{
id: contactList id: contactList
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
itemsRightMargin: 28 * DefaultStyle.dp itemsRightMargin: Math.round(28 * DefaultStyle.dp)
multiSelectionEnabled: true multiSelectionEnabled: true
showContactMenu: false showContactMenu: false
confInfoGui: mainItem.conferenceInfoGui confInfoGui: mainItem.conferenceInfoGui

View file

@ -15,7 +15,7 @@ FocusScope {
ColumnLayout { ColumnLayout {
id: formLayout id: formLayout
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
anchors.fill: parent anchors.fill: parent
Component.onCompleted: { Component.onCompleted: {
@ -26,14 +26,14 @@ FocusScope {
RowLayout { RowLayout {
visible: mainItem.isCreation && !SettingsCpp.disableBroadcastFeature visible: mainItem.isCreation && !SettingsCpp.disableBroadcastFeature
Layout.topMargin: 20 * DefaultStyle.dp Layout.topMargin: Math.round(20 * DefaultStyle.dp)
Layout.bottomMargin: 20 * DefaultStyle.dp Layout.bottomMargin: Math.round(20 * DefaultStyle.dp)
spacing: 18 * DefaultStyle.dp spacing: Math.round(18 * DefaultStyle.dp)
CheckableButton { CheckableButton {
Layout.preferredWidth: 151 * DefaultStyle.dp Layout.preferredWidth: Math.round(151 * DefaultStyle.dp)
icon.source: AppIcons.usersThree icon.source: AppIcons.usersThree
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
enabled: false enabled: false
text: qsTr("Réunion") text: qsTr("Réunion")
checked: true checked: true
@ -41,11 +41,11 @@ FocusScope {
style: ButtonStyle.secondary style: ButtonStyle.secondary
} }
CheckableButton { CheckableButton {
Layout.preferredWidth: 151 * DefaultStyle.dp Layout.preferredWidth: Math.round(151 * DefaultStyle.dp)
enabled: false enabled: false
icon.source: AppIcons.slide icon.source: AppIcons.slide
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
text: qsTr("Broadcast") text: qsTr("Broadcast")
autoExclusive: true autoExclusive: true
style: ButtonStyle.secondary style: ButtonStyle.secondary
@ -55,12 +55,12 @@ FocusScope {
visible: mainItem.isCreation visible: mainItem.isCreation
spacing: formLayout.spacing spacing: formLayout.spacing
content: RowLayout { content: RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.usersThree imageSource: AppIcons.usersThree
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
TextInput { TextInput {
id: confTitle id: confTitle
@ -69,8 +69,8 @@ FocusScope {
text: defaultText text: defaultText
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
font { font {
pixelSize: 20 * DefaultStyle.dp pixelSize: Math.round(20 * DefaultStyle.dp)
weight: 800 * DefaultStyle.dp weight: Typography.h3.weight
} }
focus: true focus: true
onActiveFocusChanged: if(activeFocus) { onActiveFocusChanged: if(activeFocus) {
@ -90,16 +90,16 @@ FocusScope {
EffectImage { EffectImage {
imageSource: AppIcons.clock imageSource: AppIcons.clock
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
CalendarComboBox { CalendarComboBox {
id: startDate id: startDate
background.visible: mainItem.isCreation background.visible: mainItem.isCreation
indicator.visible: mainItem.isCreation indicator.visible: mainItem.isCreation
contentText.font.weight: (isCreation ? 700 : 400) * DefaultStyle.dp contentText.font.weight: Math.min(Math.round((isCreation ? 700 : 400) * DefaultStyle.dp), 1000)
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 30 * DefaultStyle.dp Layout.preferredHeight: Math.round(30 * DefaultStyle.dp)
KeyNavigation.up: confTitle KeyNavigation.up: confTitle
KeyNavigation.down: startHour KeyNavigation.down: startHour
onSelectedDateChanged: { onSelectedDateChanged: {
@ -113,17 +113,17 @@ FocusScope {
}, },
RowLayout { RowLayout {
Item { Item {
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
RowLayout { RowLayout {
TimeComboBox { TimeComboBox {
id: startHour id: startHour
// indicator.visible: mainItem.isCreation // indicator.visible: mainItem.isCreation
Layout.preferredWidth: 94 * DefaultStyle.dp Layout.preferredWidth: Math.round(94 * DefaultStyle.dp)
Layout.preferredHeight: 30 * DefaultStyle.dp Layout.preferredHeight: Math.round(30 * DefaultStyle.dp)
background.visible: mainItem.isCreation background.visible: mainItem.isCreation
contentText.font.weight: (isCreation ? 700 : 400) * DefaultStyle.dp contentText.font.weight: Math.min(Math.round((isCreation ? 700 : 400) * DefaultStyle.dp), 1000)
KeyNavigation.up: startDate KeyNavigation.up: startDate
KeyNavigation.down: timeZoneCbox KeyNavigation.down: timeZoneCbox
KeyNavigation.left: endHour KeyNavigation.left: endHour
@ -140,10 +140,10 @@ FocusScope {
TimeComboBox { TimeComboBox {
id: endHour id: endHour
// indicator.visible: mainItem.isCreation // indicator.visible: mainItem.isCreation
Layout.preferredWidth: 94 * DefaultStyle.dp Layout.preferredWidth: Math.round(94 * DefaultStyle.dp)
Layout.preferredHeight: 30 * DefaultStyle.dp Layout.preferredHeight: Math.round(30 * DefaultStyle.dp)
background.visible: mainItem.isCreation background.visible: mainItem.isCreation
contentText.font.weight: (isCreation ? 700 : 400) * DefaultStyle.dp contentText.font.weight: Math.min(Math.round((isCreation ? 700 : 400) * DefaultStyle.dp), 1000)
onSelectedDateTimeChanged: mainItem.conferenceInfoGui.core.endDateTime = selectedDateTime onSelectedDateTimeChanged: mainItem.conferenceInfoGui.core.endDateTime = selectedDateTime
KeyNavigation.up: startDate KeyNavigation.up: startDate
KeyNavigation.down: timeZoneCbox KeyNavigation.down: timeZoneCbox
@ -159,8 +159,8 @@ FocusScope {
property int min: (durationSec - hour*3600)/60 property int min: (durationSec - hour*3600)/60
text: (hour > 0 ? hour + "h" : "") + (min > 0 ? min + "mn" : "") text: (hour > 0 ? hour + "h" : "") + (min > 0 ? min + "mn" : "")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
} }
} }
} }
@ -169,12 +169,12 @@ FocusScope {
ComboBox { ComboBox {
id: timeZoneCbox id: timeZoneCbox
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 30 * DefaultStyle.dp Layout.preferredHeight: Math.round(30 * DefaultStyle.dp)
hoverEnabled: true hoverEnabled: true
oneLine: true oneLine: true
listView.implicitHeight: 250 * DefaultStyle.dp listView.implicitHeight: Math.round(250 * DefaultStyle.dp)
constantImageSource: AppIcons.globe constantImageSource: AppIcons.globe
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
leftMargin: 0 leftMargin: 0
currentIndex: mainItem.conferenceInfoGui && model.count > 0 ? model.getIndex(mainItem.conferenceInfoGui.core.timeZoneModel) : -1 currentIndex: mainItem.conferenceInfoGui && model.count > 0 ? model.getIndex(mainItem.conferenceInfoGui.core.timeZoneModel) : -1
background: Rectangle { background: Rectangle {
@ -196,28 +196,28 @@ FocusScope {
Section { Section {
spacing: formLayout.spacing spacing: formLayout.spacing
content: RowLayout { content: RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.note imageSource: AppIcons.note
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
TextArea { TextArea {
id: descriptionEdit id: descriptionEdit
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: 275 * DefaultStyle.dp Layout.preferredWidth: Math.round(275 * DefaultStyle.dp)
leftPadding: 8 * DefaultStyle.dp leftPadding: Math.round(8 * DefaultStyle.dp)
rightPadding: 8 * DefaultStyle.dp rightPadding: Math.round(8 * DefaultStyle.dp)
hoverEnabled: true hoverEnabled: true
placeholderText: qsTr("Ajouter une description") placeholderText: qsTr("Ajouter une description")
placeholderTextColor: DefaultStyle.main2_600 placeholderTextColor: DefaultStyle.main2_600
placeholderWeight: 700 * DefaultStyle.dp placeholderWeight: Typography.p2l.weight
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
Component.onCompleted: text = conferenceInfoGui.core.description Component.onCompleted: text = conferenceInfoGui.core.description
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
onEditingFinished: mainItem.conferenceInfoGui.core.description = text onEditingFinished: mainItem.conferenceInfoGui.core.description = text
Keys.onPressed: (event)=> { Keys.onPressed: (event)=> {
@ -230,7 +230,7 @@ FocusScope {
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
color: descriptionEdit.hovered || descriptionEdit.activeFocus ? DefaultStyle.grey_100 : "transparent" color: descriptionEdit.hovered || descriptionEdit.activeFocus ? DefaultStyle.grey_100 : "transparent"
radius: 4 * DefaultStyle.dp radius: Math.round(4 * DefaultStyle.dp)
} }
} }
} }
@ -241,26 +241,26 @@ FocusScope {
Button { Button {
id: addParticipantsButton id: addParticipantsButton
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 30 * DefaultStyle.dp Layout.preferredHeight: Math.round(30 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
color: addParticipantsButton.hovered || addParticipantsButton.activeFocus ? DefaultStyle.grey_100 : "transparent" color: addParticipantsButton.hovered || addParticipantsButton.activeFocus ? DefaultStyle.grey_100 : "transparent"
radius: 4 * DefaultStyle.dp radius: Math.round(4 * DefaultStyle.dp)
} }
contentItem: RowLayout { contentItem: RowLayout {
spacing: 8 * DefaultStyle.dp spacing: Math.round(8 * DefaultStyle.dp)
EffectImage { EffectImage {
imageSource: AppIcons.usersThree imageSource: AppIcons.usersThree
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
} }
Text { Text {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Ajouter des participants") text: qsTr("Ajouter des participants")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
} }
} }
} }
@ -270,36 +270,36 @@ FocusScope {
id: participantList id: participantList
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: contentHeight Layout.preferredHeight: contentHeight
Layout.maximumHeight: 250 * DefaultStyle.dp Layout.maximumHeight: Math.round(250 * DefaultStyle.dp)
clip: true clip: true
model: mainItem.conferenceInfoGui.core.participants model: mainItem.conferenceInfoGui.core.participants
delegate: Item { delegate: Item {
height: 56 * DefaultStyle.dp height: Math.round(56 * DefaultStyle.dp)
width: participantList.width width: participantList.width
RowLayout { RowLayout {
anchors.fill: parent anchors.fill: parent
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
Avatar { Avatar {
Layout.preferredWidth: 45 * DefaultStyle.dp Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
Layout.preferredHeight: 45 * DefaultStyle.dp Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
_address: modelData.address _address: modelData.address
shadowEnabled: false shadowEnabled: false
} }
Text { Text {
property var displayNameObj: UtilsCpp.getDisplayName(modelData.address) property var displayNameObj: UtilsCpp.getDisplayName(modelData.address)
text: displayNameObj?.value || "" text: displayNameObj?.value || ""
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
font.capitalization: Font.Capitalize font.capitalization: Font.Capitalize
} }
Item { Item {
Layout.fillWidth: true Layout.fillWidth: true
} }
Button { Button {
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
Layout.rightMargin: 10 * DefaultStyle.dp Layout.rightMargin: Math.round(10 * DefaultStyle.dp)
icon.source: AppIcons.closeX icon.source: AppIcons.closeX
style: ButtonStyle.noBackgroundOrange style: ButtonStyle.noBackgroundOrange
onClicked: mainItem.conferenceInfoGui.core.removeParticipant(index) onClicked: mainItem.conferenceInfoGui.core.removeParticipant(index)
@ -316,7 +316,7 @@ FocusScope {
} }
Item { Item {
Layout.fillHeight: true Layout.fillHeight: true
Layout.minimumHeight: 1 * DefaultStyle.dp Layout.minimumHeight: Math.max(Math.round(1 * DefaultStyle.dp), 1)
} }
} }
} }

View file

@ -17,11 +17,11 @@ LoginLayout {
onCtrlIsPressedChanged: console.log("ctrl is pressed", ctrlIsPressed) onCtrlIsPressedChanged: console.log("ctrl is pressed", ctrlIsPressed)
titleContent: [ titleContent: [
RowLayout { RowLayout {
spacing: 21 * DefaultStyle.dp spacing: Math.round(21 * DefaultStyle.dp)
Layout.leftMargin: 119 * DefaultStyle.dp Layout.leftMargin: Math.round(119 * DefaultStyle.dp)
Button { Button {
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: { onClicked: {
@ -32,8 +32,8 @@ LoginLayout {
EffectImage { EffectImage {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
imageSource: AppIcons.profile imageSource: AppIcons.profile
Layout.preferredHeight: 34 * DefaultStyle.dp Layout.preferredHeight: Math.round(34 * DefaultStyle.dp)
Layout.preferredWidth: 34 * DefaultStyle.dp Layout.preferredWidth: Math.round(34 * DefaultStyle.dp)
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
} }
Text { Text {
@ -43,8 +43,8 @@ LoginLayout {
text = qsTr("Inscription | Confirmer votre ") + completeString text = qsTr("Inscription | Confirmer votre ") + completeString
} }
font { font {
pixelSize: 36 * DefaultStyle.dp pixelSize: Typography.h1.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h1.weight
} }
scaleLettersFactor: 1.1 scaleLettersFactor: 1.1
} }
@ -58,14 +58,14 @@ LoginLayout {
ColumnLayout { ColumnLayout {
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 51 * DefaultStyle.dp anchors.topMargin: Math.round(51 * DefaultStyle.dp)
anchors.leftMargin: 127 * DefaultStyle.dp anchors.leftMargin: Math.round(127 * DefaultStyle.dp)
spacing: 104 * DefaultStyle.dp spacing: Math.round(104 * DefaultStyle.dp)
Text { Text {
font { font {
bold: true bold: true
pixelSize: 22 * DefaultStyle.dp pixelSize: Typography.h3.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h3.weight
} }
color: DefaultStyle.main2_700 color: DefaultStyle.main2_700
text: { text: {
@ -74,7 +74,7 @@ LoginLayout {
} }
} }
RowLayout { RowLayout {
spacing: 45 * DefaultStyle.dp spacing: Math.round(45 * DefaultStyle.dp)
Repeater { Repeater {
model: 4 model: 4
id: repeater id: repeater
@ -139,12 +139,12 @@ LoginLayout {
} }
} }
RowLayout { RowLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Text { Text {
text: "Didn't receive the code ?" text: "Didn't receive the code ?"
color: DefaultStyle.main2_700 color: DefaultStyle.main2_700
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Typography.p1.pixelSize
font.weight: 400 * DefaultStyle.dp font.weight: Typography.p1.weight
} }
BigButton { BigButton {
style: ButtonStyle.secondary style: ButtonStyle.secondary
@ -158,10 +158,10 @@ LoginLayout {
Image { Image {
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 140 * DefaultStyle.dp anchors.topMargin: Math.round(140 * DefaultStyle.dp)
anchors.rightMargin: 97 * DefaultStyle.dp anchors.rightMargin: Math.round(97 * DefaultStyle.dp)
width: 477 * DefaultStyle.dp width: Math.round(477 * DefaultStyle.dp)
height: 345 * DefaultStyle.dp height: Math.round(345 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
source: AppIcons.verif_page_image source: AppIcons.verif_page_image
} }

View file

@ -32,8 +32,8 @@ LoginLayout {
titleContent: [ titleContent: [
RowLayout { RowLayout {
spacing: 21 * DefaultStyle.dp spacing: Math.round(21 * DefaultStyle.dp)
Layout.leftMargin: 79 * DefaultStyle.dp Layout.leftMargin: Math.round(79 * DefaultStyle.dp)
BigButton { BigButton {
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
@ -45,16 +45,16 @@ LoginLayout {
EffectImage { EffectImage {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
imageSource: AppIcons.profile imageSource: AppIcons.profile
Layout.preferredHeight: 34 * DefaultStyle.dp Layout.preferredHeight: Math.round(34 * DefaultStyle.dp)
Layout.preferredWidth: 34 * DefaultStyle.dp Layout.preferredWidth: Math.round(34 * DefaultStyle.dp)
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
} }
Text { Text {
Layout.preferredWidth: width Layout.preferredWidth: width
text: qsTr("Inscription") text: qsTr("Inscription")
font { font {
pixelSize: 36 * DefaultStyle.dp pixelSize: Typography.h1.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h1.weight
} }
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
scaleLettersFactor: 1.1 scaleLettersFactor: 1.1
@ -64,15 +64,15 @@ LoginLayout {
Layout.fillWidth: true Layout.fillWidth: true
}, },
RowLayout { RowLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Layout.rightMargin: 51 * DefaultStyle.dp Layout.rightMargin: Math.round(51 * DefaultStyle.dp)
Text { Text {
Layout.rightMargin: 15 * DefaultStyle.dp Layout.rightMargin: Math.round(15 * DefaultStyle.dp)
color: DefaultStyle.main2_700 color: DefaultStyle.main2_700
text: qsTr("Déjà un compte ?") text: qsTr("Déjà un compte ?")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
BigButton { BigButton {
@ -89,10 +89,10 @@ LoginLayout {
centerContent: [ centerContent: [
ColumnLayout { ColumnLayout {
anchors.fill: parent anchors.fill: parent
anchors.topMargin: 51 * DefaultStyle.dp anchors.topMargin: Math.round(51 * DefaultStyle.dp)
anchors.leftMargin: 127 * DefaultStyle.dp anchors.leftMargin: Math.round(127 * DefaultStyle.dp)
anchors.rightMargin: 127 * DefaultStyle.dp anchors.rightMargin: Math.round(127 * DefaultStyle.dp)
spacing: 50 * DefaultStyle.dp spacing: Math.round(50 * DefaultStyle.dp)
TabBar { TabBar {
Layout.fillWidth: true Layout.fillWidth: true
id: bar id: bar
@ -104,34 +104,34 @@ LoginLayout {
ColumnLayout { ColumnLayout {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
spacing: 22 * DefaultStyle.dp spacing: Math.round(22 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 24 * DefaultStyle.dp spacing: Math.round(24 * DefaultStyle.dp)
RowLayout { RowLayout {
Layout.preferredHeight: usernameItem.height Layout.preferredHeight: usernameItem.height
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
FormItemLayout { FormItemLayout {
id: usernameItem id: usernameItem
label: qsTr("Username") label: qsTr("Username")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
contentItem: TextField { contentItem: TextField {
id: usernameInput id: usernameInput
backgroundBorderColor: usernameItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200 backgroundBorderColor: usernameItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200
} }
} }
RowLayout { RowLayout {
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
ComboBox { ComboBox {
Layout.preferredWidth: 210 * DefaultStyle.dp Layout.preferredWidth: Math.round(210 * DefaultStyle.dp)
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
enabled: false enabled: false
model: [{text:"@sip.linphone.org"}] model: [{text:"@sip.linphone.org"}]
} }
EffectImage { EffectImage {
Layout.preferredWidth: 16 * DefaultStyle.dp Layout.preferredWidth: Math.round(16 * DefaultStyle.dp)
Layout.preferredHeight: 16 * DefaultStyle.dp Layout.preferredHeight: Math.round(16 * DefaultStyle.dp)
imageSource: AppIcons.lock imageSource: AppIcons.lock
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
} }
@ -141,7 +141,7 @@ LoginLayout {
currentIndex: bar.currentIndex currentIndex: bar.currentIndex
PhoneNumberInput { PhoneNumberInput {
id: phoneNumberInput id: phoneNumberInput
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
property string completePhoneNumber: countryCode + phoneNumber property string completePhoneNumber: countryCode + phoneNumber
label: qsTr("Numéro de téléphone") label: qsTr("Numéro de téléphone")
enableErrorText: true enableErrorText: true
@ -152,7 +152,7 @@ LoginLayout {
FormItemLayout { FormItemLayout {
id: emailItem id: emailItem
Layout.fillWidth: false Layout.fillWidth: false
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
label: qsTr("Email") label: qsTr("Email")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
@ -168,29 +168,29 @@ LoginLayout {
clip: false clip: false
RowLayout { RowLayout {
id: rowlayout id: rowlayout
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
FormItemLayout { FormItemLayout {
id: passwordItem id: passwordItem
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
label: qsTr("Mot de passe") label: qsTr("Mot de passe")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
contentItem: TextField { contentItem: TextField {
id: pwdInput id: pwdInput
hidden: true hidden: true
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
backgroundBorderColor: passwordItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200 backgroundBorderColor: passwordItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200
} }
} }
FormItemLayout { FormItemLayout {
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
label: qsTr("Confirmation mot de passe") label: qsTr("Confirmation mot de passe")
mandatory: true mandatory: true
enableErrorText: true enableErrorText: true
contentItem: TextField { contentItem: TextField {
id: confirmPwdInput id: confirmPwdInput
hidden: true hidden: true
Layout.preferredWidth: 346 * DefaultStyle.dp Layout.preferredWidth: Math.round(346 * DefaultStyle.dp)
backgroundBorderColor: passwordItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200 backgroundBorderColor: passwordItem.errorMessage.length > 0 ? DefaultStyle.danger_500main : DefaultStyle.grey_200
} }
} }
@ -198,23 +198,23 @@ LoginLayout {
TemporaryText { TemporaryText {
id: otherErrorText id: otherErrorText
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 5 * DefaultStyle.dp Layout.topMargin: Math.round(5 * DefaultStyle.dp)
onTextChanged: console.log("set error", text) onTextChanged: console.log("set error", text)
} }
} }
} }
// ColumnLayout { // ColumnLayout {
// spacing: 18 * DefaultStyle.dp // spacing: Math.round(18 * DefaultStyle.dp)
// RowLayout { // RowLayout {
// spacing: 10 * DefaultStyle.dp // spacing: Math.round(10 * DefaultStyle.dp)
// CheckBox { // CheckBox {
// id: subscribeToNewsletterCheckBox // id: subscribeToNewsletterCheckBox
// } // }
// Text { // Text {
// text: qsTr("Je souhaite souscrire à la newletter Linphone.") // text: qsTr("Je souhaite souscrire à la newletter Linphone.")
// font { // font {
// pixelSize: 14 * DefaultStyle.dp // pixelSize: Typography.p1.pixelSize
// weight: 400 * DefaultStyle.dp // weight: Typography.p1.weight
// } // }
// MouseArea { // MouseArea {
// anchors.fill: parent // anchors.fill: parent
@ -224,7 +224,7 @@ LoginLayout {
// } // }
RowLayout { RowLayout {
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
CheckBox { CheckBox {
id: termsCheckBox id: termsCheckBox
} }
@ -234,8 +234,8 @@ LoginLayout {
Text { Text {
text: qsTr("J'accepte les ") text: qsTr("J'accepte les ")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
@ -246,8 +246,8 @@ LoginLayout {
activeFocusOnTab: true activeFocusOnTab: true
font { font {
underline: true underline: true
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
bold: activeFocus bold: activeFocus
} }
text: qsTr("conditions dutilisation") text: qsTr("conditions dutilisation")
@ -268,16 +268,16 @@ LoginLayout {
Text { Text {
text: qsTr(" et la ") text: qsTr(" et la ")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
Text { Text {
activeFocusOnTab: true activeFocusOnTab: true
font { font {
underline: true underline: true
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
bold: activeFocus bold: activeFocus
} }
text: qsTr("politique de confidentialité.") text: qsTr("politique de confidentialité.")
@ -335,10 +335,10 @@ LoginLayout {
z: -1 z: -1
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
anchors.topMargin: 129 * DefaultStyle.dp anchors.topMargin: Math.round(129 * DefaultStyle.dp)
anchors.rightMargin: 127 * DefaultStyle.dp anchors.rightMargin: Math.round(127 * DefaultStyle.dp)
width: 395 * DefaultStyle.dp width: Math.round(395 * DefaultStyle.dp)
height: 350 * DefaultStyle.dp height: Math.round(350 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
source: AppIcons.loginImage source: AppIcons.loginImage
} }

View file

@ -13,35 +13,35 @@ LoginLayout {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
imageSource: AppIcons.profile imageSource: AppIcons.profile
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
Layout.preferredHeight: 34 * DefaultStyle.dp Layout.preferredHeight: Math.round(34 * DefaultStyle.dp)
Layout.preferredWidth: 34 * DefaultStyle.dp Layout.preferredWidth: Math.round(34 * DefaultStyle.dp)
} }
ColumnLayout { ColumnLayout {
Text { Text {
text: qsTr("Choisir votre mode") text: qsTr("Choisir votre mode")
font { font {
pixelSize: 36 * DefaultStyle.dp pixelSize: Typography.h1.pixelSize
weight: 800 * DefaultStyle.dp weight: Typography.h1.weight
} }
} }
Text { Text {
text: qsTr("Vous pourrez changer de mode plus tard.") text: qsTr("Vous pourrez changer de mode plus tard.")
font.bold: true font.bold: true
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p1.pixelSize
weight: 400 * DefaultStyle.dp weight: Typography.p1.weight
} }
} }
} }
} }
centerContent: ColumnLayout { centerContent: ColumnLayout {
spacing: 80 * DefaultStyle.dp spacing: Math.round(80 * DefaultStyle.dp)
RowLayout { RowLayout {
id: radioButtonsLayout id: radioButtonsLayout
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
spacing: 70 * DefaultStyle.dp spacing: Math.round(70 * DefaultStyle.dp)
Repeater { Repeater {
model: [ model: [
{checked: true, title: qsTr("Chiffrement de bout en bout"), text: qsTr("Ce mode vous garanti la confidentialité de tous vos échanges. Notre technologie de chiffrement de bout en bout assure un niveau de sécurité maximal pour tous vos échanges."), imgUrl: AppIcons.chiffrement, color: DefaultStyle.info_500_main}, {checked: true, title: qsTr("Chiffrement de bout en bout"), text: qsTr("Ce mode vous garanti la confidentialité de tous vos échanges. Notre technologie de chiffrement de bout en bout assure un niveau de sécurité maximal pour tous vos échanges."), imgUrl: AppIcons.chiffrement, color: DefaultStyle.info_500_main},
@ -63,7 +63,7 @@ LoginLayout {
id: continueButton id: continueButton
property int selectedIndex: 0 property int selectedIndex: 0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: 360 * DefaultStyle.dp Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
text: qsTr("Continuer") text: qsTr("Continuer")
style: ButtonStyle.main style: ButtonStyle.main
onClicked: mainItem.modeSelected(selectedIndex) onClicked: mainItem.modeSelected(selectedIndex)

View file

@ -27,17 +27,17 @@ AbstractMainPage {
id: leftPanel id: leftPanel
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
property int sideMargin: 45 * DefaultStyle.dp property real sideMargin: Math.round(45 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: leftPanel.sideMargin Layout.leftMargin: leftPanel.sideMargin
Layout.rightMargin: leftPanel.sideMargin Layout.rightMargin: leftPanel.sideMargin
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Button { Button {
id: backButton id: backButton
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
focus: true focus: true
@ -60,7 +60,7 @@ AbstractMainPage {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
model: mainItem.families model: mainItem.families
Layout.topMargin: 41 * DefaultStyle.dp Layout.topMargin: Math.round(41 * DefaultStyle.dp)
Layout.leftMargin: leftPanel.sideMargin Layout.leftMargin: leftPanel.sideMargin
property int selectedIndex: 0 property int selectedIndex: 0
activeFocusOnTab: true activeFocusOnTab: true

View file

@ -18,15 +18,15 @@ Rectangle {
component AboutLine: RowLayout { component AboutLine: RowLayout {
id: line id: line
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
property var imageSource property var imageSource
property string title property string title
property string text property string text
property bool enableMouseArea: false property bool enableMouseArea: false
signal contentClicked() signal contentClicked()
EffectImage { EffectImage {
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
imageSource: parent.imageSource imageSource: parent.imageSource
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
} }
@ -37,8 +37,8 @@ Rectangle {
text: line.title text: line.title
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
font { font {
pixelSize: 15 * DefaultStyle.dp pixelSize: Typography.b2.pixelSize
weight: 600 * DefaultStyle.dp weight: Typography.b2.weight
} }
horizontalAlignment: Layout.AlignLeft horizontalAlignment: Layout.AlignLeft
} }
@ -47,7 +47,7 @@ Rectangle {
Layout.fillWidth: true Layout.fillWidth: true
text: line.text text: line.text
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
font.pixelSize: 14 * DefaultStyle.dp font.pixelSize: Math.round(14 * DefaultStyle.dp)
horizontalAlignment: Layout.AlignLeft horizontalAlignment: Layout.AlignLeft
Keys.onPressed: (event)=> { Keys.onPressed: (event)=> {
if (event.key == Qt.Key_Space || event.key == Qt.Key_Enter || event.key == Qt.Key_Return) { if (event.key == Qt.Key_Space || event.key == Qt.Key_Enter || event.key == Qt.Key_Return) {
@ -71,13 +71,13 @@ Rectangle {
Dialog { Dialog {
id: aboutPopup id: aboutPopup
anchors.centerIn: parent anchors.centerIn: parent
width: 637 * DefaultStyle.dp width: Math.round(637 * DefaultStyle.dp)
title: qsTr("À propos de Linphone") title: qsTr("À propos de Linphone")
bottomPadding: 10 * DefaultStyle.dp bottomPadding: Math.round(10 * DefaultStyle.dp)
buttons: [] buttons: []
content: RowLayout { content: RowLayout {
ColumnLayout { ColumnLayout {
spacing: 17 * DefaultStyle.dp spacing: Math.round(17 * DefaultStyle.dp)
Layout.alignment: Qt.AlignTop | Qt.AlignLeft Layout.alignment: Qt.AlignTop | Qt.AlignLeft
AboutLine { AboutLine {
imageSource: AppIcons.detective imageSource: AppIcons.detective
@ -103,7 +103,7 @@ Rectangle {
} }
Item { Item {
// Item to shift close button // Item to shift close button
Layout.preferredHeight: 10 * DefaultStyle.dp Layout.preferredHeight: Math.round(10 * DefaultStyle.dp)
} }
} }
MediumButton { MediumButton {
@ -121,8 +121,8 @@ Rectangle {
spacing: 0 spacing: 0
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 102 * DefaultStyle.dp Layout.preferredHeight: Math.round(102 * DefaultStyle.dp)
Layout.rightMargin: 42 * DefaultStyle.dp Layout.rightMargin: Math.round(42 * DefaultStyle.dp)
spacing: 0 spacing: 0
Item { Item {
Layout.fillWidth: true Layout.fillWidth: true
@ -142,7 +142,7 @@ Rectangle {
RowLayout { RowLayout {
id: titleLayout id: titleLayout
Layout.preferredHeight: 131 * DefaultStyle.dp Layout.preferredHeight: Math.round(131 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
spacing: 0 spacing: 0
} }
@ -156,7 +156,7 @@ Rectangle {
source: AppIcons.belledonne source: AppIcons.belledonne
fillMode: Image.Stretch fillMode: Image.Stretch
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 108 * DefaultStyle.dp Layout.preferredHeight: Math.round(108 * DefaultStyle.dp)
} }
} }

View file

@ -114,12 +114,12 @@ Item {
RowLayout { RowLayout {
anchors.fill: parent anchors.fill: parent
spacing: 0 spacing: 0
anchors.topMargin: 25 * DefaultStyle.dp anchors.topMargin: Math.round(25 * DefaultStyle.dp)
VerticalTabBar { VerticalTabBar {
id: tabbar id: tabbar
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: 82 * DefaultStyle.dp Layout.preferredWidth: Math.round(82 * DefaultStyle.dp)
defaultAccount: accountProxy.defaultAccount defaultAccount: accountProxy.defaultAccount
currentIndex: 0 currentIndex: 0
Binding on currentIndex { Binding on currentIndex {
@ -181,10 +181,10 @@ Item {
RowLayout { RowLayout {
id: topRow id: topRow
Layout.preferredHeight: 50 * DefaultStyle.dp Layout.preferredHeight: Math.round(50 * DefaultStyle.dp)
Layout.leftMargin: 45 * DefaultStyle.dp Layout.leftMargin: Math.round(45 * DefaultStyle.dp)
Layout.rightMargin: 41 * DefaultStyle.dp Layout.rightMargin: Math.round(41 * DefaultStyle.dp)
spacing: 25 * DefaultStyle.dp spacing: Math.round(25 * DefaultStyle.dp)
SearchBar { SearchBar {
id: magicSearchBar id: magicSearchBar
Layout.fillWidth: true Layout.fillWidth: true
@ -216,25 +216,24 @@ Item {
Popup { Popup {
id: listPopup id: listPopup
width: magicSearchBar.width width: magicSearchBar.width
property int maxHeight: 400 * DefaultStyle.dp property real maxHeight: Math.round(400 * DefaultStyle.dp)
property bool displayScrollbar: contactList.height > maxHeight property bool displayScrollbar: contactList.height > maxHeight
height: Math.min( height: Math.min(
contactList.contentHeight, contactList.contentHeight,
maxHeight) + topPadding + bottomPadding maxHeight) + topPadding + bottomPadding
y: magicSearchBar.height y: magicSearchBar.height
// closePolicy: Popup.CloseOnEscape // closePolicy: Popup.CloseOnEscape
topPadding: 20 * DefaultStyle.dp topPadding: Math.round(20 * DefaultStyle.dp)
bottomPadding: contactList.haveContacts ? 20 * DefaultStyle.dp : 10 bottomPadding: Math.round((contactList.haveContacts ? 20 : 10) * DefaultStyle.dp)
* DefaultStyle.dp rightPadding: Math.round(8 * DefaultStyle.dp)
rightPadding: 8 * DefaultStyle.dp leftPadding: Math.round(20 * DefaultStyle.dp)
leftPadding: 20 * DefaultStyle.dp
visible: magicSearchBar.text.length != 0 visible: magicSearchBar.text.length != 0
background: Item { background: Item {
anchors.fill: parent anchors.fill: parent
Rectangle { Rectangle {
id: popupBg id: popupBg
radius: 16 * DefaultStyle.dp radius: Math.round(16 * DefaultStyle.dp)
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
anchors.fill: parent anchors.fill: parent
border.color: DefaultStyle.main1_500_main border.color: DefaultStyle.main1_500_main
@ -254,7 +253,7 @@ Item {
id: contactList id: contactList
width: listPopup.width - listPopup.leftPadding width: listPopup.width - listPopup.leftPadding
- listPopup.rightPadding - listPopup.rightPadding
itemsRightMargin: 5 * DefaultStyle.dp //(Actions have already 10 of margin) itemsRightMargin: Math.round(5 * DefaultStyle.dp) //(Actions have already 10 of margin)
showInitials: false showInitials: false
showContactMenu: false showContactMenu: false
showActions: true showActions: true
@ -263,28 +262,28 @@ Item {
showDefaultAddress: true showDefaultAddress: true
searchOnEmpty: false searchOnEmpty: false
sectionsPixelSize: 13 * DefaultStyle.dp sectionsPixelSize: Typography.p2.pixelSize
sectionsWeight: 700 * DefaultStyle.dp sectionsWeight: Typography.p2.weight
sectionsSpacing: 5 * DefaultStyle.dp sectionsSpacing: Math.round(5 * DefaultStyle.dp)
searchBarText: magicSearchBar.text searchBarText: magicSearchBar.text
} }
} }
} }
RowLayout { RowLayout {
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
PopupButton { PopupButton {
id: deactivateDndButton id: deactivateDndButton
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
popup.padding: 14 * DefaultStyle.dp popup.padding: Math.round(14 * DefaultStyle.dp)
visible: SettingsCpp.dnd visible: SettingsCpp.dnd
contentItem: EffectImage { contentItem: EffectImage {
imageSource: AppIcons.bellDnd imageSource: AppIcons.bellDnd
width: 32 * DefaultStyle.dp width: Math.round(32 * DefaultStyle.dp)
height: 32 * DefaultStyle.dp height: Math.round(32 * DefaultStyle.dp)
Layout.preferredWidth: 32 * DefaultStyle.dp Layout.preferredWidth: Math.round(32 * DefaultStyle.dp)
Layout.preferredHeight: 32 * DefaultStyle.dp Layout.preferredHeight: Math.round(32 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
colorizationColor: DefaultStyle.main1_500_main colorizationColor: DefaultStyle.main1_500_main
} }
@ -292,8 +291,8 @@ Item {
IconLabelButton { IconLabelButton {
Layout.fillWidth: true Layout.fillWidth: true
focus: visible focus: visible
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Désactiver ne pas déranger") text: qsTr("Désactiver ne pas déranger")
icon.source: AppIcons.bellDnd icon.source: AppIcons.bellDnd
onClicked: { onClicked: {
@ -305,8 +304,8 @@ Item {
} }
Voicemail { Voicemail {
id: voicemail id: voicemail
Layout.preferredWidth: 42 * DefaultStyle.dp Layout.preferredWidth: Math.round(42 * DefaultStyle.dp)
Layout.preferredHeight: 36 * DefaultStyle.dp Layout.preferredHeight: Math.round(36 * DefaultStyle.dp)
Repeater { Repeater {
model: accountProxy model: accountProxy
delegate: Item { delegate: Item {
@ -359,9 +358,9 @@ Item {
} }
PopupButton { PopupButton {
id: avatarButton id: avatarButton
Layout.preferredWidth: 54 * DefaultStyle.dp Layout.preferredWidth: Math.round(54 * DefaultStyle.dp)
Layout.preferredHeight: width Layout.preferredHeight: width
popup.padding: 14 * DefaultStyle.dp popup.padding: Math.round(14 * DefaultStyle.dp)
contentItem: Avatar { contentItem: Avatar {
id: avatar id: avatar
height: avatarButton.height height: avatarButton.height
@ -381,10 +380,10 @@ Item {
} }
PopupButton { PopupButton {
id: settingsMenuButton id: settingsMenuButton
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
popup.width: 271 * DefaultStyle.dp popup.width: Math.round(271 * DefaultStyle.dp)
popup.padding: 14 * DefaultStyle.dp popup.padding: Math.round(14 * DefaultStyle.dp)
popup.contentItem: FocusScope { popup.contentItem: FocusScope {
id: popupFocus id: popupFocus
implicitHeight: settingsButtons.implicitHeight implicitHeight: settingsButtons.implicitHeight
@ -399,15 +398,15 @@ Item {
ColumnLayout { ColumnLayout {
id: settingsButtons id: settingsButtons
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
anchors.fill: parent anchors.fill: parent
IconLabelButton { IconLabelButton {
id: accountButton id: accountButton
Layout.fillWidth: true Layout.fillWidth: true
visible: !SettingsCpp.hideAccountSettings visible: !SettingsCpp.hideAccountSettings
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Mon compte") text: qsTr("Mon compte")
icon.source: AppIcons.manageProfile icon.source: AppIcons.manageProfile
onClicked: openAccountSettings( onClicked: openAccountSettings(
@ -422,8 +421,8 @@ Item {
IconLabelButton { IconLabelButton {
id: dndButton id: dndButton
Layout.fillWidth: true Layout.fillWidth: true
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: SettingsCpp.dnd ? qsTr("Désactiver ne pas déranger") : qsTr( text: SettingsCpp.dnd ? qsTr("Désactiver ne pas déranger") : qsTr(
"Activer ne pas déranger") "Activer ne pas déranger")
icon.source: AppIcons.bellDnd icon.source: AppIcons.bellDnd
@ -442,8 +441,8 @@ Item {
id: settingsButton id: settingsButton
Layout.fillWidth: true Layout.fillWidth: true
visible: !SettingsCpp.hideSettings visible: !SettingsCpp.hideSettings
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Paramètres") text: qsTr("Paramètres")
icon.source: AppIcons.settings icon.source: AppIcons.settings
onClicked: openContextualMenuComponent( onClicked: openContextualMenuComponent(
@ -459,8 +458,8 @@ Item {
id: recordsButton id: recordsButton
Layout.fillWidth: true Layout.fillWidth: true
visible: !SettingsCpp.disableCallRecordings visible: !SettingsCpp.disableCallRecordings
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Enregistrements") text: qsTr("Enregistrements")
icon.source: AppIcons.micro icon.source: AppIcons.micro
KeyNavigation.up: visibleChildren.length KeyNavigation.up: visibleChildren.length
@ -473,8 +472,8 @@ Item {
IconLabelButton { IconLabelButton {
id: helpButton id: helpButton
Layout.fillWidth: true Layout.fillWidth: true
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Aide") text: qsTr("Aide")
icon.source: AppIcons.question icon.source: AppIcons.question
onClicked: openContextualMenuComponent( onClicked: openContextualMenuComponent(
@ -489,8 +488,8 @@ Item {
IconLabelButton { IconLabelButton {
id: quitButton id: quitButton
Layout.fillWidth: true Layout.fillWidth: true
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Quitter Linphone") text: qsTr("Quitter Linphone")
icon.source: AppIcons.power icon.source: AppIcons.power
onClicked: { onClicked: {
@ -516,7 +515,7 @@ Item {
} }
Rectangle { Rectangle {
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 1 * DefaultStyle.dp Layout.preferredHeight: Math.max(Math.round(1 * DefaultStyle.dp), 1)
visible: addAccountButton.visible visible: addAccountButton.visible
color: DefaultStyle.main2_400 color: DefaultStyle.main2_400
} }
@ -525,8 +524,8 @@ Item {
Layout.fillWidth: true Layout.fillWidth: true
visible: SettingsCpp.maxAccount == 0 visible: SettingsCpp.maxAccount == 0
|| SettingsCpp.maxAccount > accountProxy.count || SettingsCpp.maxAccount > accountProxy.count
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
text: qsTr("Ajouter un compte") text: qsTr("Ajouter un compte")
icon.source: AppIcons.plusCircle icon.source: AppIcons.plusCircle
onClicked: mainItem.addAccountRequest() onClicked: mainItem.addAccountRequest()
@ -643,7 +642,7 @@ Item {
pushExit: noTransition pushExit: noTransition
popEnter: noTransition popEnter: noTransition
popExit: noTransition popExit: noTransition
Layout.topMargin: 24 * DefaultStyle.dp Layout.topMargin: Math.round(24 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
initialItem: mainStackLayoutComponent initialItem: mainStackLayoutComponent

View file

@ -16,14 +16,14 @@ Rectangle {
property var model property var model
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
property var container property var container
// property int contentHeight: contentListView.contentHeight // property real contentHeight: contentListView.contentHeight
property int minimumWidthForSwitchintToRowLayout: 981 * DefaultStyle.dp property real minimumWidthForSwitchintToRowLayout: Math.round(981 * DefaultStyle.dp)
property var useVerticalLayout property var useVerticalLayout
property bool saveButtonVisible: true property bool saveButtonVisible: true
signal save() signal save()
signal undo() signal undo()
function setResponsivityFlags() { function setResponsivityFlags() {
var newValue = width < minimumWidthForSwitchintToRowLayout * DefaultStyle.dp var newValue = width < minimumWidthForSwitchintToRowLayout
if (useVerticalLayout != newValue) { if (useVerticalLayout != newValue) {
useVerticalLayout = newValue useVerticalLayout = newValue
} }
@ -38,8 +38,8 @@ Rectangle {
id: header id: header
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
leftPadding: 45 * DefaultStyle.dp leftPadding: Math.round(45 * DefaultStyle.dp)
rightPadding: 45 * DefaultStyle.dp rightPadding: Math.round(45 * DefaultStyle.dp)
z: 1 z: 1
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
@ -48,17 +48,17 @@ Rectangle {
contentItem: ColumnLayout { contentItem: ColumnLayout {
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 20 * DefaultStyle.dp Layout.topMargin: Math.round(20 * DefaultStyle.dp)
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Layout.bottomMargin: 10 * DefaultStyle.dp Layout.bottomMargin: Math.round(10 * DefaultStyle.dp)
Button { Button {
id: backButton id: backButton
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
icon.source: AppIcons.leftArrow icon.source: AppIcons.leftArrow
focus: true focus: true
visible: mainItem.container.depth > 1 visible: mainItem.container.depth > 1
Layout.rightMargin: 41 * DefaultStyle.dp Layout.rightMargin: Math.round(41 * DefaultStyle.dp)
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: { onClicked: {
mainItem.container.pop() mainItem.container.pop()
@ -75,13 +75,13 @@ Rectangle {
Loader { Loader {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
sourceComponent: mainItem.topbarOptionalComponent sourceComponent: mainItem.topbarOptionalComponent
Layout.rightMargin: 34 * DefaultStyle.dp Layout.rightMargin: Math.round(34 * DefaultStyle.dp)
} }
MediumButton { MediumButton {
id: saveButton id: saveButton
style: ButtonStyle.main style: ButtonStyle.main
text: qsTr("Enregistrer") text: qsTr("Enregistrer")
Layout.rightMargin: 6 * DefaultStyle.dp Layout.rightMargin: Math.round(6 * DefaultStyle.dp)
visible: mainItem.saveButtonVisible visible: mainItem.saveButtonVisible
onClicked: { onClicked: {
mainItem.save() mainItem.save()
@ -90,7 +90,7 @@ Rectangle {
} }
Rectangle { Rectangle {
Layout.fillWidth: true Layout.fillWidth: true
height: 1 * DefaultStyle.dp height: Math.max(Math.round(1 * DefaultStyle.dp), 1)
color: DefaultStyle.main2_500main color: DefaultStyle.main2_500main
} }
} }
@ -101,7 +101,7 @@ Rectangle {
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.top: header.bottom anchors.top: header.bottom
anchors.topMargin: 16 * DefaultStyle.dp anchors.topMargin: Math.round(16 * DefaultStyle.dp)
// Workaround while the CI is made with Qt6.5.3 // Workaround while the CI is made with Qt6.5.3
// When updated to 6.8, remove this Item and // When updated to 6.8, remove this Item and
// change the ScrollView with a Flickable // change the ScrollView with a Flickable
@ -115,7 +115,7 @@ Rectangle {
anchors.top: parent.top anchors.top: parent.top
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: 15 * DefaultStyle.dp anchors.rightMargin: Math.round(15 * DefaultStyle.dp)
} }
Control.ScrollBar.horizontal: ScrollBar { Control.ScrollBar.horizontal: ScrollBar {
active: false active: false
@ -125,19 +125,19 @@ Rectangle {
model: mainItem.contentModel model: mainItem.contentModel
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.leftMargin: 45 * DefaultStyle.dp anchors.leftMargin: Math.round(45 * DefaultStyle.dp)
anchors.rightMargin: 45 * DefaultStyle.dp anchors.rightMargin: Math.round(45 * DefaultStyle.dp)
height: contentHeight height: contentHeight
spacing: 10 * DefaultStyle.dp spacing: Math.round(10 * DefaultStyle.dp)
delegate: ColumnLayout { delegate: ColumnLayout {
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
width: contentListView.width width: contentListView.width
Rectangle { Rectangle {
visible: index !== 0 visible: index !== 0
Layout.topMargin: (modelData.hideTopSeparator ? 0 : 16) * DefaultStyle.dp Layout.topMargin: Math.round((modelData.hideTopSeparator ? 0 : 16) * DefaultStyle.dp)
Layout.bottomMargin: 16 * DefaultStyle.dp Layout.bottomMargin: Math.round(16 * DefaultStyle.dp)
Layout.fillWidth: true Layout.fillWidth: true
height: 1 * DefaultStyle.dp height: Math.max(Math.round(1 * DefaultStyle.dp), 1)
color: modelData.hideTopSeparator ? 'transparent' : DefaultStyle.main2_500main color: modelData.hideTopSeparator ? 'transparent' : DefaultStyle.main2_500main
} }
GridLayout { GridLayout {
@ -145,12 +145,12 @@ Rectangle {
columns: mainItem.useVerticalLayout ? 1 : 2 columns: mainItem.useVerticalLayout ? 1 : 2
Layout.fillWidth: true Layout.fillWidth: true
// Layout.preferredWidth: parent.width // Layout.preferredWidth: parent.width
rowSpacing: (modelData.title.length > 0 || modelData.subTitle.length > 0 ? 20 : 0) * DefaultStyle.dp rowSpacing: Math.round((modelData.title.length > 0 || modelData.subTitle.length > 0 ? 20 : 0) * DefaultStyle.dp)
columnSpacing: 47 * DefaultStyle.dp columnSpacing: Math.round(47 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
Layout.preferredWidth: 341 * DefaultStyle.dp Layout.preferredWidth: Math.round(341 * DefaultStyle.dp)
Layout.maximumWidth: 341 * DefaultStyle.dp Layout.maximumWidth: Math.round(341 * DefaultStyle.dp)
spacing: 3 * DefaultStyle.dp spacing: Math.round(3 * DefaultStyle.dp)
Text { Text {
text: modelData.title text: modelData.title
visible: modelData.title.length > 0 visible: modelData.title.length > 0
@ -172,10 +172,10 @@ Rectangle {
} }
} }
RowLayout { RowLayout {
Layout.topMargin: (modelData.hideTopMargin ? 0 : (mainItem.useVerticalLayout ? 10 : 21)) * DefaultStyle.dp Layout.topMargin: Math.round((modelData.hideTopMargin ? 0 : (mainItem.useVerticalLayout ? 10 : 21)) * DefaultStyle.dp)
Layout.bottomMargin: 21 * DefaultStyle.dp Layout.bottomMargin: Math.round(21 * DefaultStyle.dp)
Layout.leftMargin: (mainItem.useVerticalLayout ? 0 : 17) * DefaultStyle.dp Layout.leftMargin: mainItem.useVerticalLayout ? 0 : Math.round(17 * DefaultStyle.dp)
Layout.preferredWidth: (modelData.customWidth > 0 ? modelData.customWidth : 545) * DefaultStyle.dp Layout.preferredWidth: Math.round((modelData.customWidth > 0 ? modelData.customWidth : 545) * DefaultStyle.dp)
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
Loader { Loader {
id: contentLoader id: contentLoader
@ -183,7 +183,7 @@ Rectangle {
sourceComponent: modelData.contentComponent sourceComponent: modelData.contentComponent
} }
Item { Item {
Layout.preferredWidth: (modelData.customRightMargin > 0 ? modelData.customRightMargin : 17) * DefaultStyle.dp Layout.preferredWidth: Math.round((modelData.customRightMargin > 0 ? modelData.customRightMargin : 17) * DefaultStyle.dp)
} }
} }
} }

View file

@ -35,21 +35,21 @@ AbstractSettingsLayout {
id: accountParametersComponent id: accountParametersComponent
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Avatar { Avatar {
id: avatar id: avatar
account: model account: model
displayPresence: false displayPresence: false
Layout.preferredWidth: 100 * DefaultStyle.dp Layout.preferredWidth: Math.round(100 * DefaultStyle.dp)
Layout.preferredHeight: 100 * DefaultStyle.dp Layout.preferredHeight: Math.round(100 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
} }
IconLabelButton { IconLabelButton {
visible: model.core.pictureUri.length === 0 visible: model.core.pictureUri.length === 0
Layout.preferredWidth: width Layout.preferredWidth: width
icon.source: AppIcons.camera icon.source: AppIcons.camera
icon.width: 17 * DefaultStyle.dp icon.width: Math.round(17 * DefaultStyle.dp)
icon.height: 17 * DefaultStyle.dp icon.height: Math.round(17 * DefaultStyle.dp)
text: qsTr("Ajouter une image") text: qsTr("Ajouter une image")
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: fileDialog.open() onClicked: fileDialog.open()
@ -58,12 +58,12 @@ AbstractSettingsLayout {
RowLayout { RowLayout {
visible: model.core.pictureUri.length > 0 visible: model.core.pictureUri.length > 0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
IconLabelButton { IconLabelButton {
Layout.preferredWidth: width Layout.preferredWidth: width
icon.source: AppIcons.pencil icon.source: AppIcons.pencil
icon.width: 17 * DefaultStyle.dp icon.width: Math.round(17 * DefaultStyle.dp)
icon.height: 17 * DefaultStyle.dp icon.height: Math.round(17 * DefaultStyle.dp)
text: qsTr("Modifier l'image") text: qsTr("Modifier l'image")
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: fileDialog.open() onClicked: fileDialog.open()
@ -71,8 +71,8 @@ AbstractSettingsLayout {
IconLabelButton { IconLabelButton {
Layout.preferredWidth: width Layout.preferredWidth: width
icon.source: AppIcons.trashCan icon.source: AppIcons.trashCan
icon.width: 17 * DefaultStyle.dp icon.width: Math.round(17 * DefaultStyle.dp)
icon.height: 17 * DefaultStyle.dp icon.height: Math.round(17 * DefaultStyle.dp)
text: qsTr("Supprimer l'image") text: qsTr("Supprimer l'image")
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
onClicked: model.core.pictureUri = "" onClicked: model.core.pictureUri = ""
@ -91,7 +91,7 @@ AbstractSettingsLayout {
} }
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Text { Text {
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
text: qsTr("Adresse SIP :") text: qsTr("Adresse SIP :")
@ -115,7 +115,7 @@ AbstractSettingsLayout {
} }
} }
ColumnLayout { ColumnLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
Text { Text {
text: qsTr("Nom daffichage") text: qsTr("Nom daffichage")
@ -131,7 +131,7 @@ AbstractSettingsLayout {
TextField { TextField {
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: 49 * DefaultStyle.dp Layout.preferredHeight: Math.round(49 * DefaultStyle.dp)
initialText: model.core.displayName initialText: model.core.displayName
backgroundColor: DefaultStyle.grey_100 backgroundColor: DefaultStyle.grey_100
onEditingFinished: { onEditingFinished: {
@ -146,7 +146,7 @@ AbstractSettingsLayout {
} }
ComboSetting { ComboSetting {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: -15 * DefaultStyle.dp Layout.topMargin: -Math.round(15 * DefaultStyle.dp)
entries: account.core.dialPlans entries: account.core.dialPlans
propertyName: "dialPlan" propertyName: "dialPlan"
propertyOwnerGui: account propertyOwnerGui: account
@ -161,9 +161,9 @@ AbstractSettingsLayout {
} }
RowLayout { RowLayout {
id:mainItem id:mainItem
spacing : 20 * DefaultStyle.dp spacing : Math.round(20 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing : 5 * DefaultStyle.dp spacing : Math.round(5 * DefaultStyle.dp)
Text { Text {
text: qsTr("Supprimer mon compte") text: qsTr("Supprimer mon compte")
font: Typography.p2l font: Typography.p2l
@ -185,7 +185,7 @@ AbstractSettingsLayout {
BigButton { BigButton {
style: ButtonStyle.noBackgroundRed style: ButtonStyle.noBackgroundRed
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
Layout.rightMargin: 5 * DefaultStyle.dp Layout.rightMargin: Math.round(5 * DefaultStyle.dp)
icon.source: AppIcons.trashCan icon.source: AppIcons.trashCan
onClicked: { onClicked: {
var mainWin = UtilsCpp.getMainWindow() var mainWin = UtilsCpp.getMainWindow()
@ -213,25 +213,25 @@ AbstractSettingsLayout {
RoundedPane { RoundedPane {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
// Layout.minimumHeight: account.core.devices.length * 133 * DefaultStyle.dp + (account.core.devices.length - 1) * 15 * DefaultStyle.dp + 2 * 21 * DefaultStyle.dp // Layout.minimumHeight: account.core.devices.length * Math.round(133 * DefaultStyle.dp) + (account.core.devices.length - 1) * Math.round(15 * DefaultStyle.dp) + 2 * Math.round(21 * DefaultStyle.dp)
Layout.rightMargin: 30 * DefaultStyle.dp Layout.rightMargin: Math.round(30 * DefaultStyle.dp)
Layout.topMargin: 20 * DefaultStyle.dp Layout.topMargin: Math.round(20 * DefaultStyle.dp)
Layout.bottomMargin: 4 * DefaultStyle.dp Layout.bottomMargin: Math.round(4 * DefaultStyle.dp)
Layout.leftMargin: 44 * DefaultStyle.dp Layout.leftMargin: Math.round(44 * DefaultStyle.dp)
topPadding: 21 * DefaultStyle.dp topPadding: Math.round(21 * DefaultStyle.dp)
bottomPadding: 21 * DefaultStyle.dp bottomPadding: Math.round(21 * DefaultStyle.dp)
leftPadding: 17 * DefaultStyle.dp leftPadding: Math.round(17 * DefaultStyle.dp)
rightPadding: 17 * DefaultStyle.dp rightPadding: Math.round(17 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.grey_100 color: DefaultStyle.grey_100
radius: 15 * DefaultStyle.dp radius: Math.round(15 * DefaultStyle.dp)
} }
contentItem: ColumnLayout { contentItem: ColumnLayout {
spacing: 15 * DefaultStyle.dp spacing: Math.round(15 * DefaultStyle.dp)
BusyIndicator { BusyIndicator {
Layout.preferredWidth: 60 * DefaultStyle.dp Layout.preferredWidth: Math.round(60 * DefaultStyle.dp)
Layout.preferredHeight: 60 * DefaultStyle.dp Layout.preferredHeight: Math.round(60 * DefaultStyle.dp)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
visible: devices.loading visible: devices.loading
} }
@ -252,24 +252,24 @@ AbstractSettingsLayout {
} }
Control.Control { Control.Control {
Layout.fillWidth: true Layout.fillWidth: true
height: 133 * DefaultStyle.dp height: Math.round(133 * DefaultStyle.dp)
topPadding: 26 * DefaultStyle.dp topPadding: Math.round(26 * DefaultStyle.dp)
bottomPadding: 26 * DefaultStyle.dp bottomPadding: Math.round(26 * DefaultStyle.dp)
rightPadding: 36 * DefaultStyle.dp rightPadding: Math.round(36 * DefaultStyle.dp)
leftPadding: 33 * DefaultStyle.dp leftPadding: Math.round(33 * DefaultStyle.dp)
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
color: DefaultStyle.grey_0 color: DefaultStyle.grey_0
radius: 10 * DefaultStyle.dp radius: Math.round(10 * DefaultStyle.dp)
} }
contentItem: ColumnLayout { contentItem: ColumnLayout {
width: parent.width width: parent.width
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
RowLayout { RowLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
EffectImage { EffectImage {
Layout.preferredWidth: 24 * DefaultStyle.dp Layout.preferredWidth: Math.round(24 * DefaultStyle.dp)
Layout.preferredHeight: 24 * DefaultStyle.dp Layout.preferredHeight: Math.round(24 * DefaultStyle.dp)
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
imageSource: modelData.core.userAgent.toLowerCase().includes('ios') | modelData.core.userAgent.toLowerCase().includes('android') ? AppIcons.mobile : AppIcons.desktop imageSource: modelData.core.userAgent.toLowerCase().includes('ios') | modelData.core.userAgent.toLowerCase().includes('android') ? AppIcons.mobile : AppIcons.desktop
@ -286,8 +286,8 @@ AbstractSettingsLayout {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Supprimer") text: qsTr("Supprimer")
icon.source: AppIcons.trashCan icon.source: AppIcons.trashCan
icon.width: 16 * DefaultStyle.dp icon.width: Math.round(16 * DefaultStyle.dp)
icon.height: 16 * DefaultStyle.dp icon.height: Math.round(16 * DefaultStyle.dp)
style: ButtonStyle.tertiary style: ButtonStyle.tertiary
onClicked: { onClicked: {
var mainWin = UtilsCpp.getMainWindow() var mainWin = UtilsCpp.getMainWindow()
@ -303,15 +303,15 @@ AbstractSettingsLayout {
} }
} }
RowLayout { RowLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Text { Text {
text: qsTr("Dernière connexion:") text: qsTr("Dernière connexion:")
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
font: Typography.p2 font: Typography.p2
} }
EffectImage { EffectImage {
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
imageSource: AppIcons.calendar imageSource: AppIcons.calendar
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
@ -322,8 +322,8 @@ AbstractSettingsLayout {
font: Typography.p1 font: Typography.p1
} }
EffectImage { EffectImage {
Layout.preferredWidth: 20 * DefaultStyle.dp Layout.preferredWidth: Math.round(20 * DefaultStyle.dp)
Layout.preferredHeight: 20 * DefaultStyle.dp Layout.preferredHeight: Math.round(20 * DefaultStyle.dp)
imageSource: AppIcons.clock imageSource: AppIcons.clock
colorizationColor: DefaultStyle.main2_600 colorizationColor: DefaultStyle.main2_600
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit

View file

@ -44,7 +44,7 @@ AbstractSettingsLayout {
ColumnLayout { ColumnLayout {
id: column id: column
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
DecoratedTextField { DecoratedTextField {
propertyName: "mwiServerAddress" propertyName: "mwiServerAddress"
propertyOwnerGui: account propertyOwnerGui: account
@ -71,7 +71,7 @@ AbstractSettingsLayout {
id: advancedParametersComponent id: advancedParametersComponent
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Text { Text {
text: qsTr("Transport") text: qsTr("Transport")
color: DefaultStyle.main2_600 color: DefaultStyle.main2_600
@ -79,7 +79,7 @@ AbstractSettingsLayout {
} }
ComboSetting { ComboSetting {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: -15 * DefaultStyle.dp Layout.topMargin: Math.round(-15 * DefaultStyle.dp)
entries: account.core.transports entries: account.core.transports
propertyName: "transport" propertyName: "transport"
propertyOwnerGui: account propertyOwnerGui: account

View file

@ -55,7 +55,7 @@ AbstractSettingsLayout {
Component { Component {
id: systemComponent id: systemComponent
ColumnLayout { ColumnLayout {
spacing: 40 * DefaultStyle.dp spacing: Math.round(40 * DefaultStyle.dp)
SwitchSetting { SwitchSetting {
Layout.fillWidth: true Layout.fillWidth: true
titleText: qsTr("Démarrer automatiquement Linphone") titleText: qsTr("Démarrer automatiquement Linphone")
@ -71,7 +71,7 @@ AbstractSettingsLayout {
Component { Component {
id: remoteProvisioningComponent id: remoteProvisioningComponent
ColumnLayout { ColumnLayout {
spacing: 6 * DefaultStyle.dp spacing: Math.round(6 * DefaultStyle.dp)
DecoratedTextField { DecoratedTextField {
Layout.fillWidth: true Layout.fillWidth: true
id: configUri id: configUri
@ -79,7 +79,7 @@ AbstractSettingsLayout {
toValidate: true toValidate: true
} }
SmallButton { SmallButton {
Layout.topMargin: -20 * DefaultStyle.dp Layout.topMargin: -Math.round(20 * DefaultStyle.dp)
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
text: qsTr("Télécharger et appliquer") text: qsTr("Télécharger et appliquer")
style: ButtonStyle.tertiary style: ButtonStyle.tertiary
@ -97,14 +97,14 @@ AbstractSettingsLayout {
Component { Component {
id: securityComponent id: securityComponent
ColumnLayout { ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Text { Text {
text: qsTr("Chiffrement du média") text: qsTr("Chiffrement du média")
font { font {
pixelSize: 14 * DefaultStyle.dp pixelSize: Typography.p2l.pixelSize
weight: 700 * DefaultStyle.dp weight: Typography.p2l.weight
} }
} }
ComboSetting { ComboSetting {
@ -134,13 +134,13 @@ AbstractSettingsLayout {
ListView { ListView {
Layout.preferredHeight: contentHeight Layout.preferredHeight: contentHeight
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
model: PayloadTypeProxy { model: PayloadTypeProxy {
filterType: PayloadTypeProxy.Audio | PayloadTypeProxy.NotDownloadable filterType: PayloadTypeProxy.Audio | PayloadTypeProxy.NotDownloadable
} }
delegate: SwitchSetting { delegate: SwitchSetting {
width: parent.width width: parent.width
height: 32 * DefaultStyle.dp height: Math.round(32 * DefaultStyle.dp)
titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType) titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType)
subTitleText: modelData.core.clockRate + " Hz" subTitleText: modelData.core.clockRate + " Hz"
propertyName: "enabled" propertyName: "enabled"
@ -156,18 +156,18 @@ AbstractSettingsLayout {
Component { Component {
id: videoCodecsComponent id: videoCodecsComponent
ColumnLayout { ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
ListView { ListView {
Layout.preferredHeight: contentHeight Layout.preferredHeight: contentHeight
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
model: PayloadTypeProxy { model: PayloadTypeProxy {
id: videoPayloadTypeProxy id: videoPayloadTypeProxy
filterType: PayloadTypeProxy.Video | PayloadTypeProxy.NotDownloadable filterType: PayloadTypeProxy.Video | PayloadTypeProxy.NotDownloadable
} }
delegate: SwitchSetting { delegate: SwitchSetting {
width: parent.width width: parent.width
height: 32 * DefaultStyle.dp height: Math.round(32 * DefaultStyle.dp)
titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType) titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType)
subTitleText: modelData.core.encoderDescription subTitleText: modelData.core.encoderDescription
propertyName: "enabled" propertyName: "enabled"
@ -177,14 +177,14 @@ AbstractSettingsLayout {
ListView { ListView {
Layout.preferredHeight: contentHeight Layout.preferredHeight: contentHeight
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
model: PayloadTypeProxy { model: PayloadTypeProxy {
id: downloadableVideoPayloadTypeProxy id: downloadableVideoPayloadTypeProxy
filterType: PayloadTypeProxy.Video | PayloadTypeProxy.Downloadable filterType: PayloadTypeProxy.Video | PayloadTypeProxy.Downloadable
} }
delegate: SwitchSetting { delegate: SwitchSetting {
width: parent.width width: parent.width
height: 32 * DefaultStyle.dp height: Math.round(32 * DefaultStyle.dp)
titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType) titleText: Utils.capitalizeFirstLetter(modelData.core.mimeType)
subTitleText: modelData.core.encoderDescription subTitleText: modelData.core.encoderDescription
onCheckedChanged: Utils.openCodecOnlineInstallerDialog( onCheckedChanged: Utils.openCodecOnlineInstallerDialog(
@ -211,7 +211,7 @@ AbstractSettingsLayout {
Component { Component {
id: hideFpsComponent id: hideFpsComponent
ColumnLayout { ColumnLayout {
spacing: 40 * DefaultStyle.dp spacing: Math.round(40 * DefaultStyle.dp)
SwitchSetting { SwitchSetting {
titleText:qsTr("Cacher les FPS") titleText:qsTr("Cacher les FPS")
propertyName: "hideFps" propertyName: "hideFps"

View file

@ -35,7 +35,7 @@ AbstractSettingsLayout {
Component { Component {
id: genericParametersComponent id: genericParametersComponent
ColumnLayout { ColumnLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
SwitchSetting { SwitchSetting {
titleText: qsTr("Annulateur d'écho") titleText: qsTr("Annulateur d'écho")
subTitleText: qsTr("Évite que de l'écho soit entendu par votre correspondant") subTitleText: qsTr("Évite que de l'écho soit entendu par votre correspondant")
@ -73,7 +73,7 @@ AbstractSettingsLayout {
MultimediaSettings { MultimediaSettings {
ringerDevicesVisible: true ringerDevicesVisible: true
backgroundVisible: false backgroundVisible: false
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
} }
} }
} }

View file

@ -40,12 +40,12 @@ AbstractSettingsLayout {
Component { Component {
id: topBar id: topBar
RowLayout { RowLayout {
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
BigButton { BigButton {
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.trashCan icon.source: AppIcons.trashCan
icon.width: 32 * DefaultStyle.dp icon.width: Math.round(32 * DefaultStyle.dp)
icon.height: 32 * DefaultStyle.dp icon.height: Math.round(32 * DefaultStyle.dp)
visible: !isNew visible: !isNew
onClicked: { onClicked: {
var mainWin = UtilsCpp.getMainWindow() var mainWin = UtilsCpp.getMainWindow()
@ -68,10 +68,10 @@ AbstractSettingsLayout {
id: cardDavParametersComponent id: cardDavParametersComponent
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Layout.rightMargin: 44 * DefaultStyle.dp Layout.rightMargin: Math.round(44 * DefaultStyle.dp)
Layout.topMargin: 20 * DefaultStyle.dp Layout.topMargin: Math.round(20 * DefaultStyle.dp)
Layout.leftMargin: 64 * DefaultStyle.dp Layout.leftMargin: Math.round(64 * DefaultStyle.dp)
DecoratedTextField { DecoratedTextField {
propertyName: "displayName" propertyName: "displayName"
propertyOwnerGui: carddavGui propertyOwnerGui: carddavGui

View file

@ -25,18 +25,18 @@ RowLayout {
signal save() signal save()
signal undo() signal undo()
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
spacing: 16 * DefaultStyle.dp spacing: Math.round(16 * DefaultStyle.dp)
Repeater { Repeater {
model: mainItem.proxyModel model: mainItem.proxyModel
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft|Qt.AlignHCenter Layout.alignment: Qt.AlignLeft|Qt.AlignHCenter
Layout.preferredHeight: 74 * DefaultStyle.dp Layout.preferredHeight: Math.round(74 * DefaultStyle.dp)
spacing: 20 * DefaultStyle.dp spacing: Math.round(20 * DefaultStyle.dp)
Text { Text {
text: modelData.core[titleProperty] text: modelData.core[titleProperty]
font: Typography.p2l font: Typography.p2l
@ -51,8 +51,8 @@ RowLayout {
Button { Button {
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.pencil icon.source: AppIcons.pencil
icon.width: 24 * DefaultStyle.dp icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: 24 * DefaultStyle.dp icon.height: Math.round(24 * DefaultStyle.dp)
onClicked: { onClicked: {
mainItem.owner.container.push(mainItem.settingsLayout, { mainItem.owner.container.push(mainItem.settingsLayout, {
titleText: mainItem.editText, titleText: mainItem.editText,
@ -104,7 +104,7 @@ RowLayout {
} }
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 5 * DefaultStyle.dp spacing: Math.round(5 * DefaultStyle.dp)
Item { Item {
Layout.fillWidth: true Layout.fillWidth: true
} }

Some files were not shown because too many files have changed in this diff Show more