mobile-widgets: move basePointSize to themeinterface

Check defaultfont and calculate basepointsize in themeinterface instead
of in QML.

Signed-off-by: jan Iversen <jan@casacondor.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
jan Iversen 2020-01-14 13:10:07 +01:00 committed by Dirk Hohndel
parent 08e39f9d2d
commit a3e3a30b70
5 changed files with 17 additions and 21 deletions

View file

@ -48,11 +48,6 @@ Kirigami.ApplicationWindow {
}
FontMetrics {
id: fontMetrics
Component.onCompleted: {
manager.appendTextToLog("Using the following font: " + fontMetrics.font.family +
" at " + subsurfaceTheme.basePointSize + "pt" +
" with mobile_scale: " + PrefDisplay.mobile_scale)
}
}
visible: false
@ -595,24 +590,12 @@ if you have network connectivity and want to sync your data to cloud storage."),
// change our glabal grid unit
Kirigami.Units.gridUnit = kirigamiGridUnit
}
// break binding explicitly. Now we have a basePointSize that we can
// use to easily scale against
subsurfaceTheme.basePointSize = subsurfaceTheme.basePointSize * factor;
// set the initial UI scaling as in the the preferences
fontMetrics.font.pointSize = subsurfaceTheme.basePointSize * PrefDisplay.mobile_scale;
manager.appendTextToLog("Done setting up sizes")
}
QtObject {
id: subsurfaceTheme
// basePointSize is determinded based on the width of the screen (typically at start of the app)
// and must not be changed if we change font size. This is tricky in QML. In order to break the
// binding between basePointSize and fontMetrics.font.pointSize we explicitly multipy it by 1.0
// in the onComplete handler of this object.
property double basePointSize: fontMetrics.font.pointSize;
property double regularPointSize: fontMetrics.font.pointSize
property double titlePointSize: regularPointSize * 1.5
property double headingPointSize: regularPointSize * 1.2