From 2a3701b036ab02ea48f9e9ebbb1bd6f736d745c4 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Sun, 3 Apr 2016 18:33:10 +0200 Subject: [PATCH] fix #1903 --- cockatrice/src/carddatabasemodel.cpp | 6 ++++++ cockatrice/src/carddatabasemodel.h | 1 + cockatrice/src/dlg_create_token.cpp | 3 +-- cockatrice/src/dlg_create_token.h | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cockatrice/src/carddatabasemodel.cpp b/cockatrice/src/carddatabasemodel.cpp index a3a07086..6054e2f2 100644 --- a/cockatrice/src/carddatabasemodel.cpp +++ b/cockatrice/src/carddatabasemodel.cpp @@ -236,3 +236,9 @@ bool TokenDisplayModel::filterAcceptsRow(int sourceRow, const QModelIndex & /*so return info->getIsToken(); } + +int TokenDisplayModel::rowCount(const QModelIndex &parent) const +{ + // always load all tokens at start + return QSortFilterProxyModel::rowCount(parent); +} diff --git a/cockatrice/src/carddatabasemodel.h b/cockatrice/src/carddatabasemodel.h index 0a393969..8a4985c1 100644 --- a/cockatrice/src/carddatabasemodel.h +++ b/cockatrice/src/carddatabasemodel.h @@ -72,6 +72,7 @@ class TokenDisplayModel : public CardDatabaseDisplayModel { Q_OBJECT public: TokenDisplayModel(QObject *parent = 0); + int rowCount(const QModelIndex &parent = QModelIndex()) const; protected: bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; }; diff --git a/cockatrice/src/dlg_create_token.cpp b/cockatrice/src/dlg_create_token.cpp index 2510e0fb..02c867bb 100644 --- a/cockatrice/src/dlg_create_token.cpp +++ b/cockatrice/src/dlg_create_token.cpp @@ -62,9 +62,8 @@ DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *pa tokenDataGroupBox->setLayout(grid); cardDatabaseModel = new CardDatabaseModel(db, this); - cardDatabaseDisplayModel = new CardDatabaseDisplayModel(this); + cardDatabaseDisplayModel = new TokenDisplayModel(this); cardDatabaseDisplayModel->setSourceModel(cardDatabaseModel); - cardDatabaseDisplayModel->setIsToken(CardDatabaseDisplayModel::ShowTrue); chooseTokenFromAllRadioButton = new QRadioButton(tr("Show &all tokens")); connect(chooseTokenFromAllRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromAll(bool))); diff --git a/cockatrice/src/dlg_create_token.h b/cockatrice/src/dlg_create_token.h index 45d7c2c5..26589742 100644 --- a/cockatrice/src/dlg_create_token.h +++ b/cockatrice/src/dlg_create_token.h @@ -12,7 +12,7 @@ class QPushButton; class QRadioButton; class DeckList; class CardDatabaseModel; -class CardDatabaseDisplayModel; +class TokenDisplayModel; class DlgCreateToken : public QDialog { Q_OBJECT @@ -30,7 +30,7 @@ private slots: void actOk(); private: CardDatabaseModel *cardDatabaseModel; - CardDatabaseDisplayModel *cardDatabaseDisplayModel; + TokenDisplayModel *cardDatabaseDisplayModel; QStringList predefinedTokens; QLabel *nameLabel, *colorLabel, *ptLabel, *annotationLabel; QComboBox *colorEdit;