linphone-desktop/Linphone/view/Control/Button/Settings/SwitchSetting.qml
Gaelle Braud 06647f002a resize the app according to screen definition
fix ui size according to screen resolution
2025-03-07 11:36:34 +01:00

56 lines
1.4 KiB
QML

import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Layouts
import Linphone
RowLayout {
id:mainItem
property string titleText
property string subTitleText
property string propertyName
property var propertyOwner
property var propertyOwnerGui
property bool enabled: true
spacing : Math.round(20 * DefaultStyle.dp)
signal checkedChanged(bool checked)
function setChecked(value) {
switchButton.checked = value
}
ColumnLayout {
Layout.minimumHeight: Math.round(32 * DefaultStyle.dp)
spacing: Math.round(4 * DefaultStyle.dp)
Text {
text: titleText
font: Typography.p2l
wrapMode: Text.WordWrap
color: DefaultStyle.main2_600
Layout.fillWidth: true
}
Text {
text: subTitleText
font: Typography.p1
wrapMode: Text.WordWrap
visible: subTitleText.length > 0
color: DefaultStyle.main2_600
Layout.fillWidth: true
}
}
Switch {
id: switchButton
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
checked: propertyOwnerGui ? propertyOwnerGui.core[mainItem.propertyName]
: propertyOwner ? propertyOwner[mainItem.propertyName] : false
enabled: mainItem.enabled
onCheckedChanged: mainItem.checkedChanged(checked)
onToggled: binding.when = true
}
Binding {
id: binding
target: propertyOwnerGui ? propertyOwnerGui.core : propertyOwner ? propertyOwner : null
property: mainItem.propertyName
value: switchButton.checked
when: false
}
}