aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp36
-rw-r--r--src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h2
-rw-r--r--src/plugins/qmltooling/shared/abstracttool.h2
-rw-r--r--src/plugins/qmltooling/shared/abstractviewinspector.cpp1
4 files changed, 29 insertions, 12 deletions
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp b/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp
index 0ef609d7fd..67b12822be 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp
+++ b/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp
@@ -61,40 +61,52 @@ namespace QtQuick2 {
InspectTool::InspectTool(QQuickViewInspector *inspector, QQuickView *view) :
AbstractTool(inspector),
+ m_originalSmooth(view->rootItem()->smooth()),
m_dragStarted(false),
m_pinchStarted(false),
m_didPressAndHold(false),
m_tapEvent(false),
+ m_rootItem(view->rootItem()),
+ m_originalPosition(view->rootItem()->pos()),
m_currentScale(1.0f),
m_smoothScaleFactor(Constants::ZoomSnapDelta),
m_minScale(0.125f),
m_maxScale(48.0f),
+ m_originalScale(view->rootItem()->scale()),
m_touchTimestamp(0),
m_hoverHighlight(new HoverHighlight(inspector->overlay())),
m_lastItem(0),
m_lastClickedItem(0)
{
- m_rootItem = view->rootItem();
- m_originalSmooth = m_rootItem->smooth();
- if (!m_originalSmooth)
- m_rootItem->setSmooth(true);
- m_originalPosition = m_rootItem->pos();
- m_originalScale = m_rootItem->scale();
-
//Press and Hold Timer
m_pressAndHoldTimer.setSingleShot(true);
m_pressAndHoldTimer.setInterval(Constants::PressAndHoldTimeout);
connect(&m_pressAndHoldTimer, SIGNAL(timeout()), SLOT(zoomTo100()));
+ enable(true);
}
InspectTool::~InspectTool()
{
- // restoring the original states.
- if (m_rootItem) {
- m_rootItem->setScale(m_originalScale);
- m_rootItem->setPos(m_originalPosition);
- if (!m_originalSmooth)
+ enable(false);
+}
+
+void InspectTool::enable(bool enable)
+{
+ if (!enable) {
+ inspector()->setSelectedItems(QList<QQuickItem*>());
+ // restoring the original states.
+ if (m_rootItem) {
+ m_rootItem->setScale(m_originalScale);
+ m_rootItem->setPos(m_originalPosition);
m_rootItem->setSmooth(m_originalSmooth);
+ }
+ } else {
+ if (m_rootItem) {
+ m_originalSmooth = m_rootItem->smooth();
+ m_originalScale = m_rootItem->scale();
+ m_originalPosition = m_rootItem->pos();
+ m_rootItem->setSmooth(true);
+ }
}
}
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h b/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h
index 1c1d12d114..25d0c634b2 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h
+++ b/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h
@@ -69,6 +69,8 @@ public:
InspectTool(QQuickViewInspector *inspector, QQuickView *view);
~InspectTool();
+ void enable(bool enable);
+
void leaveEvent(QEvent *);
void mousePressEvent(QMouseEvent *);
diff --git a/src/plugins/qmltooling/shared/abstracttool.h b/src/plugins/qmltooling/shared/abstracttool.h
index 7e5ba65fd4..ef9894a852 100644
--- a/src/plugins/qmltooling/shared/abstracttool.h
+++ b/src/plugins/qmltooling/shared/abstracttool.h
@@ -64,6 +64,8 @@ public:
AbstractViewInspector *inspector() const { return m_inspector; }
+ virtual void enable(bool enable) = 0;
+
virtual void leaveEvent(QEvent *event) = 0;
virtual void mousePressEvent(QMouseEvent *event) = 0;
diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.cpp b/src/plugins/qmltooling/shared/abstractviewinspector.cpp
index b7ed69dca5..60a95986b0 100644
--- a/src/plugins/qmltooling/shared/abstractviewinspector.cpp
+++ b/src/plugins/qmltooling/shared/abstractviewinspector.cpp
@@ -100,6 +100,7 @@ void AbstractViewInspector::setDesignModeBehavior(bool value)
return;
m_designModeBehavior = value;
+ m_currentTool->enable(m_designModeBehavior);
emit designModeBehaviorChanged(value);
sendDesignModeBehavior(value);
}