From 27b8cc5526a319644802b5e524ad753a2338a964 Mon Sep 17 00:00:00 2001 From: Phoenix Osiris Date: Wed, 17 Jul 2013 17:27:45 -0400 Subject: [PATCH] Adding Long Name Sorting Options To Set List Updating Dialog To Sort Options --- cockatrice/src/carddatabase.cpp | 11 +++++++++++ cockatrice/src/carddatabase.h | 2 ++ cockatrice/src/dlg_cardsearch.cpp | 1 + 3 files changed, 14 insertions(+) diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index 8a0280a90..693e41d78 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -58,11 +58,22 @@ public: } }; +class SetList::CompareName { +public: + inline bool operator()(CardSet *a, CardSet *b) const { + return a->getLongName() < b->getLongName(); + } +}; + void SetList::sortByKey() { qSort(begin(), end(), CompareFunctor()); } +void SetList::sortByName() { + qSort(begin(), end(), CompareName()); +} + PictureToLoad::PictureToLoad(CardInfo *_card, bool _stripped, bool _hq) : card(_card), stripped(_stripped), setIndex(0), hq(_hq) { diff --git a/cockatrice/src/carddatabase.h b/cockatrice/src/carddatabase.h index 1f87d2765..a0c66c6dd 100644 --- a/cockatrice/src/carddatabase.h +++ b/cockatrice/src/carddatabase.h @@ -36,8 +36,10 @@ public: class SetList : public QList { private: class CompareFunctor; + class CompareName; public: void sortByKey(); + void sortByName(); }; class PictureToLoad { diff --git a/cockatrice/src/dlg_cardsearch.cpp b/cockatrice/src/dlg_cardsearch.cpp index a60a1ec39..2e376f1f6 100644 --- a/cockatrice/src/dlg_cardsearch.cpp +++ b/cockatrice/src/dlg_cardsearch.cpp @@ -24,6 +24,7 @@ DlgCardSearch::DlgCardSearch(QWidget *parent) cboSetList = new QComboBox(); cboSetList->addItem(""); SetList setList = db->getSetList(); + setList.sortByName(); for (int intLoop = 0; intLoop < setList.size(); ++intLoop) { //Adding Translated Set Name, Just In Case cboSetList->addItem(tr("%1").arg(setList.at(intLoop)->getLongName()), setList.at(intLoop)->getShortName());