mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-01-03 08:37:44 -08:00
reverted card search to initial behaviour
This commit is contained in:
@@ -69,3 +69,20 @@ CardDatabaseDisplayModel::CardDatabaseDisplayModel(QObject *parent)
|
||||
setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||
setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
bool CardDatabaseDisplayModel::filterAcceptsRow(int sourceRow, const QModelIndex & /*sourceParent*/) const
|
||||
{
|
||||
CardInfo *info = static_cast<CardDatabaseModel *>(sourceModel())->getCard(sourceRow);
|
||||
|
||||
if (!cardNameBeginning.isEmpty())
|
||||
if (!info->getName().startsWith(cardNameBeginning, Qt::CaseInsensitive))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CardDatabaseDisplayModel::setCardNameBeginning(const QString &_beginning)
|
||||
{
|
||||
cardNameBeginning = _beginning;
|
||||
invalidateFilter();
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
QVariant data(const QModelIndex &index, int role) const;
|
||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
|
||||
CardInfo *getCard(int index) const { return cardList[index]; }
|
||||
private:
|
||||
QList<CardInfo *> cardList;
|
||||
CardDatabase *db;
|
||||
@@ -22,8 +23,13 @@ private:
|
||||
|
||||
class CardDatabaseDisplayModel : public QSortFilterProxyModel {
|
||||
Q_OBJECT
|
||||
private:
|
||||
QString cardNameBeginning;
|
||||
public:
|
||||
CardDatabaseDisplayModel(QObject *parent = 0);
|
||||
void setCardNameBeginning(const QString &_beginning);
|
||||
protected:
|
||||
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,6 +31,7 @@ WndDeckEditor::WndDeckEditor(QWidget *parent)
|
||||
databaseModel = new CardDatabaseModel(db, this);
|
||||
databaseDisplayModel = new CardDatabaseDisplayModel(this);
|
||||
databaseDisplayModel->setSourceModel(databaseModel);
|
||||
databaseDisplayModel->setFilterKeyColumn(0);
|
||||
databaseDisplayModel->sort(0, Qt::AscendingOrder);
|
||||
databaseView = new QTreeView();
|
||||
databaseView->setModel(databaseDisplayModel);
|
||||
@@ -197,7 +198,7 @@ void WndDeckEditor::updateCardInfoRight(const QModelIndex ¤t, const QModel
|
||||
|
||||
void WndDeckEditor::updateSearch(const QString &search)
|
||||
{
|
||||
databaseDisplayModel->setFilterFixedString(search);
|
||||
databaseDisplayModel->setCardNameBeginning(search);
|
||||
}
|
||||
|
||||
bool WndDeckEditor::confirmClose()
|
||||
|
||||
Reference in New Issue
Block a user