remove recursion from flattenFolderStructure

findChildren is already recursive by default
This commit is contained in:
RickyRister 2025-02-26 01:36:41 -08:00
parent 6df97a156f
commit e2990c9dff

View file

@ -181,32 +181,13 @@ void VisualDeckStorageFolderDisplayWidget::updateShowFolders(bool enabled)
} }
/** /**
* Recursively gets all DeckPreviewWidgets in this folder and its subfolders * Steals all DeckPreviewWidgets from this widget's nested subfolders, and deletes those subfolders
*/
static QList<DeckPreviewWidget *> getAllDecksRecursive(VisualDeckStorageFolderDisplayWidget *folder)
{
QList<DeckPreviewWidget *> allDecks;
if (auto *flowWidget = folder->getFlowWidget()) {
// Iterate through all DeckPreviewWidgets in this folder
allDecks << flowWidget->findChildren<DeckPreviewWidget *>();
}
for (auto *subFolder : folder->findChildren<VisualDeckStorageFolderDisplayWidget *>()) {
allDecks << getAllDecksRecursive(subFolder);
}
return allDecks;
}
/**
* Recursively steals all DeckPreviewWidgets from this widget's subfolders, and deletes all subfolders
*/ */
void VisualDeckStorageFolderDisplayWidget::flattenFolderStructure() void VisualDeckStorageFolderDisplayWidget::flattenFolderStructure()
{ {
for (VisualDeckStorageFolderDisplayWidget *subFolder : findChildren<VisualDeckStorageFolderDisplayWidget *>()) { for (auto *subFolder : findChildren<VisualDeckStorageFolderDisplayWidget *>()) {
// steal all DeckPreviewWidgets from the subfolder and all its subfolders // steal all DeckPreviewWidgets from the subfolder
for (auto *deck : getAllDecksRecursive(subFolder)) { for (auto *deck : subFolder->getFlowWidget()->findChildren<DeckPreviewWidget *>()) {
flowWidget->addWidget(deck); flowWidget->addWidget(deck);
} }