Commit 324be6b4 authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

reverted card search to initial behaviour

parent ffe85962
......@@ -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 &current, const QModel
void WndDeckEditor::updateSearch(const QString &search)
{
databaseDisplayModel->setFilterFixedString(search);
databaseDisplayModel->setCardNameBeginning(search);
}
bool WndDeckEditor::confirmClose()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment