aboutsummaryrefslogtreecommitdiffstats
path: root/imports/shared/utils/Style.qml
diff options
context:
space:
mode:
Diffstat (limited to 'imports/shared/utils/Style.qml')
-rw-r--r--imports/shared/utils/Style.qml172
1 files changed, 172 insertions, 0 deletions
diff --git a/imports/shared/utils/Style.qml b/imports/shared/utils/Style.qml
new file mode 100644
index 0000000..9301eda
--- /dev/null
+++ b/imports/shared/utils/Style.qml
@@ -0,0 +1,172 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune IVI UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.1
+import QtApplicationManager 1.0
+
+QtObject {
+ id: root
+
+ property bool withCluster: configValue("withCluster", false)
+
+ property int paddingXS: configValue("paddingXS", 2)
+ property int paddingS: configValue("paddingS", 4)
+ property int padding: configValue("padding", 8)
+ property int paddingL: configValue("paddingL", 12)
+ property int paddingXL: configValue("paddingXL", 16)
+
+ property int screenWidth: configValue("screenWidth", 1280)
+ property int screenHeight: configValue("screenHeight", 800)
+ property int displayHMargin: configValue("displayHMargin", 11)
+ property int displayVMargin: configValue("displayVMargin", 0)
+ property int cellWidth: configValue("cellWidth", 53) // 1280/24
+ property int cellHeight: configValue("cellHeight", 33) // 800/24
+ property string fontFamily: configValue("fontFamily", true ? 'Source Sans Pro' : fontRegular.name)
+ property real fontWeight: configValue("fontWeight", Font.Light)
+ property int fontSizeXXS: configValue("fontSizeXXS", 14)
+ property int fontSizeXS: configValue("fontSizeXS", 16)
+ property int fontSizeS: configValue("fontSizeS", 18)
+ property int fontSizeM: configValue("fontSizeM", 24)
+ property int fontSizeL: configValue("fontSizeL", 28)
+ property int fontSizeXL: configValue("fontSizeXL", 36)
+ property int fontSizeXXL: configValue("fontSizeXXL", 38)
+ property color colorWhite: configValue("colorWhite", '#ffffff')
+ property color colorOrange: configValue("colorOrange", '#f07d00')
+ property color colorGrey: configValue("colorGrey", '#999999')
+ property color colorBlack: configValue("colorBlack", '#000000')
+ property bool debugMode: configValue("debugMode", false)
+ property bool gridMode: configValue("gridMode", false)
+ property bool fakeBackground: configValue("fakeBackground", false)
+ property string displayBackground: configValue("displayBackground", "background_1280x800")
+ property real disabledIconOpacity: configValue("disabledIconOpacity", 0.6)
+
+ property int defaultSymbolSize: configValue("defaultSymbolSize", symbolSizeS)
+ property int defaultGfxSize: configValue("defaultGfxSize", 1)
+ property int symbolSizeXS: configValue("symbolSizeXS", 32)
+ property int symbolSizeS: configValue("symbolSizeS", 48)
+ property int symbolSizeM: configValue("symbolSizeM", 72)
+ property int symbolSizeL: configValue("symbolSizeL", 96)
+ property int symbolSizeXL: configValue("symbolSizeXL", 114)
+ property int symbolSizeXXL: configValue("symbolSizeXXL", 192)
+
+ property url drawableUrl: Qt.resolvedUrl('../assets/drawable-ldpi')
+ property url symbolUrl: Qt.resolvedUrl('../assets/icons')
+ property url gfxUrl: Qt.resolvedUrl('../assets/gfx/')
+ property url fonts: Qt.resolvedUrl('../assets/fonts/')
+
+ property bool isClient: typeof ApplicationInterface !== 'undefined'
+ property string styleConfig: isClient ? ApplicationInterface.additionalConfiguration.styleConfig : ApplicationManager.additionalConfiguration.styleConfig
+
+ property Loader styleLoader: Loader {
+ source: styleConfig === "auto" ? Qt.resolvedUrl("AutoConfig.qml") : styleConfig
+
+ onLoaded: {
+ print("StyleConfig loaded: ", source)
+ }
+ }
+
+ property FontLoader fontRegular: FontLoader {
+ source: font('SourceSansPro-Regular')
+ }
+
+ property FontLoader fontLight: FontLoader {
+ source: font('SourceSansPro-Light')
+ }
+
+ function configValue(key, defaultValue) {
+ return (styleLoader.item && styleLoader.item[key] )? styleLoader.item[key]: defaultValue
+ }
+
+
+ function symbol(name, size, active) {
+ if (size === 0)
+ size = defaultSymbolSize
+ return symbolUrl + (active ? '/active/' : '/') + name + '@' + size + '.png'
+ }
+
+ function symbolXS(name, active) {
+ return symbol(name, symbolSizeXS, active);
+ }
+
+ function symbolS(name, active) {
+ return symbol(name, symbolSizeS, active);
+ }
+
+ function symbolM(name, active) {
+ return symbol(name, symbolSizeM, active);
+ }
+
+ function symbolL(name, active) {
+ return symbol(name, symbolSizeL, active);
+ }
+
+ function symbolXL(name, active) {
+ return symbol(name, symbolSizeXL, active);
+ }
+
+ function symbolXXL(name, active) {
+ return symbol(name, symbolSizeXXL, active);
+ }
+
+
+ function gfx2(name) {
+ return gfxUrl + name + '.png'
+ }
+
+ function gfx2Dynamic(name, size) {
+ return gfxUrl + name + '@' + size + 'x.png'
+ }
+
+ function icon(name) {
+ return drawableUrl + '/' + name + '.png';
+ }
+
+ function gfx(name) {
+ return drawableUrl + '/' + name + '.png';
+ }
+
+ function hspan(value) {
+ return cellWidth * value
+ }
+
+ function vspan(value) {
+ return cellHeight * value
+ }
+
+ function asset(name) {
+ return Qt.resolvedUrl('../assets/' + name)
+ }
+
+ function font(name) {
+ return Qt.resolvedUrl('../assets/fonts/' + name + '.ttf')
+ }
+}