DolphinQt: Move GraphicsModListWidget::ClearLayoutRecursively() to QtUtils.

This commit is contained in:
Admiral H. Curtiss
2023-10-15 18:35:12 +02:00
parent 2677fd9a8e
commit 4b2dad074a
6 changed files with 46 additions and 27 deletions

View File

@ -0,0 +1,33 @@
// Copyright 2023 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "DolphinQt/QtUtils/ClearLayoutRecursively.h"
#include <QLayout>
#include <QLayoutItem>
#include <QWidget>
void ClearLayoutRecursively(QLayout* layout)
{
while (QLayoutItem* child = layout->takeAt(0))
{
if (child == nullptr)
continue;
if (child->widget())
{
layout->removeWidget(child->widget());
delete child->widget();
}
else if (child->layout())
{
ClearLayoutRecursively(child->layout());
layout->removeItem(child);
}
else
{
layout->removeItem(child);
}
delete child;
}
}