From e2990c9dff4c3310e28d4250573497c176c8f404 Mon Sep 17 00:00:00 2001 From: RickyRister Date: Wed, 26 Feb 2025 01:36:41 -0800 Subject: [PATCH] remove recursion from flattenFolderStructure findChildren is already recursive by default --- ...ual_deck_storage_folder_display_widget.cpp | 27 +++---------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp index 8d68b2a97..677abc678 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp @@ -181,32 +181,13 @@ void VisualDeckStorageFolderDisplayWidget::updateShowFolders(bool enabled) } /** - * Recursively gets all DeckPreviewWidgets in this folder and its subfolders - */ -static QList getAllDecksRecursive(VisualDeckStorageFolderDisplayWidget *folder) -{ - QList allDecks; - - if (auto *flowWidget = folder->getFlowWidget()) { - // Iterate through all DeckPreviewWidgets in this folder - allDecks << flowWidget->findChildren(); - } - - for (auto *subFolder : folder->findChildren()) { - allDecks << getAllDecksRecursive(subFolder); - } - - return allDecks; -} - -/** - * Recursively steals all DeckPreviewWidgets from this widget's subfolders, and deletes all subfolders + * Steals all DeckPreviewWidgets from this widget's nested subfolders, and deletes those subfolders */ void VisualDeckStorageFolderDisplayWidget::flattenFolderStructure() { - for (VisualDeckStorageFolderDisplayWidget *subFolder : findChildren()) { - // steal all DeckPreviewWidgets from the subfolder and all its subfolders - for (auto *deck : getAllDecksRecursive(subFolder)) { + for (auto *subFolder : findChildren()) { + // steal all DeckPreviewWidgets from the subfolder + for (auto *deck : subFolder->getFlowWidget()->findChildren()) { flowWidget->addWidget(deck); }