aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2014-06-20 11:26:54 +0200
committerJ-P Nurmi <jpnurmi@digia.com>2014-06-25 17:32:01 +0200
commitb975f80dd4fb0e59c751ae9de7740d9da92c4693 (patch)
treebba981701990fcc6e13d4b95899bc68b0e135300 /src/quick
parent435fb273355566c2888f8f685a369ce689869a14 (diff)
QQuickApplication: do not filter LayoutDirectionChange events
The newly introduced QGuiApplication::layoutDirectionChanged() is much cheaper to use than filtering events of the application object. Change-Id: I356c94cc6bea806bf3644c31c2610501d90f6c35 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/util/qquickapplication.cpp35
-rw-r--r--src/quick/util/qquickapplication_p.h4
2 files changed, 4 insertions, 35 deletions
diff --git a/src/quick/util/qquickapplication.cpp b/src/quick/util/qquickapplication.cpp
index 7fee2ee1fe..159d855ef0 100644
--- a/src/quick/util/qquickapplication.cpp
+++ b/src/quick/util/qquickapplication.cpp
@@ -50,30 +50,17 @@
QT_BEGIN_NAMESPACE
-class QQuickApplicationPrivate : public QQmlApplicationPrivate
-{
- Q_DECLARE_PUBLIC(QQuickApplication)
-public:
- QQuickApplicationPrivate()
- : direction(QGuiApplication::layoutDirection())
- {
- }
-
-private:
- Qt::LayoutDirection direction;
-};
-
/*
This object and its properties are documented as part of the Qt object,
in qqmlengine.cpp
*/
QQuickApplication::QQuickApplication(QObject *parent)
- : QQmlApplication(*new QQuickApplicationPrivate(), parent)
+ : QQmlApplication(parent)
{
if (qApp) {
- qApp->installEventFilter(this);
-
+ connect(qApp, SIGNAL(layoutDirectionChanged(Qt::LayoutDirection)),
+ this, SIGNAL(layoutDirectionChanged()));
connect(qApp, SIGNAL(applicationStateChanged(Qt::ApplicationState)),
this, SIGNAL(stateChanged(Qt::ApplicationState)));
connect(qApp, SIGNAL(applicationStateChanged(Qt::ApplicationState)),
@@ -92,8 +79,7 @@ bool QQuickApplication::active() const
Qt::LayoutDirection QQuickApplication::layoutDirection() const
{
- Q_D(const QQuickApplication);
- return d->direction;
+ return QGuiApplication::layoutDirection();
}
bool QQuickApplication::supportsMultipleWindows() const
@@ -106,17 +92,4 @@ Qt::ApplicationState QQuickApplication::state() const
return QGuiApplication::applicationState();
}
-bool QQuickApplication::eventFilter(QObject *, QEvent *event)
-{
- Q_D(QQuickApplication);
- if (event->type() == QEvent::ApplicationLayoutDirectionChange) {
- Qt::LayoutDirection newDirection = QGuiApplication::layoutDirection();
- if (d->direction != newDirection) {
- d->direction = newDirection;
- emit layoutDirectionChanged();
- }
- }
- return false;
-}
-
QT_END_NAMESPACE
diff --git a/src/quick/util/qquickapplication_p.h b/src/quick/util/qquickapplication_p.h
index 780fb1ffa6..996ed67c8f 100644
--- a/src/quick/util/qquickapplication_p.h
+++ b/src/quick/util/qquickapplication_p.h
@@ -50,7 +50,6 @@
QT_BEGIN_NAMESPACE
-class QQuickApplicationPrivate;
class Q_AUTOTEST_EXPORT QQuickApplication : public QQmlApplication
{
Q_OBJECT
@@ -73,10 +72,7 @@ Q_SIGNALS:
void stateChanged(Qt::ApplicationState state);
private:
- bool eventFilter(QObject *, QEvent *event);
-
Q_DISABLE_COPY(QQuickApplication)
- Q_DECLARE_PRIVATE(QQuickApplication)
};
QT_END_NAMESPACE