diff --git a/src/private/multisplitter/Item.cpp b/src/private/multisplitter/Item.cpp index bd97b1f2..b240d604 100644 --- a/src/private/multisplitter/Item.cpp +++ b/src/private/multisplitter/Item.cpp @@ -2216,7 +2216,7 @@ void ItemContainer::restoreChild(Item *item, NeighbourSqueezeStrategy neighbourS return; } - const int available = availableOnSide(item, Side1) + availableOnSide(item, Side2) - Item::separatorThickness; + const int available = availableToSqueezeOnSide(item, Side1) + availableToSqueezeOnSide(item, Side2) - Item::separatorThickness; const int max = qMin(available, item->maxLengthHint(d->m_orientation)); const int min = item->minLength(d->m_orientation); @@ -2292,7 +2292,7 @@ void ItemContainer::requestSeparatorMove(Separator *separator, int delta) // This is the available within our container, which we can use without bothering other other separators Item *side2Neighbour = children[separatorIndex + 1]; - const int available1 = availableOnSide(side2Neighbour, Side1); + const int available1 = availableToSqueezeOnSide(side2Neighbour, Side1); tookLocally = qMin(available1, remainingToTake); if (tookLocally != 0) { @@ -2304,7 +2304,7 @@ void ItemContainer::requestSeparatorMove(Separator *separator, int delta) } else { // Separator is moving right (or bottom if horizontal) Item *side1Neighbour = children[separatorIndex]; - const int available2 = availableOnSide(side1Neighbour, Side2); + const int available2 = availableToSqueezeOnSide(side1Neighbour, Side2); tookLocally = qMin(available2, remainingToTake); if (tookLocally != 0) { growItem(side1Neighbour, tookLocally, GrowthStrategy::Side2Only, @@ -2619,7 +2619,7 @@ int ItemContainer::neighboursMaxLengthFor(const Item *item, Side side, Qt::Orien } } -int ItemContainer::availableOnSide(const Item *child, Side side) const +int ItemContainer::availableToSqueezeOnSide(const Item *child, Side side) const { const int length = neighboursLengthFor(child, side, d->m_orientation); const int min = neighboursMinLengthFor(child, side, d->m_orientation); @@ -2635,7 +2635,7 @@ int ItemContainer::availableOnSide(const Item *child, Side side) const int ItemContainer::availableOnSide_recursive(const Item *child, Side side, Qt::Orientation orientation) const { if (orientation == d->m_orientation) { - const int available = availableOnSide(child, side); + const int available = availableToSqueezeOnSide(child, side); return isRoot() ? available : (available + parentContainer()->availableOnSide_recursive(this, side, orientation)); } else { diff --git a/src/private/multisplitter/tests/tst_multisplitter.cpp b/src/private/multisplitter/tests/tst_multisplitter.cpp index 4c5bf5a0..5c3abd1b 100644 --- a/src/private/multisplitter/tests/tst_multisplitter.cpp +++ b/src/private/multisplitter/tests/tst_multisplitter.cpp @@ -1267,8 +1267,8 @@ void TestMultiSplitter::tst_availableOnSide() root->setSize(QSize(1000, 1000)); root->insertItem(item1, Item::Location_OnLeft); - QCOMPARE(root->availableOnSide(item1, Side1), 0); - QCOMPARE(root->availableOnSide(item1, Side2), 0); + QCOMPARE(root->availableToSqueezeOnSide(item1, Side1), 0); + QCOMPARE(root->availableToSqueezeOnSide(item1, Side2), 0); Item *item2 = createItem(/*min=*/QSize(200, 200)); root->insertItem(item2, Item::Location_OnRight); @@ -1276,16 +1276,16 @@ void TestMultiSplitter::tst_availableOnSide() QCOMPARE(root->minPosForSeparator_global(separator), item1->minSize().width()); QCOMPARE(root->maxPosForSeparator_global(separator), root->width() - item2->minSize().width() - Item::separatorThickness); - QCOMPARE(root->availableOnSide(item1, Side1), 0); - QCOMPARE(root->availableOnSide(item1, Side2), item2->width() - item2->minSize().width()); - QCOMPARE(root->availableOnSide(item2, Side1), item1->width() - item1->minSize().width()); - QCOMPARE(root->availableOnSide(item2, Side2), 0); + QCOMPARE(root->availableToSqueezeOnSide(item1, Side1), 0); + QCOMPARE(root->availableToSqueezeOnSide(item1, Side2), item2->width() - item2->minSize().width()); + QCOMPARE(root->availableToSqueezeOnSide(item2, Side1), item1->width() - item1->minSize().width()); + QCOMPARE(root->availableToSqueezeOnSide(item2, Side2), 0); Item *item3 = createItem(/*min=*/QSize(200, 200)); root->insertItem(item3, Item::Location_OnRight); QVERIFY(root->checkSanity()); - QCOMPARE(root->availableOnSide(item3, Side1), (item1->width() - item1->minSize().width()) + (item2->width() - item2->minSize().width())); - QCOMPARE(root->availableOnSide(item3, Side2), 0); + QCOMPARE(root->availableToSqueezeOnSide(item3, Side1), (item1->width() - item1->minSize().width()) + (item2->width() - item2->minSize().width())); + QCOMPARE(root->availableToSqueezeOnSide(item3, Side2), 0); auto separator2 = root->separators_recursive()[1]; QCOMPARE(root->minPosForSeparator_global(separator2), item1->minSize().width() + item2->minSize().width() + Item::separatorThickness);