From b2f7c0c46dba046e4f2d8e6118a4005dba5069bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fauconnier?= Date: Tue, 21 Nov 2017 13:29:03 +0100 Subject: [PATCH] (finished) fixed some bugs where 'Locked' and 'Visible on extended screen' properties were not persisted for groups --- src/domain/UBGraphicsGroupContainerItem.cpp | 12 ++---------- src/domain/UBGraphicsItemDelegate.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/domain/UBGraphicsGroupContainerItem.cpp b/src/domain/UBGraphicsGroupContainerItem.cpp index 53b74acf..1ce3826d 100644 --- a/src/domain/UBGraphicsGroupContainerItem.cpp +++ b/src/domain/UBGraphicsGroupContainerItem.cpp @@ -84,23 +84,15 @@ void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item) if (!UBGraphicsItem::isLocked(this) && UBGraphicsItem::isLocked(item)) { Delegate()->setLocked(true); } - /* - if (data(UBGraphicsItemData::itemLayerType).toInt() != UBItemLayerType::Control - && item->data(UBGraphicsItemData::itemLayerType).toInt() == UBItemLayerType::Control) - setData(UBGraphicsItemData::itemLayerType, UBItemLayerType::Control); - */ - //setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control)); } else { Delegate()->setUBFlag(GF_FLIPPABLE_ALL_AXIS, UBGraphicsItem::isFlippable(item)); Delegate()->setUBFlag(GF_REVOLVABLE, UBGraphicsItem::isRotatable(item)); Delegate()->setLocked(UBGraphicsItem::isLocked(item)); - - setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control)); - //setData(UBGraphicsItemData::itemLayerType, item->data(UBGraphicsItemData::itemLayerType)); } - qDebug() << item->data(UBGraphicsItemData::itemLayerType); + if (item->data(UBGraphicsItemData::ItemLayerType) == UBItemLayerType::Control) + setData(UBGraphicsItemData::ItemLayerType, item->data(UBGraphicsItemData::ItemLayerType)); // COMBINE bool ok; diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp index b2d45850..c7c7098c 100644 --- a/src/domain/UBGraphicsItemDelegate.cpp +++ b/src/domain/UBGraphicsItemDelegate.cpp @@ -287,7 +287,12 @@ QVariant UBGraphicsItemDelegate::itemChange(QGraphicsItem::GraphicsItemChange ch } } break; - + case QGraphicsItem::ItemVisibleHasChanged : + { + bool shownOnDisplay = mDelegated->data(UBGraphicsItemData::ItemLayerType).toInt() != UBItemLayerType::Control; + showHide(shownOnDisplay); + break; + } case QGraphicsItem::ItemPositionHasChanged : case QGraphicsItem::ItemTransformHasChanged : case QGraphicsItem::ItemZValueHasChanged :