From b32354d22017b39bb40ef8e292d24c5ed7b47013 Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Thu, 2 Aug 2018 09:51:52 +0000 Subject: Improve output of multiple screen resolution To improve output on various monitor with various resolution, use scale_factor from WM to fit various screen resolution. Bug-AGL: SPEC-1568, SPEC-1569, SPEC-1611 Change-Id: Ic0b8538259a4e9949caa099cff475935af609d09 Signed-off-by: Tadao Tanikawa --- app/Settings.qml | 10 ++++++++++ app/main.cpp | 2 ++ 2 files changed, 12 insertions(+) diff --git a/app/Settings.qml b/app/Settings.qml index b3a622a..256467b 100644 --- a/app/Settings.qml +++ b/app/Settings.qml @@ -26,12 +26,21 @@ import 'version' ApplicationWindow { id: root + width: container.width * container.scale + height: container.height * container.scale onVisibleChanged: { if (!visible) stack.pop(settings) } + Item { + id: container + anchors.centerIn: parent + width: 1080 + height: 1487 + scale: screenInfo.scale_factor() + StackView { id: stack anchors.fill: parent @@ -66,3 +75,4 @@ ApplicationWindow { Version {} } } +} diff --git a/app/main.cpp b/app/main.cpp index 082c444..b4c5be3 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -95,6 +95,7 @@ int main(int argc, char *argv[]) if(qwm->init(port,secret) != 0) { exit(EXIT_FAILURE); } + AGLScreenInfo screenInfo(qwm->get_scale_factor()); // Request a surface as described in layers.json windowmanager’s file if(qwm->requestSurface(myname) != 0) { exit(EXIT_FAILURE); @@ -143,6 +144,7 @@ int main(int argc, char *argv[]) DBus dbus; engine.rootContext()->setContextProperty("dbus", &dbus); engine.rootContext()->setContextProperty("bluetooth", new Bluetooth(bindingAddressWS)); + engine.rootContext()->setContextProperty(QStringLiteral("screenInfo"), &screenInfo); engine.load(QUrl(QStringLiteral("qrc:/Settings.qml"))); QObject *root = engine.rootObjects().first(); QQuickWindow *window = qobject_cast(root); -- cgit 1.2.3-korg