Sankore-958 recursive fix

preferencesAboutTextFull
Ilia Ryabokon 12 years ago
parent 3f26353307
commit 36fd3243a7
  1. 24
      src/domain/UBGraphicsItemDelegate.cpp
  2. 1
      src/domain/UBGraphicsItemDelegate.h

@ -471,24 +471,18 @@ void UBGraphicsItemDelegate::lock(bool locked)
mFrame->positionHandles();
}
void UBGraphicsItemDelegate::showHideRecurs(const QVariant &pShow, QGraphicsItem *pItem)
{
pItem->setData(UBGraphicsItemData::ItemLayerType, pShow);
foreach (QGraphicsItem *insideItem, pItem->childItems()) {
showHideRecurs(pShow, insideItem);
}
}
void UBGraphicsItemDelegate::showHide(bool show)
{
if (show) {
mDelegated->setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Object));
if (mDelegated->childItems().count()) {
foreach (QGraphicsItem *item, mDelegated->childItems()) {
item->setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Object));
}
}
} else {
mDelegated->setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
if (mDelegated->childItems().count()) {
foreach (QGraphicsItem *item, mDelegated->childItems()) {
item->setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
}
}
}
QVariant showFlag = QVariant(show ? UBItemLayerType::Object : UBItemLayerType::Control);
showHideRecurs(showFlag, mDelegated);
mDelegated->update();
emit showOnDisplayChanged(show);

@ -297,6 +297,7 @@ protected slots:
private:
void updateFrame();
void updateButtons(bool showUpdated = false);
inline void showHideRecurs(const QVariant &pShow, QGraphicsItem *pItem);
QPointF mOffset;
QTransform mPreviousTransform;

Loading…
Cancel
Save