Raise trailing widgets on overlap layout widget insertion.

This commit is contained in:
Lukas Brübach 2025-06-13 04:28:51 +02:00
parent f9e4503f24
commit 066d806c27

View file

@ -57,7 +57,12 @@ OverlapLayout::~OverlapLayout()
void OverlapLayout::insertWidgetAtIndex(QWidget *toInsert, int index)
{
addChildWidget(toInsert);
itemList.insert(qBound(0, index, std::max(0, static_cast<int>(itemList.size()))), new QWidgetItem(toInsert));
int clampedIndex = qBound(0, index, std::max(0, static_cast<int>(itemList.size())));
itemList.insert(clampedIndex, new QWidgetItem(toInsert));
for (int i = clampedIndex; i < itemList.size(); ++i) {
dynamic_cast<QWidgetItem *>(itemList.at(i))->widget()->raise();
}
invalidate();
}