aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel d'Andrada <daniel.dandrada@luxoft.com>2018-03-20 13:32:24 +0100
committerBramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>2018-03-21 16:21:45 +0000
commit11268aadee373bfacbf72060e3e982a78ae19107 (patch)
tree77b7df7cae5d55649f969a081d08f75b9fcfbc36
parentafe88e5f3a12a908ae2806e197112185aeb6b489 (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.qml3
-rw-r--r--imports/shared/utils/SecondaryWindow.qml11
-rw-r--r--imports/system/models/application/ApplicationInfo.qml14
-rw-r--r--sysui/display/ApplicationFrame.qml6
-rw-r--r--sysui/home/ApplicationWidget.qml4
-rw-r--r--sysui/instrumentcluster/InstrumentClusterWindow.qml4
-rw-r--r--sysui/instrumentcluster/SecondaryAppWindows.qml17
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 }
}
}
}