Pārlūkot izejas kodu

Always set the geometry to reflect the screen of the window

Donald Carr 7 gadi atpakaļ
vecāks
revīzija
ae865075b9
1 mainītis faili ar 14 papildinājumiem un 10 dzēšanām
  1. 14 10
      src/main.cpp

+ 14 - 10
src/main.cpp

@@ -126,21 +126,25 @@ void ArtView::populateScreen(QScreen *screen)
         sharedQmlEngine->rootContext()->setContextProperty("imageModel", new PictureModel(sharedQmlEngine));
         QObject::connect(sharedQmlEngine, &QQmlEngine::quit, qApp, &QCoreApplication::quit);
     }
+    if (screen) {
+        view->setScreen(screen);
+    } else {
+        screen = view->screen();
+    }
+    QRect geometry = screen->availableGeometry();
+    view->setColor(Qt::transparent);
+    view->setResizeMode(QQuickView::SizeRootObjectToView);
+    view->setSource(QUrl(qmlPath + "/main.qml"));
+    view->setGeometry(geometry);
+    view->showFullScreen();
+
     QObject::connect(view, &QQuickView::statusChanged, [](QQuickView::Status status) {
         if (status == QQuickView::Error) {
             QMetaObject::invokeMethod(qApp, "quit", Qt::QueuedConnection);
         }
     });
-    view->setColor(Qt::transparent);
-    view->setResizeMode(QQuickView::SizeRootObjectToView);
-    view->setSource(QUrl(qmlPath + "/main.qml"));
-    if (screen) {
-        QRect geometry = screen->availableGeometry();
-        view->setScreen(screen);
-        view->setGeometry(geometry);
-        qDebug() << "Displaying artwork on" << screen << "with geometry" << geometry;
-    }
-    view->showFullScreen();
+
+    qDebug() << "Displaying artwork on" << screen << "with geometry" << geometry;
 }
 
 int main(int argc, char *argv[])