From beb6f59c26e648153b73448241abe6027a2de018 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Fri, 30 Jul 2010 17:43:21 +0200 Subject: [PATCH] Fix to avoid selection loop b/w QML Inspector and QML Observer --- .../include/qdeclarativedesignview.h | 1 + .../qmljsdebugger/qdeclarativedesignview.cpp | 16 +++++++++------- .../qmljsdebugger/qdeclarativedesignview_p.h | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/libs/qmljsdebugger/include/qdeclarativedesignview.h b/src/libs/qmljsdebugger/include/qdeclarativedesignview.h index 4e4a9c7c464..764ccb33959 100644 --- a/src/libs/qmljsdebugger/include/qdeclarativedesignview.h +++ b/src/libs/qmljsdebugger/include/qdeclarativedesignview.h @@ -95,6 +95,7 @@ protected: void mouseDoubleClickEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *event); + void setSelectedItemsForTools(QList<QGraphicsItem *> items); private: Q_DISABLE_COPY(QDeclarativeDesignView) Q_PRIVATE_SLOT(d_func(), void _q_reloadView()) diff --git a/src/libs/qmljsdebugger/qdeclarativedesignview.cpp b/src/libs/qmljsdebugger/qdeclarativedesignview.cpp index d7270c4db79..51f48abbbab 100644 --- a/src/libs/qmljsdebugger/qdeclarativedesignview.cpp +++ b/src/libs/qmljsdebugger/qdeclarativedesignview.cpp @@ -334,9 +334,6 @@ bool QDeclarativeDesignView::designModeBehavior() return data->designModeBehavior; } - - - void QDeclarativeDesignViewPrivate::changeTool(Constants::DesignTool tool, Constants::ToolFlags /*flags*/) { switch(tool) { @@ -350,7 +347,7 @@ void QDeclarativeDesignViewPrivate::changeTool(Constants::DesignTool tool, Const } } -void QDeclarativeDesignViewPrivate::setSelectedItems(QList<QGraphicsItem *> items) +void QDeclarativeDesignViewPrivate::setSelectedItemsForTools(QList<QGraphicsItem *> items) { currentSelection.clear(); foreach(QGraphicsItem *item, items) { @@ -361,6 +358,11 @@ void QDeclarativeDesignViewPrivate::setSelectedItems(QList<QGraphicsItem *> item } } currentTool->updateSelectedItems(); +} + +void QDeclarativeDesignViewPrivate::setSelectedItems(QList<QGraphicsItem *> items) +{ + setSelectedItemsForTools(items); qmlDesignDebugServer()->setCurrentObjects(AbstractFormEditorTool::toObjectList(items)); } @@ -591,8 +593,8 @@ void QDeclarativeDesignViewPrivate::_q_onStatusChanged(QDeclarativeView::Status { if (status == QDeclarativeView::Ready) { if (q->rootObject()) { - if (data->subcomponentEditorTool->contextIndex() != -1) - data->subcomponentEditorTool->clear(); + if (subcomponentEditorTool->contextIndex() != -1) + subcomponentEditorTool->clear(); subcomponentEditorTool->pushContext(q->rootObject()); emit q->executionStarted(1.0f); @@ -610,7 +612,7 @@ void QDeclarativeDesignViewPrivate::_q_onCurrentObjectsChanged(QList<QObject*> o items << declarativeItem; } - setSelectedItems(items); + setSelectedItemsForTools(items); clearHighlight(); highlight(items, QDeclarativeDesignViewPrivate::IgnoreContext); } diff --git a/src/libs/qmljsdebugger/qdeclarativedesignview_p.h b/src/libs/qmljsdebugger/qdeclarativedesignview_p.h index 39ad149093a..4555668369c 100644 --- a/src/libs/qmljsdebugger/qdeclarativedesignview_p.h +++ b/src/libs/qmljsdebugger/qdeclarativedesignview_p.h @@ -93,6 +93,8 @@ public: QList<QGraphicsItem*> selectableItems(const QPointF &scenePos) const; QList<QGraphicsItem*> selectableItems(const QRectF &sceneRect, Qt::ItemSelectionMode selectionMode) const; + + void setSelectedItemsForTools(QList<QGraphicsItem *> items); void setSelectedItems(QList<QGraphicsItem *> items); QList<QGraphicsItem *> selectedItems(); -- GitLab