From: Simjees Abraham Date: Fri, 1 Jun 2012 09:49:21 +0000 (+0200) Subject: Changes for "App on Top" X-Git-Tag: upstream/5.2.1~1694 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16e2863793b69c8bb38dba52787372a58aa1e6a2;p=platform%2Fupstream%2Fqtdeclarative.git Changes for "App on Top" Changes made such that the App is on Top at startup if the option was set in creator. Task-number: QTCREATORBUG-6295 Change-Id: I218a619805d9091049ba51ac6da2f64049d5185d Reviewed-by: Christiaan Janssen --- diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp b/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp index a42663e..37a8997 100644 --- a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp +++ b/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp @@ -339,6 +339,14 @@ void QQuickViewInspector::reloadQmlFile(const QHash &change view()->setSource(view()->source()); } +void QQuickViewInspector::setShowAppOnTop(bool appOnTop) +{ + m_appOnTop = appOnTop; + // Hack for QTCREATORBUG-6295. + // TODO: The root cause to be identified and fixed later. + QTimer::singleShot(100, this, SLOT(applyAppOnTop())); +} + void QQuickViewInspector::onViewStatus(QQuickView::Status status) { bool success = false; @@ -362,5 +370,16 @@ void QQuickViewInspector::onViewStatus(QQuickView::Status status) } } +void QQuickViewInspector::applyAppOnTop() +{ + Qt::WindowFlags flags = windowFlags(); + if (m_appOnTop) + flags |= Qt::WindowStaysOnTopHint; + else + flags &= ~Qt::WindowStaysOnTopHint; + + setWindowFlags(flags); +} + } // namespace QtQuick2 } // namespace QmlJSDebugger diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h b/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h index d687d6b..5d78809 100644 --- a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h +++ b/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h @@ -91,9 +91,12 @@ protected: bool mouseMoveEvent(QMouseEvent *); + void setShowAppOnTop(bool appOnTop); + private slots: void removeFromSelectedItems(QObject *); void onViewStatus(QQuickView::Status status); + void applyAppOnTop(); private: bool syncSelectedItems(const QList &items); @@ -106,6 +109,7 @@ private: QList > m_selectedItems; QHash m_highlightItems; bool m_sendQmlReloadedMessage; + bool m_appOnTop; }; } // namespace QtQuick2 diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.cpp b/src/plugins/qmltooling/shared/abstractviewinspector.cpp index d4c41b5..4c53243 100644 --- a/src/plugins/qmltooling/shared/abstractviewinspector.cpp +++ b/src/plugins/qmltooling/shared/abstractviewinspector.cpp @@ -139,17 +139,6 @@ void AbstractViewInspector::setAnimationSpeed(qreal slowDownFactor) QUnifiedTimer::instance()->setSlowdownFactor(slowDownFactor); } -void AbstractViewInspector::setShowAppOnTop(bool appOnTop) -{ - Qt::WindowFlags flags = windowFlags(); - if (appOnTop) - flags |= Qt::WindowStaysOnTopHint; - else - flags &= ~Qt::WindowStaysOnTopHint; - - setWindowFlags(flags); -} - bool AbstractViewInspector::eventFilter(QObject *obj, QEvent *event) { if (!enabled()) diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.h b/src/plugins/qmltooling/shared/abstractviewinspector.h index 8eeb640..b531ea1 100644 --- a/src/plugins/qmltooling/shared/abstractviewinspector.h +++ b/src/plugins/qmltooling/shared/abstractviewinspector.h @@ -109,6 +109,7 @@ protected: virtual bool mouseDoubleClickEvent(QMouseEvent *event); virtual bool wheelEvent(QWheelEvent *event); virtual bool touchEvent(QTouchEvent *event); + virtual void setShowAppOnTop(bool) = 0; private slots: void onQmlObjectDestroyed(QObject *object); @@ -116,8 +117,6 @@ private slots: private: void setEnabled(bool value); - void setShowAppOnTop(bool appOnTop); - void setAnimationSpeed(qreal factor); bool m_enabled;