diff options
author | Daniel d'Andrada <daniel.dandrada@luxoft.com> | 2018-03-20 13:32:24 +0100 |
---|---|---|
committer | Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com> | 2018-03-21 16:21:45 +0000 |
commit | 11268aadee373bfacbf72060e3e982a78ae19107 (patch) | |
tree | 77b7df7cae5d55649f969a081d08f75b9fcfbc36 | |
parent | afe88e5f3a12a908ae2806e197112185aeb6b489 (diff) |
[sysui] Pass NeptuneStyle.scale down to application windows
Change-Id: I7a2d49a48e51f83080902bfb035179cd40fb8409
Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
-rw-r--r-- | imports/shared/utils/AppUIScreen.qml | 3 | ||||
-rw-r--r-- | imports/shared/utils/SecondaryWindow.qml | 11 | ||||
-rw-r--r-- | imports/system/models/application/ApplicationInfo.qml | 14 | ||||
-rw-r--r-- | sysui/display/ApplicationFrame.qml | 6 | ||||
-rw-r--r-- | sysui/home/ApplicationWidget.qml | 4 | ||||
-rw-r--r-- | sysui/instrumentcluster/InstrumentClusterWindow.qml | 4 | ||||
-rw-r--r-- | sysui/instrumentcluster/SecondaryAppWindows.qml | 17 |
7 files changed, 49 insertions, 10 deletions
diff --git a/imports/shared/utils/AppUIScreen.qml b/imports/shared/utils/AppUIScreen.qml index 9f2b8b1c..db235e52 100644 --- a/imports/shared/utils/AppUIScreen.qml +++ b/imports/shared/utils/AppUIScreen.qml @@ -119,6 +119,9 @@ ApplicationManagerWindow { case "neptuneCurrentHeight": root.currentHeight = value; break; + case "neptuneScale": + root.NeptuneStyle.scale = value; + break; case "neptuneState": root.neptuneState = value; break; diff --git a/imports/shared/utils/SecondaryWindow.qml b/imports/shared/utils/SecondaryWindow.qml index e8172f72..d0322dc8 100644 --- a/imports/shared/utils/SecondaryWindow.qml +++ b/imports/shared/utils/SecondaryWindow.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 Pelagicore AG +** Copyright (C) 2017-2018 Pelagicore AG ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Neptune 3 IVI UI. @@ -41,6 +41,15 @@ ApplicationManagerWindow { setWindowProperty("windowType", "secondary") visible = true } + + onWindowPropertyChanged: { + switch (name) { + case "neptuneScale": + root.NeptuneStyle.scale = value; + break; + } + } + UISettings { onThemeChanged: updateTheme() Component.onCompleted: updateTheme() diff --git a/imports/system/models/application/ApplicationInfo.qml b/imports/system/models/application/ApplicationInfo.qml index 47bb36c7..11268b02 100644 --- a/imports/system/models/application/ApplicationInfo.qml +++ b/imports/system/models/application/ApplicationInfo.qml @@ -79,6 +79,12 @@ QtObject { // Currrent window width property int currentWidth: 0 + // UI scale factor to be applied to window. See NeptuneStyle.scale + property real windowScale: 1 + + // UI scale factor to be applied to secondaryWindow. See NeptuneStyle.scale + property real secondaryWindowScale: 1 + // Whether the application window should be shown as a widget property bool asWidget: false @@ -136,6 +142,14 @@ QtObject { } } + onWindowScaleChanged: { + if (window) + AM.WindowManager.setWindowProperty(window, "neptuneScale", windowScale); + } + onSecondaryWindowScaleChanged: { + if (secondaryWindow) + AM.WindowManager.setWindowProperty(secondaryWindow, "neptuneScale", secondaryWindowScale); + } onWidgetHeightChanged: { if (window) AM.WindowManager.setWindowProperty(window, "neptuneWidgetHeight", widgetHeight); diff --git a/sysui/display/ApplicationFrame.qml b/sysui/display/ApplicationFrame.qml index 4286aa36..d68b9e19 100644 --- a/sysui/display/ApplicationFrame.qml +++ b/sysui/display/ApplicationFrame.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 Pelagicore AG +** Copyright (C) 2017-2018 Pelagicore AG ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Neptune 3 IVI UI. @@ -52,6 +52,10 @@ Item { } Binding { + target: root.appInfo; property: "windowScale"; value: root.NeptuneStyle.scale + } + + Binding { target: root.appInfo; property: "windowState"; value: "Maximized" } diff --git a/sysui/home/ApplicationWidget.qml b/sysui/home/ApplicationWidget.qml index 52a449b7..600b0b26 100644 --- a/sysui/home/ApplicationWidget.qml +++ b/sysui/home/ApplicationWidget.qml @@ -110,6 +110,10 @@ Item { } Binding { + target: root.appInfo; property: "windowScale"; value: root.NeptuneStyle.scale + } + + Binding { target: root.appInfo; property: "widgetHeight"; value: root.widgetHeight } diff --git a/sysui/instrumentcluster/InstrumentClusterWindow.qml b/sysui/instrumentcluster/InstrumentClusterWindow.qml index 5235ca5a..a58b08a8 100644 --- a/sysui/instrumentcluster/InstrumentClusterWindow.qml +++ b/sysui/instrumentcluster/InstrumentClusterWindow.qml @@ -76,6 +76,10 @@ Window { onSecondaryWindowSwitchCountChanged: secondaryAppWindows.next(); } + onWidthChanged: { + root.contentItem.NeptuneStyle.scale = root.width / Style.instrumentClusterWidth; + } + Item { id: uiSlot anchors.centerIn: parent diff --git a/sysui/instrumentcluster/SecondaryAppWindows.qml b/sysui/instrumentcluster/SecondaryAppWindows.qml index 747c6c4e..8693587a 100644 --- a/sysui/instrumentcluster/SecondaryAppWindows.qml +++ b/sysui/instrumentcluster/SecondaryAppWindows.qml @@ -33,6 +33,7 @@ import QtQuick 2.7 import QtQml.Models 2.2 import animations 1.0 +import com.pelagicore.styles.neptune 3.0 import utils 1.0 Item { @@ -49,7 +50,7 @@ Item { property int selectedIndex: 0 readonly property string selectedApplicationId: selectedIndex < secondaryWindowList.count - ? secondaryWindowList.get(selectedIndex).applicationId + ? secondaryWindowList.get(selectedIndex).appInfo.id : "" readonly property bool empty: secondaryWindowList.count === 0 @@ -60,10 +61,9 @@ Item { target: model.appInfo onSecondaryWindowChanged: { if (model.appInfo.secondaryWindow) { - secondaryWindowList.append({"applicationId" : model.appInfo.id, - "secondaryWindow": model.appInfo.secondaryWindow}); + secondaryWindowList.append({"appInfo" : model.appInfo}); } else { - secondaryWindowList.removeWithAppId(model.applicationId); + secondaryWindowList.removeWithAppId(model.appInfo.id); } } } @@ -76,7 +76,7 @@ Item { var i; for (i = 0; i < count; i++) { var item = get(i); - if (item.applicationId === appId) { + if (item.appInfo.id === appId) { remove(i, 1); break; } @@ -104,9 +104,10 @@ Item { //visible: opacity > 0 Behavior on opacity { DefaultNumberAnimation {} } - Binding { target: model.secondaryWindow; property: "width"; value: secondaryWindowSlot.width } - Binding { target: model.secondaryWindow; property: "height"; value: secondaryWindowSlot.height } - Binding { target: model.secondaryWindow; property: "parent"; value: secondaryWindowSlot } + Binding { target: model.appInfo.secondaryWindow; property: "width"; value: secondaryWindowSlot.width } + Binding { target: model.appInfo.secondaryWindow; property: "height"; value: secondaryWindowSlot.height } + Binding { target: model.appInfo.secondaryWindow; property: "parent"; value: secondaryWindowSlot } + Binding { target: model.appInfo; property: "secondaryWindowScale"; value: secondaryWindowSlot.NeptuneStyle.scale } } } } |