Move to sorting widget

This commit is contained in:
ZeldaZach 2024-12-25 22:46:39 -05:00
parent bcc47d5a3d
commit 4bbd588767
No known key found for this signature in database
3 changed files with 24 additions and 16 deletions

View file

@ -171,18 +171,7 @@ void PrintingSelector::getAllSetsForCurrentCard()
} else {
setsToUse = filteredSets;
}
const auto &cardProviderId =
SettingsCache::instance().cardOverrides().getCardPreferenceOverride(selectedCard->getName());
if (!cardProviderId.isEmpty()) {
for (int i = 0; i < setsToUse.size(); ++i) {
const auto &card = setsToUse[i];
if (card.getProperty("uuid") == cardProviderId) {
setsToUse.move(i, 0);
break;
}
}
}
setsToUse = sortToolBar->prependSelectedPrintings(setsToUse, selectedCard->getName());
// Defer widget creation
currentIndex = 0;

View file

@ -74,7 +74,7 @@ void PrintingSelectorCardSortingWidget::updateSortSetting()
* @param cardInfoPerSets The list of card sets to be sorted.
* @return A sorted list of card sets.
*/
QList<CardInfoPerSet> PrintingSelectorCardSortingWidget::sortSets(CardInfoPerSetMap cardInfoPerSets)
QList<CardInfoPerSet> PrintingSelectorCardSortingWidget::sortSets(const CardInfoPerSetMap &cardInfoPerSets)
{
QList<CardSetPtr> sortedSets;
@ -148,6 +148,24 @@ QList<CardInfoPerSet> PrintingSelectorCardSortingWidget::filterSets(const QList<
return filteredSets;
}
QList<CardInfoPerSet> PrintingSelectorCardSortingWidget::prependSelectedPrintings(const QList<CardInfoPerSet> &sets,
const QString &cardName)
{
auto setsToUse = sets;
const auto &cardProviderId = SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardName);
if (!cardProviderId.isEmpty()) {
for (int i = 0; i < setsToUse.size(); ++i) {
const auto &card = setsToUse[i];
if (card.getProperty("uuid") == cardProviderId) {
setsToUse.move(i, 0);
break;
}
}
}
return setsToUse;
}
/**
* @brief Prepend card printings that are contained in the deck to the list of card sets.
*

View file

@ -12,9 +12,10 @@ class PrintingSelectorCardSortingWidget : public QWidget
Q_OBJECT
public:
explicit PrintingSelectorCardSortingWidget(PrintingSelector *parent);
QList<CardInfoPerSet> sortSets(CardInfoPerSetMap cardInfoPerSets);
static QList<CardInfoPerSet> filterSets(const QList<CardInfoPerSet> &sets, const QString &searchText);
static QList<CardInfoPerSet> prependPrintingsInDeck(const QList<CardInfoPerSet> &sets,
QList<CardInfoPerSet> sortSets(const CardInfoPerSetMap &cardInfoPerSets);
QList<CardInfoPerSet> filterSets(const QList<CardInfoPerSet> &sets, const QString &searchText);
QList<CardInfoPerSet> prependSelectedPrintings(const QList<CardInfoPerSet> &sets, const QString &cardName);
QList<CardInfoPerSet> prependPrintingsInDeck(const QList<CardInfoPerSet> &sets,
const CardInfoPtr &selectedCard,
DeckListModel *deckModel);