Fixed splitting vertical layouts

This commit is contained in:
Arin Alexander
2020-12-25 23:02:33 +03:00
parent 4d60c071de
commit 4c59d2810c
2 changed files with 7 additions and 13 deletions

View File

@@ -116,20 +116,14 @@ BaseDesignIntf* VerticalLayout::cloneBottomPart(int height, QObject* owner, QGra
bottomPart->initFromItem(this);
foreach(BaseDesignIntf* item,childBaseItems()){
if ((item->geometry().top() < height) && ( item->geometry().bottom() > height )){
if (item->geometry().bottom() > height){
int sliceHeight = height - item->geometry().top();
if (item->canBeSplitted(sliceHeight)){
if ((item->geometry().top() < height) && (item->canBeSplitted(sliceHeight))){
BaseDesignIntf* tmpItem = item->cloneBottomPart(sliceHeight, bottomPart, bottomPart);
tmpItem->setPos(tmpItem->pos().x(),0);
tmpItem->setHeight(sliceHeight);
bottomPart->addChild(tmpItem);
} else {
item->cloneItem(item->itemMode(), bottomPart, bottomPart);
item->setPos(item->pos().x(), 0);
}
} else {
if (item->geometry().top() >= height){
BaseDesignIntf* tmpItem = item->cloneItem(item->itemMode(), bottomPart, bottomPart);
tmpItem->setPos(item->pos().x(), item->pos().y() - height);
bottomPart->addChild(item->cloneItem(item->itemMode(), bottomPart, bottomPart));
}
}
}