aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickapplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickapplication.cpp')
-rw-r--r--src/quick/util/qquickapplication.cpp55
1 files changed, 7 insertions, 48 deletions
diff --git a/src/quick/util/qquickapplication.cpp b/src/quick/util/qquickapplication.cpp
index fb7c900252..159d855ef0 100644
--- a/src/quick/util/qquickapplication.cpp
+++ b/src/quick/util/qquickapplication.cpp
@@ -50,34 +50,21 @@
QT_BEGIN_NAMESPACE
-class QQuickApplicationPrivate : public QQmlApplicationPrivate
-{
- Q_DECLARE_PUBLIC(QQuickApplication)
-public:
- QQuickApplicationPrivate()
- : isActive(QGuiApplication::focusWindow() != 0),
- direction(QGuiApplication::layoutDirection())
- {
- }
-
-private:
- bool isActive;
- 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)),
+ this, SIGNAL(activeChanged()));
}
}
@@ -87,14 +74,12 @@ QQuickApplication::~QQuickApplication()
bool QQuickApplication::active() const
{
- Q_D(const QQuickApplication);
- return d->isActive;
+ return QGuiApplication::applicationState() == Qt::ApplicationActive;
}
Qt::LayoutDirection QQuickApplication::layoutDirection() const
{
- Q_D(const QQuickApplication);
- return d->direction;
+ return QGuiApplication::layoutDirection();
}
bool QQuickApplication::supportsMultipleWindows() const
@@ -107,30 +92,4 @@ Qt::ApplicationState QQuickApplication::state() const
return QGuiApplication::applicationState();
}
-bool QQuickApplication::eventFilter(QObject *, QEvent *event)
-{
- Q_D(QQuickApplication);
- if ((event->type() == QEvent::ApplicationActivate) ||
- (event->type() == QEvent::ApplicationDeactivate) ||
- (event->type() == QEvent::ApplicationStateChange)) {
- bool wasActive = d->isActive;
- if (event->type() == QEvent::ApplicationStateChange) {
- QApplicationStateChangeEvent * e= static_cast<QApplicationStateChangeEvent*>(event);
- d->isActive = e->applicationState() == Qt::ApplicationActive;
- } else {
- d->isActive = (event->type() == QEvent::ApplicationActivate);
- }
- if (d->isActive != wasActive) {
- emit activeChanged();
- }
- } else if (event->type() == QEvent::ApplicationLayoutDirectionChange) {
- Qt::LayoutDirection newDirection = QGuiApplication::layoutDirection();
- if (d->direction != newDirection) {
- d->direction = newDirection;
- emit layoutDirectionChanged();
- }
- }
- return false;
-}
-
QT_END_NAMESPACE