Expose "Qt.application.supportsMultipleWindows".
authorSamuel Rødal <samuel.rodal@digia.com>
Thu, 8 Nov 2012 14:34:26 +0000 (15:34 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 9 Nov 2012 07:56:27 +0000 (08:56 +0100)
Useful on platforms like kms and eglfs that only support a single
QWindow. On those platforms the QML application can thus choose to use a
Rectangle instead of a Window to show dialogs etc.

Change-Id: Idc3f46d2cad6cf3f55c5c84df2c8511407bd4849
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Alan Alpert (RIM) <aalpert@rim.com>
src/quick/util/qquickapplication.cpp
src/quick/util/qquickapplication_p.h

index 27ee2f0..962fb52 100644 (file)
@@ -42,6 +42,8 @@
 #include "qquickapplication_p.h"
 
 #include <private/qobject_p.h>
+#include <private/qguiapplication_p.h>
+#include <qpa/qplatformintegration.h>
 #include <QtGui/QGuiApplication>
 #include <QtCore/QDebug>
 
@@ -91,6 +93,11 @@ Qt::LayoutDirection QQuickApplication::layoutDirection() const
     return d->direction;
 }
 
+bool QQuickApplication::supportsMultipleWindows() const
+{
+    return QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::MultipleWindows);
+}
+
 bool QQuickApplication::eventFilter(QObject *, QEvent *event)
 {
     Q_D(QQuickApplication);
index 5cf31ef..5519f22 100644 (file)
@@ -57,12 +57,14 @@ class Q_AUTOTEST_EXPORT QQuickApplication : public QObject
     Q_OBJECT
     Q_PROPERTY(bool active READ active NOTIFY activeChanged)
     Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection NOTIFY layoutDirectionChanged)
+    Q_PROPERTY(bool supportsMultipleWindows READ supportsMultipleWindows CONSTANT)
 
 public:
     explicit QQuickApplication(QObject *parent = 0);
     virtual ~QQuickApplication();
     bool active() const;
     Qt::LayoutDirection layoutDirection() const;
+    bool supportsMultipleWindows() const;
 
 Q_SIGNALS:
     void activeChanged();