QmlDesigner.FormEditor: Change to component for double click

This commit is contained in:
Marco Bubke
2011-02-02 13:41:36 +01:00
parent 3a3d9c14b9
commit acb36acf15
4 changed files with 21 additions and 8 deletions

View File

@@ -35,6 +35,8 @@
#include "formeditorview.h" #include "formeditorview.h"
#include "formeditorview.h" #include "formeditorview.h"
#include <coreplugin/editormanager/editormanager.h>
#include <QtDebug> #include <QtDebug>
#include <QGraphicsSceneDragDropEvent> #include <QGraphicsSceneDragDropEvent>
#include <nodemetainfo.h> #include <nodemetainfo.h>
@@ -192,5 +194,15 @@ void AbstractFormEditorTool::dragMoveEvent(QGraphicsSceneDragDropEvent * /* even
Q_ASSERT(false); 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();
}
}
}
} }

View File

@@ -59,7 +59,7 @@ public:
virtual void mouseReleaseEvent(const QList<QGraphicsItem*> &itemList, virtual void mouseReleaseEvent(const QList<QGraphicsItem*> &itemList,
QGraphicsSceneMouseEvent *event) = 0; QGraphicsSceneMouseEvent *event) = 0;
virtual void mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, virtual void mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList,
QGraphicsSceneMouseEvent *event) = 0; QGraphicsSceneMouseEvent *event);
virtual void hoverMoveEvent(const QList<QGraphicsItem*> &itemList, virtual void hoverMoveEvent(const QList<QGraphicsItem*> &itemList,
QGraphicsSceneMouseEvent *event) = 0; QGraphicsSceneMouseEvent *event) = 0;

View File

@@ -40,6 +40,8 @@
#include "resizehandleitem.h" #include "resizehandleitem.h"
#include "nodemetainfo.h"
#include <QApplication> #include <QApplication>
#include <QGraphicsSceneMouseEvent> #include <QGraphicsSceneMouseEvent>
#include <QAction> #include <QAction>
@@ -218,10 +220,9 @@ void MoveTool::mouseReleaseEvent(const QList<QGraphicsItem*> &/*itemList*/,
} }
} }
void MoveTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> & /*itemList*/, void MoveTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent *event)
QGraphicsSceneMouseEvent * /*event*/)
{ {
AbstractFormEditorTool::mouseDoubleClickEvent(itemList, event);
} }
void MoveTool::itemsAboutToRemoved(const QList<FormEditorItem*> &removedItemList) void MoveTool::itemsAboutToRemoved(const QList<FormEditorItem*> &removedItemList)

View File

@@ -36,6 +36,7 @@
#include "formeditorview.h" #include "formeditorview.h"
#include "resizehandleitem.h" #include "resizehandleitem.h"
#include "nodemetainfo.h"
#include <QApplication> #include <QApplication>
@@ -197,10 +198,9 @@ void SelectionTool::mouseReleaseEvent(const QList<QGraphicsItem*> &/*itemList*/,
} }
void SelectionTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &/*itemList*/, void SelectionTool::mouseDoubleClickEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent * event)
QGraphicsSceneMouseEvent * /*event*/)
{ {
AbstractFormEditorTool::mouseDoubleClickEvent(itemList, event);
} }
void SelectionTool::keyPressEvent(QKeyEvent *event) void SelectionTool::keyPressEvent(QKeyEvent *event)