diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp index 8b5356c08..dce95444d 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp @@ -70,17 +70,22 @@ void VisualDeckStorageSortWidget::sortFolder(VisualDeckStorageFolderDisplayWidge for (auto widget : children) { auto deckPreviewWidgets = widget->findChildren(QString(), Qt::FindChildOption::FindDirectChildrenOnly); - auto newOrder = filterFiles(deckPreviewWidgets); - for (DeckPreviewWidget *previewWidget : newOrder) { + sortDecks(deckPreviewWidgets); + for (DeckPreviewWidget *previewWidget : deckPreviewWidgets) { folderWidget->getFlowWidget()->removeWidget(previewWidget); } - for (DeckPreviewWidget *previewWidget : newOrder) { + for (DeckPreviewWidget *previewWidget : deckPreviewWidgets) { folderWidget->getFlowWidget()->addWidget(previewWidget); } } } -QList VisualDeckStorageSortWidget::filterFiles(QList widgets) +/** + * Sorts the DeckPreviewWidget list in-place, using the currently selected sortOrder + * + * @param widgets The list of widgets to sort + */ +void VisualDeckStorageSortWidget::sortDecks(QList widgets) { // Sort the widgets list based on the current sort order std::sort(widgets.begin(), widgets.end(), [this](DeckPreviewWidget *widget1, DeckPreviewWidget *widget2) { @@ -107,6 +112,4 @@ QList VisualDeckStorageSortWidget::filterFiles(QList filterFiles(QList widgets); + void sortDecks(QList widgets); signals: void sortOrderChanged();