2017-04-27 18:30:36 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2017-10-29 07:44:06 +00:00
|
|
|
import QtQuick 2.6
|
2017-10-30 10:26:47 +00:00
|
|
|
import QtQuick.Layouts 1.2
|
2017-10-29 12:44:22 +00:00
|
|
|
import QtQuick.Controls 2.2 as Controls
|
2016-03-09 03:38:03 +00:00
|
|
|
import QtQuick.Window 2.2
|
2018-09-27 20:09:26 +00:00
|
|
|
import org.kde.kirigami 2.4 as Kirigami
|
2018-09-25 10:33:19 +00:00
|
|
|
import org.subsurfacedivelog.mobile 1.0
|
2015-11-06 21:53:26 +00:00
|
|
|
|
2016-03-08 20:26:54 +00:00
|
|
|
Kirigami.Page {
|
2016-02-12 20:17:43 +00:00
|
|
|
|
2016-03-08 20:26:54 +00:00
|
|
|
title: "Theme Information"
|
2018-02-16 10:17:20 +00:00
|
|
|
background: Rectangle { color: subsurfaceTheme.backgroundColor }
|
2016-05-04 20:59:01 +00:00
|
|
|
|
2020-01-15 08:10:46 +00:00
|
|
|
FontMetrics {
|
|
|
|
id: fontMetrics
|
|
|
|
}
|
|
|
|
|
2016-02-10 23:11:04 +00:00
|
|
|
GridLayout {
|
|
|
|
id: themetest
|
|
|
|
columns: 2
|
2016-03-08 20:26:54 +00:00
|
|
|
anchors.margins: Kirigami.Units.gridUnit / 2
|
2015-11-06 21:53:26 +00:00
|
|
|
|
2016-03-08 20:26:54 +00:00
|
|
|
Kirigami.Heading {
|
2016-02-10 23:11:04 +00:00
|
|
|
Layout.columnSpan: 2
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Theme Information"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:53:26 +00:00
|
|
|
|
2016-03-08 20:26:54 +00:00
|
|
|
Kirigami.Heading {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Screen"
|
2016-02-10 23:11:04 +00:00
|
|
|
Layout.columnSpan: 2
|
|
|
|
level: 3
|
|
|
|
}
|
2015-11-06 21:54:54 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Geometry (pixels):"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-02-10 23:11:04 +00:00
|
|
|
text: rootItem.width + "x" + rootItem.height
|
|
|
|
}
|
2015-12-03 22:27:27 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Geometry (gridUnits):"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-03-08 20:26:54 +00:00
|
|
|
text: Math.round(rootItem.width / Kirigami.Units.gridUnit) + "x" + Math.round(rootItem.height / Kirigami.Units.gridUnit)
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-12-08 01:07:31 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Units.gridUnit:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-03-08 20:26:54 +00:00
|
|
|
text: Kirigami.Units.gridUnit
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:54:54 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Units.devicePixelRatio:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-03-09 03:38:03 +00:00
|
|
|
text: Screen.devicePixelRatio
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:54:54 +00:00
|
|
|
|
2016-03-08 20:26:54 +00:00
|
|
|
Kirigami.Heading {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Font Metrics"
|
2016-02-10 23:11:04 +00:00
|
|
|
level: 3
|
|
|
|
Layout.columnSpan: 2
|
|
|
|
}
|
2015-12-08 01:07:31 +00:00
|
|
|
|
mobile, QML: introduce basePointSize in subsurfaceTheme
By manipulation the used font pointSize property, we can dynamically
scale fonts and derived UI objects. At the same time, we have
some logic to determine the default font, its size, etc, for example
depending on screen properties. The scaling of the UI (and its font)
does not need to interfere with those defaults.
However, when we want to reset the pointSize, we alter the default, so
a backup of the default is needed. Ok, not al full backup, as the only
thing we like to manipulate is the pointSize, to which we want to be
able to return.
All this leads to this commit. A basePointSize property is added, that
is initialized from the default. Due to the binding logic of the QML
engine, it is not a classic initialization, but a binding between the
2 properties. We need to break that binding explicitly, so that
the original PointSize is always preserved.
In addition, a display of the new font property is added to the
developers theme test.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-25 10:48:48 +00:00
|
|
|
Controls.Label {
|
|
|
|
text: "basePointSize:"
|
|
|
|
}
|
|
|
|
Controls.Label {
|
2020-01-14 12:10:07 +00:00
|
|
|
text: ThemeNew.basePointSize
|
mobile, QML: introduce basePointSize in subsurfaceTheme
By manipulation the used font pointSize property, we can dynamically
scale fonts and derived UI objects. At the same time, we have
some logic to determine the default font, its size, etc, for example
depending on screen properties. The scaling of the UI (and its font)
does not need to interfere with those defaults.
However, when we want to reset the pointSize, we alter the default, so
a backup of the default is needed. Ok, not al full backup, as the only
thing we like to manipulate is the pointSize, to which we want to be
able to return.
All this leads to this commit. A basePointSize property is added, that
is initialized from the default. Due to the binding logic of the QML
engine, it is not a classic initialization, but a binding between the
2 properties. We need to break that binding explicitly, so that
the original PointSize is always preserved.
In addition, a display of the new font property is added to the
developers theme test.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-25 10:48:48 +00:00
|
|
|
}
|
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "FontMetrics pointSize:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: fontMetrics.font.pointSize
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:54:54 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "FontMetrics pixelSize:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: Number(fontMetrics.height).toFixed(2)
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:54:54 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "FontMetrics devicePixelRatio:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: Number(fontMetrics.height / fontMetrics.font.pointSize).toFixed(2)
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:53:26 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Text item pixelSize:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
|
|
|
Text {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: fontMetrics.font.pixelSize
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:57:01 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Text item pointSize:"
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
|
|
|
Text {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: fontMetrics.font.pointSize
|
2016-02-10 23:11:04 +00:00
|
|
|
}
|
2015-11-06 21:57:01 +00:00
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Pixel density:"
|
2016-04-05 23:50:43 +00:00
|
|
|
}
|
|
|
|
Text {
|
2016-08-16 03:48:23 +00:00
|
|
|
text: Number(Screen.pixelDensity).toFixed(2)
|
2016-04-05 23:50:43 +00:00
|
|
|
}
|
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-05-04 20:59:01 +00:00
|
|
|
text: "Height of default font:"
|
2016-04-05 23:50:43 +00:00
|
|
|
}
|
|
|
|
Text {
|
2018-09-25 10:33:19 +00:00
|
|
|
text: Number(fontMetrics.font.pixelSize / Screen.pixelDensity).toFixed(2) + "mm"
|
2016-04-05 23:50:43 +00:00
|
|
|
}
|
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2017-04-14 01:21:50 +00:00
|
|
|
text: "2cm x 2cm square:"
|
|
|
|
}
|
|
|
|
Rectangle {
|
|
|
|
width: Math.round(Screen.pixelDensity * 20)
|
|
|
|
height: Math.round(Screen.pixelDensity * 20)
|
|
|
|
color: "black"
|
|
|
|
}
|
|
|
|
|
2017-10-12 12:25:22 +00:00
|
|
|
Controls.Label {
|
2016-02-10 23:11:04 +00:00
|
|
|
Layout.columnSpan: 2
|
|
|
|
Layout.fillHeight: true
|
|
|
|
}
|
2015-11-06 21:53:26 +00:00
|
|
|
}
|
|
|
|
}
|