diff options
author | Marco Bubke <marco.bubke@digia.com> | 2014-07-17 15:35:58 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@digia.com> | 2014-07-22 13:12:11 +0200 |
commit | 25a6a811c807634412b98b0ca9bf2444173e9943 (patch) | |
tree | 4cd1620dc388945539c5ab0822e66246fd9ba603 | |
parent | 6bac93411e619cb2ca8a3429a7e2e825a8c0d65e (diff) |
QmlDesigner: Move containerFormEditorItem in AbstractFormEditorTool
Change-Id: I700ebd16d709eea7b3afb4a3c6089af7d4c87bf6
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
4 files changed, 28 insertions, 30 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index 5f2400d18f..b1c92b9ba8 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -264,6 +264,33 @@ Snapper::Snapping AbstractFormEditorTool::generateUseSnapping(Qt::KeyboardModifi return useSnapping; } +static bool isNotAncestorOfItemInList(FormEditorItem *formEditorItem, const QList<FormEditorItem*> &itemList) +{ + foreach (FormEditorItem *item, itemList) { + if (item + && item->qmlItemNode().isValid() + && item->qmlItemNode().isAncestorOf(formEditorItem->qmlItemNode())) + return false; + } + + return true; +} + +FormEditorItem *AbstractFormEditorTool::containerFormEditorItem(const QList<QGraphicsItem *> &itemUnderMouseList, const QList<FormEditorItem *> &selectedItemList) const +{ + foreach (QGraphicsItem* item, itemUnderMouseList) { + FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item); + if (formEditorItem + && !selectedItemList.contains(formEditorItem) + && isNotAncestorOfItemInList(formEditorItem, selectedItemList) + && formEditorItem->isContainer()) + return formEditorItem; + + } + + return 0; +} + void AbstractFormEditorTool::clear() { m_itemList.clear(); diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h index e1ec429893..b6f7f77370 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.h @@ -99,6 +99,7 @@ protected: virtual void selectedItemsChanged(const QList<FormEditorItem*> &itemList) = 0; virtual void showContextMenu(QGraphicsSceneMouseEvent *event); Snapper::Snapping generateUseSnapping(Qt::KeyboardModifiers keyboardModifier) const; + FormEditorItem *containerFormEditorItem(const QList<QGraphicsItem*> &itemUnderMouseList, const QList<FormEditorItem*> &selectedItemList) const; FormEditorView *view() const; void setView(FormEditorView *view); diff --git a/src/plugins/qmldesigner/components/formeditor/movetool.cpp b/src/plugins/qmldesigner/components/formeditor/movetool.cpp index 4e96180940..b50ef660f8 100644 --- a/src/plugins/qmldesigner/components/formeditor/movetool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movetool.cpp @@ -319,35 +319,7 @@ void MoveTool::beginWithPoint(const QPointF &beginPoint) m_moveManipulator.begin(beginPoint); } -static bool isNotAncestorOfItemInList(FormEditorItem *formEditorItem, const QList<FormEditorItem*> &itemList) -{ - foreach (FormEditorItem *item, itemList) { - if (item - && item->qmlItemNode().isValid() - && item->qmlItemNode().isAncestorOf(formEditorItem->qmlItemNode())) - return false; - } - return true; -} - -FormEditorItem* MoveTool::containerFormEditorItem(const QList<QGraphicsItem*> &itemUnderMouseList, - const QList<FormEditorItem*> &selectedItemList) -{ - Q_ASSERT(!selectedItemList.isEmpty()); - - foreach (QGraphicsItem* item, itemUnderMouseList) { - FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item); - if (formEditorItem - && !selectedItemList.contains(formEditorItem) - && isNotAncestorOfItemInList(formEditorItem, selectedItemList) - && formEditorItem->isContainer()) - return formEditorItem; - - } - - return 0; -} QList<FormEditorItem*> movalbeItems(const QList<FormEditorItem*> &itemList) { diff --git a/src/plugins/qmldesigner/components/formeditor/movetool.h b/src/plugins/qmldesigner/components/formeditor/movetool.h index 230bd73d05..9947037ea1 100644 --- a/src/plugins/qmldesigner/components/formeditor/movetool.h +++ b/src/plugins/qmldesigner/components/formeditor/movetool.h @@ -79,8 +79,6 @@ protected: static QList<FormEditorItem*> movingItems(const QList<FormEditorItem*> &selectedItemList); - static FormEditorItem* containerFormEditorItem(const QList<QGraphicsItem*> &itemUnderMouseList, - const QList<FormEditorItem*> &selectedItemList); static bool isAncestorOfAllItems(FormEditorItem* maybeAncestorItem, const QList<FormEditorItem*> &itemList); |