diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2011-02-02 13:41:36 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@nokia.com> | 2011-02-02 13:42:09 +0100 |
commit | acb36acf1562d16de8e7007910f6802c57486914 (patch) | |
tree | e7d586d5ad7fe3187141b9d2486ed0b239006b26 | |
parent | 3a3d9c14b941d8321063a310e00a992a446eac07 (diff) | |
download | qt-creator-acb36acf1562d16de8e7007910f6802c57486914.tar.gz |
QmlDesigner.FormEditor: Change to component for double click
4 files changed, 21 insertions, 8 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index bdf9a07f38..719ac6d4b0 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -35,6 +35,8 @@ #include "formeditorview.h" #include "formeditorview.h" +#include <coreplugin/editormanager/editormanager.h> + #include <QtDebug> #include <QGraphicsSceneDragDropEvent> #include <nodemetainfo.h> @@ -192,5 +194,15 @@ void AbstractFormEditorTool::dragMoveEvent(QGraphicsSceneDragDropEvent * /* even Q_ASSERT(false); } - +void AbstractFormEditorTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event) +{ + FormEditorItem *formEditorItem = topFormEditorItem(itemList); + if (formEditorItem) { + ModelNode doubleClickNode = formEditorItem->qmlItemNode().modelNode(); + if (doubleClickNode.metaInfo().isComponent()) { + Core::EditorManager::instance()->openEditor(doubleClickNode.metaInfo().componentFileName()); + event->accept(); + } + } +} } diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h index f3abef47cc..d0994fe992 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h @@ -59,7 +59,7 @@ public: virtual void mouseReleaseEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event) = 0; virtual void mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, - QGraphicsSceneMouseEvent *event) = 0; + QGraphicsSceneMouseEvent *event); virtual void hoverMoveEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event) = 0; diff --git a/src/plugins/qmldesigner/components/formeditor/movetool.cpp b/src/plugins/qmldesigner/components/formeditor/movetool.cpp index 91a731bef5..01e5b9fa15 100644 --- a/src/plugins/qmldesigner/components/formeditor/movetool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movetool.cpp @@ -40,6 +40,8 @@ #include "resizehandleitem.h" +#include "nodemetainfo.h" + #include <QApplication> #include <QGraphicsSceneMouseEvent> #include <QAction> @@ -218,10 +220,9 @@ void MoveTool::mouseReleaseEvent(const QList<QGraphicsItem*> &/*itemList*/, } } -void MoveTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> & /*itemList*/, - QGraphicsSceneMouseEvent * /*event*/) +void MoveTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event) { - + AbstractFormEditorTool::mouseDoubleClickEvent(itemList, event); } void MoveTool::itemsAboutToRemoved(const QList<FormEditorItem*> &removedItemList) diff --git a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp index 8eb536d7cc..483eca1550 100644 --- a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp @@ -36,6 +36,7 @@ #include "formeditorview.h" #include "resizehandleitem.h" +#include "nodemetainfo.h" #include <QApplication> @@ -197,10 +198,9 @@ void SelectionTool::mouseReleaseEvent(const QList<QGraphicsItem*> &/*itemList*/, } -void SelectionTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &/*itemList*/, - QGraphicsSceneMouseEvent * /*event*/) +void SelectionTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent * event) { - + AbstractFormEditorTool::mouseDoubleClickEvent(itemList, event); } void SelectionTool::keyPressEvent(QKeyEvent *event) |