Remove some unnecessary indirection.
authorRobin Burchell <robin+qt@viroteck.net>
Mon, 18 Jun 2012 15:31:06 +0000 (17:31 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 25 Jun 2012 15:17:45 +0000 (17:17 +0200)
There's no need to heap allocate our QQuickView, and there's no need to have a
seperate pointer to QWindow when we can just use the QQuickView directly.

Change-Id: Ia2bc83c9dc83d1df1ec793836793f752d67e9415
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
tools/qmlscene/main.cpp

index 54713fc..0aa64ce 100644 (file)
@@ -410,57 +410,54 @@ int main(int argc, char ** argv)
         displayFileDialog(&options);
 #endif
 
-    QWindow *window = 0;
     QQmlEngine *engine = 0;
 
     int exitCode = 0;
 
     if (!options.file.isEmpty()) {
         if (!options.versionDetection || checkVersion(options.file)) {
-            QQuickView *qxView = new QQuickView();
-            engine = qxView->engine();
+            QQuickView qxView;
+            engine = qxView.engine();
             for (int i = 0; i < imports.size(); ++i)
                 engine->addImportPath(imports.at(i));
             for (int i = 0; i < bundles.size(); ++i)
                 engine->addNamedBundle(bundles.at(i).first, bundles.at(i).second);
-            window = qxView;
             if (options.file.isLocalFile()) {
                 QFileInfo fi(options.file.toLocalFile());
                 loadDummyDataFiles(*engine, fi.path());
             }
-            qxView->setSource(options.file);
+            qxView.setSource(options.file);
 
             QObject::connect(engine, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit()));
 
             if (options.resizeViewToRootItem)
-                qxView->setResizeMode(QQuickView::SizeViewToRootObject);
+                qxView.setResizeMode(QQuickView::SizeViewToRootObject);
             else
-                qxView->setResizeMode(QQuickView::SizeRootObjectToView);
+                qxView.setResizeMode(QQuickView::SizeRootObjectToView);
 
             if (options.transparent) {
                 QSurfaceFormat surfaceFormat;
                 surfaceFormat.setAlphaBufferSize(8);
-                qxView->setFormat(surfaceFormat);
-                qxView->setClearBeforeRendering(true);
-                qxView->setClearColor(QColor(Qt::transparent));
-                qxView->setWindowFlags(Qt::FramelessWindowHint);
+                qxView.setFormat(surfaceFormat);
+                qxView.setClearBeforeRendering(true);
+                qxView.setClearColor(QColor(Qt::transparent));
+                qxView.setWindowFlags(Qt::FramelessWindowHint);
             }
 
-            window->setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint);
+            qxView.setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint);
+
             if (options.fullscreen)
-                window->showFullScreen();
+                qxView.showFullScreen();
             else if (options.maximized)
-                window->showMaximized();
+                qxView.showMaximized();
             else
-                window->show();
+                qxView.show();
 
             if (options.quitImmediately)
                 QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection);
 
             exitCode = app.exec();
 
-            delete window;
-
 #ifdef QML_RUNTIME_TESTING
             RenderStatistics::printTotalStats();
 #endif