Do reparenting only with the control modifier hold

The isContainer flag is now ignored.

Reviewed-by: kkoehne
This commit is contained in:
Marco Bubke
2010-05-26 18:05:49 +02:00
committed by Kai Koehne
parent a41876cd41
commit f0a6a0abb8
2 changed files with 7 additions and 9 deletions

View File

@@ -148,7 +148,7 @@ FormEditorItem* ItemCreatorTool::calculateContainer(const QPointF &point)
QList<QGraphicsItem *> list = scene()->items(point); QList<QGraphicsItem *> list = scene()->items(point);
foreach (QGraphicsItem *item, list) { foreach (QGraphicsItem *item, list) {
FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item); FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item);
if (formEditorItem && formEditorItem->isContainer()) if (formEditorItem)
return formEditorItem; return formEditorItem;
} }
return 0; return 0;

View File

@@ -90,12 +90,12 @@ void MoveTool::mouseMoveEvent(const QList<QGraphicsItem*> &itemList,
m_resizeIndicator.hide(); m_resizeIndicator.hide();
FormEditorItem *containerItem = containerFormEditorItem(itemList, m_movingItems); FormEditorItem *containerItem = containerFormEditorItem(itemList, m_movingItems);
if (containerItem && if (containerItem
containerItem != m_movingItems.first()->parentItem() && && view()->currentState().isBaseState()) {
view()->currentState().isBaseState() && if (containerItem != m_movingItems.first()->parentItem()
!event->modifiers().testFlag(Qt::ShiftModifier)) { && event->modifiers().testFlag(Qt::ShiftModifier)) {
m_moveManipulator.reparentTo(containerItem);
m_moveManipulator.reparentTo(containerItem); }
} }
bool shouldSnapping = view()->widget()->snappingAction()->isChecked(); bool shouldSnapping = view()->widget()->snappingAction()->isChecked();
@@ -313,9 +313,7 @@ FormEditorItem* MoveTool::containerFormEditorItem(const QList<QGraphicsItem*> &i
if (formEditorItem if (formEditorItem
&& !selectedItemList.contains(formEditorItem) && !selectedItemList.contains(formEditorItem)
&& isNotAncestorOfItemInList(formEditorItem, selectedItemList)) && isNotAncestorOfItemInList(formEditorItem, selectedItemList))
if (formEditorItem->isContainer()) {
return formEditorItem; return formEditorItem;
}
} }