aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp19
-rw-r--r--src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h4
-rw-r--r--src/plugins/qmltooling/shared/abstractviewinspector.cpp11
-rw-r--r--src/plugins/qmltooling/shared/abstractviewinspector.h3
4 files changed, 24 insertions, 13 deletions
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<QString, QByteArray> &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<QQuickItem*> &items);
@@ -106,6 +109,7 @@ private:
QList<QPointer<QQuickItem> > m_selectedItems;
QHash<QQuickItem*, SelectionHighlight*> 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;