Commit 7a0d8b49 authored by Gus Grubba's avatar Gus Grubba

Change user facing UI from "Font Size" to "UI Scaling".

parent 0b5aba44
......@@ -31,6 +31,7 @@ Item {
//-- The point and pixel font size values are computed at runtime
property real defaultFontPointSize: 10
property real platformFontPointSize: 10
/// You can use this property to position ui elements in a screen resolution independent manner. Using fixed positioning values should not
/// be done. All positioning should be done using anchors or a ratio of the defaultFontPixelHeight and defaultFontPixelWidth values. This way
......@@ -105,8 +106,7 @@ Item {
Connections {
target: QGroundControl.settingsManager.appSettings.appFontPointSize
onValueChanged: {
if(ScreenToolsController.isDebug)
_setBasePointSize(QGroundControl.settingsManager.appSettings.appFontPointSize.value)
_setBasePointSize(QGroundControl.settingsManager.appSettings.appFontPointSize.value)
}
}
......@@ -158,40 +158,36 @@ Item {
property real fontWidth: contentWidth
property real fontHeight: contentHeight
Component.onCompleted: {
var _appFontPointSizeFact = QGroundControl.settingsManager.appSettings.appFontPointSize
var baseSize = _appFontPointSizeFact.value
//-- If this is the first time (not saved in settings)
if(baseSize < _appFontPointSizeFact.min || baseSize > _appFontPointSizeFact.max) {
//-- Init base size base on the platform
if(ScreenToolsController.isMobile) {
//-- Check iOS really tiny screens (iPhone 4s/5/5s)
if(ScreenToolsController.isiOS) {
if(ScreenToolsController.isiOS && Screen.width < 570) {
// For iPhone 4s size we don't fit with additional tweaks to fit screen,
// we will just drop point size to make things fit. Correct size not yet determined.
baseSize = 12; // This will be lowered in a future pull
} else {
baseSize = 14;
}
} else if((Screen.width / realPixelDensity) < 120) {
baseSize = 11;
// Other Android
//-- First, compute platform, default size
if(ScreenToolsController.isMobile) {
//-- Check iOS really tiny screens (iPhone 4s/5/5s)
if(ScreenToolsController.isiOS) {
if(ScreenToolsController.isiOS && Screen.width < 570) {
// For iPhone 4s size we don't fit with additional tweaks to fit screen,
// we will just drop point size to make things fit. Correct size not yet determined.
platformFontPointSize = 12; // This will be lowered in a future pull
} else {
baseSize = 14;
platformFontPointSize = 14;
}
} else if((Screen.width / realPixelDensity) < 120) {
platformFontPointSize = 11;
// Other Android
} else {
baseSize = _defaultFont.font.pointSize;
platformFontPointSize = 14;
}
_appFontPointSizeFact._setIgnoreQGCRebootRequired(true)
_appFontPointSizeFact.value = baseSize
_appFontPointSizeFact._setIgnoreQGCRebootRequired(false)
//-- Release build doesn't get signal
if(!ScreenToolsController.isDebug)
_screenTools._setBasePointSize(baseSize);
} else {
//-- Set size saved in settings
_screenTools._setBasePointSize(baseSize);
platformFontPointSize = _defaultFont.font.pointSize;
}
//-- See if we are using a custom size
var _appFontPointSizeFact = QGroundControl.settingsManager.appSettings.appFontPointSize
var baseSize = _appFontPointSizeFact.value
//-- Sanity check
if(baseSize < _appFontPointSizeFact.min || baseSize > _appFontPointSizeFact.max) {
baseSize = platformFontPointSize;
_appFontPointSizeFact.value = baseSize
}
//-- Set size saved in settings
_screenTools._setBasePointSize(baseSize);
}
}
}
......@@ -146,8 +146,7 @@
"units": "pt",
"min": 6,
"max": 48,
"defaultValue": 0,
"qgcRebootRequired": true
"defaultValue": 0
},
{
"name": "indoorPalette",
......
......@@ -36,7 +36,7 @@ Rectangle {
property Fact _userBrandImageIndoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageIndoor
property Fact _userBrandImageOutdoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageOutdoor
property real _labelWidth: ScreenTools.defaultFontPixelWidth * 20
property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 28
property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 30
property real _valueFieldWidth: ScreenTools.defaultFontPixelWidth * 10
property string _mapProvider: QGroundControl.settingsManager.flightMapSettings.mapProvider.value
property string _mapType: QGroundControl.settingsManager.flightMapSettings.mapType.value
......@@ -197,8 +197,8 @@ Rectangle {
}
QGCLabel {
text: qsTr("Stream GCS Position")
visible: _followTarget.visible
text: qsTr("Stream GCS Position")
visible: _followTarget.visible
}
FactComboBox {
Layout.preferredWidth: _comboFieldWidth
......@@ -206,6 +206,54 @@ Rectangle {
indexModel: false
visible: _followTarget.visible
}
QGCLabel {
text: qsTr("UI Scaling")
visible: _appFontPointSize.visible
Layout.alignment: Qt.AlignVCenter
}
Item {
width: _comboFieldWidth
height: baseFontEdit.height * 1.5
visible: _appFontPointSize.visible
Layout.alignment: Qt.AlignVCenter
Row {
spacing: ScreenTools.defaultFontPixelWidth
anchors.verticalCenter: parent.verticalCenter
QGCButton {
width: height
height: baseFontEdit.height * 1.5
text: "-"
anchors.verticalCenter: parent.verticalCenter
onClicked: {
if (_appFontPointSize.value > _appFontPointSize.min) {
_appFontPointSize.value = _appFontPointSize.value - 1
}
}
}
QGCLabel {
id: baseFontEdit
width: ScreenTools.defaultFontPixelWidth * 6
text: (QGroundControl.settingsManager.appSettings.appFontPointSize.value / ScreenTools.platformFontPointSize * 100).toFixed(0) + "%"
horizontalAlignment: Text.AlignHCenter
anchors.verticalCenter: parent.verticalCenter
}
Text {
}
QGCButton {
width: height
height: baseFontEdit.height * 1.5
text: "+"
anchors.verticalCenter: parent.verticalCenter
onClicked: {
if (_appFontPointSize.value < _appFontPointSize.max) {
_appFontPointSize.value = _appFontPointSize.value + 1
}
}
}
}
}
}
}
......@@ -215,6 +263,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: comboGridItem.bottom
anchors.topMargin: ScreenTools.defaultFontPixelHeight
height: miscCol.height
ColumnLayout {
......@@ -222,41 +271,6 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
spacing: _margins
RowLayout {
Layout.fillWidth: false
Layout.alignment: Qt.AlignHCenter
visible: _appFontPointSize.visible
QGCLabel {
text: qsTr("Font Size:")
}
QGCButton {
Layout.preferredWidth: height
Layout.preferredHeight: baseFontEdit.height
text: "-"
onClicked: {
if (_appFontPointSize.value > _appFontPointSize.min) {
_appFontPointSize.value = _appFontPointSize.value - 1
}
}
}
FactTextField {
id: baseFontEdit
Layout.preferredWidth: _valueFieldWidth
fact: QGroundControl.settingsManager.appSettings.appFontPointSize
}
QGCButton {
Layout.preferredWidth: height
Layout.preferredHeight: baseFontEdit.height
text: "+"
onClicked: {
if (_appFontPointSize.value < _appFontPointSize.max) {
_appFontPointSize.value = _appFontPointSize.value + 1
}
}
}
}
FactCheckBox {
text: qsTr("Use Vehicle Pairing")
fact: _usePairing
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment