on xenial help sign in
Make -windowgeometry work again
commit015ddf909a9352077c2fd08d80f1bd7bc789d148 authorDaniel d'Andrada <daniel.dandrada@canonical.com> dateTue 12 May 2015, 11:39 (11 years ago) parentbf5e0ed
5 files changed+24−19
qml/Dash/DashApplication.qml+3−3 qml/OrientedShell.qml+3 src/ApplicationArguments.h−9 src/Dash/main.cpp+12−6 src/main.cpp+6−1
qml/Dash/DashApplication.qml+3−3
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014,2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -19,8 +19,8 @@ import Ubuntu.Components 1.0
1919import Ubuntu.Thumbnailer 0.1 // Register support for image://thumbnailer/ and image://albumart/
2020
2121MainView {
22− width: applicationArguments.hasGeometry() ? applicationArguments.width() : units.gu(40)
23− height: applicationArguments.hasGeometry() ? applicationArguments.height() : units.gu(68)
22+ implicitWidth: units.gu(40)
23+ implicitHeight: units.gu(68)
2424
2525 useDeprecatedToolbar: false
2626
qml/OrientedShell.qml+3
@@ -25,6 +25,9 @@ Rectangle {
2525 id: root
2626 color: "black"
2727
28+ implicitWidth: units.gu(40)
29+ implicitHeight: units.gu(71)
30+
2831 // NB: native and primary orientations here don't map exactly to their QScreen counterparts
2932 readonly property int nativeOrientation: width > height ? Qt.LandscapeOrientation : Qt.PortraitOrientation
3033
src/ApplicationArguments.h−9
@@ -31,18 +31,9 @@ public:
3131 ApplicationArguments(QObject *parent = nullptr);
3232
3333 void setDeviceName(QString deviceName) { m_deviceName = deviceName; }
34−
35− void setSize(const QSize &size) {
36− m_size = size;
37− }
38−
39− Q_INVOKABLE int width() const { return m_size.width(); }
40− Q_INVOKABLE int height() const { return m_size.height(); }
41−
4234 QString deviceName() const { return m_deviceName; }
4335
4436private:
45− QSize m_size;
4637 QString m_deviceName;
4738};
4839
src/Dash/main.cpp+12−6
@@ -61,12 +61,6 @@ int main(int argc, const char *argv[])
6161 parser.process(*application);
6262
6363 ApplicationArguments qmlArgs;
64− if (parser.isSet(windowGeometryOption) &&
65− parser.value(windowGeometryOption).split('x').size() == 2)
66− {
67− QStringList geom = parser.value(windowGeometryOption).split('x');
68− qmlArgs.setSize(QSize(geom.at(0).toInt(), geom.at(1).toInt()));
69− }
7064
7165 if (getenv("QT_LOAD_TESTABILITY")) {
7266 QLibrary testLib(QLatin1String("qttestability"));
@@ -88,6 +82,18 @@ int main(int argc, const char *argv[])
8882
8983 QQuickView* view = new QQuickView();
9084 view->setResizeMode(QQuickView::SizeRootObjectToView);
85+
86+ if (parser.isSet(windowGeometryOption) &&
87+ parser.value(windowGeometryOption).split('x').size() == 2)
88+ {
89+ QStringList geom = parser.value(windowGeometryOption).split('x');
90+ QSize windowSize(geom.at(0).toInt(), geom.at(1).toInt());
91+ if (windowSize.isValid()) {
92+ view->setWidth(windowSize.width());
93+ view->setHeight(windowSize.height());
94+ }
95+ }
96+
9197 view->setTitle("Scopes");
9298 view->rootContext()->setContextProperty("applicationArguments", &qmlArgs);
9399
src/main.cpp+6−1
@@ -54,7 +54,6 @@ int main(int argc, const char *argv[])
5454 UnityCommandLineParser parser(*application);
5555
5656 ApplicationArguments qmlArgs;
57− qmlArgs.setSize(parser.windowGeometry());
5857
5958 if (!parser.deviceName().isEmpty()) {
6059 qmlArgs.setDeviceName(parser.deviceName());
@@ -88,6 +87,12 @@ int main(int argc, const char *argv[])
8887 view->setResizeMode(QQuickView::SizeRootObjectToView);
8988 view->setColor("black");
9089 view->setTitle("Unity8 Shell");
90+
91+ if (parser.windowGeometry().isValid()) {
92+ view->setWidth(parser.windowGeometry().width());
93+ view->setHeight(parser.windowGeometry().height());
94+ }
95+
9196 view->engine()->setBaseUrl(QUrl::fromLocalFile(::qmlDirectory()));
9297 view->rootContext()->setContextProperty("applicationArguments", &qmlArgs);
9398 view->rootContext()->setContextProperty("shellMode", parser.mode());