From 16e2863793b69c8bb38dba52787372a58aa1e6a2 Mon Sep 17 00:00:00 2001 From: Simjees Abraham Date: Fri, 1 Jun 2012 11:49:21 +0200 Subject: 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 --- .../qmldbg_qtquick2/qquickviewinspector.cpp | 19 +++++++++++++++++++ .../qmltooling/qmldbg_qtquick2/qquickviewinspector.h | 4 ++++ .../qmltooling/shared/abstractviewinspector.cpp | 11 ----------- src/plugins/qmltooling/shared/abstractviewinspector.h | 3 +-- 4 files changed, 24 insertions(+), 13 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp b/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp index a42663eda0..37a8997927 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 d687d6ba0e..5d7880928d 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 d4c41b5084..4c53243745 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 8eeb640e4e..b531ea193e 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; -- cgit v1.2.3