QML-UI: basics for theming and hi-dpi support

- Theme: For theming, we're just defining some colors centrally for now
- Units: This object provides dpi-corrected sizing in the form of
  gridUnit. The idea is to base gridUnit on the rendered font size, so
  the ui scales with text size. As this interpolates font size and dpi,
  the sizing is rather responsive.

These are the basics, now we can kill lots of hardcoded pixel values.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Sebastian Kügler 2015-10-09 01:57:10 +02:00 committed by Dirk Hohndel
parent 67c306b527
commit 431b5e07fe
4 changed files with 32 additions and 0 deletions

View file

@ -6,6 +6,8 @@ import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1 import QtQuick.Layouts 1.1
import QtQuick.Window 2.2 import QtQuick.Window 2.2
import org.subsurfacedivelog.mobile 1.0 import org.subsurfacedivelog.mobile 1.0
import "qrc:/qml/theme" as Theme
ApplicationWindow { ApplicationWindow {
title: qsTr("Subsurface mobile") title: qsTr("Subsurface mobile")
@ -13,6 +15,14 @@ ApplicationWindow {
property alias messageText: message.text property alias messageText: message.text
visible: true visible: true
Theme.Units {
id: units
}
Theme.Theme {
id: theme
}
Menu { Menu {
id: prefsMenu id: prefsMenu
title: "Menu" title: "Menu"
@ -181,4 +191,10 @@ ApplicationWindow {
id: logWindow id: logWindow
visible: false visible: false
} }
Component.onCompleted: {
print("main.qml laoded.");
print("gridUnit is: " + units.gridUnit);
print("hightlight : " + theme.highlightColor);
}
} }

View file

@ -9,4 +9,8 @@
<file>Log.qml</file> <file>Log.qml</file>
<file>TopBar.qml</file> <file>TopBar.qml</file>
</qresource> </qresource>
<qresource prefix="/qml/theme">
<file alias="Theme.qml">theme/Theme.qml</file>
<file alias="Units.qml" >theme/Units.qml</file>
</qresource>
</RCC> </RCC>

View file

@ -0,0 +1,7 @@
import QtQuick 2.3
QtObject {
property color textColor: "#333333"
property color backgroundColor: "#ececec"
property color highlightColor: "#91c4e1"
}

View file

@ -0,0 +1,5 @@
import QtQuick 2.3
QtObject {
property int gridUnit: 24
}