Model col widths off deck editor & disable button if no tokens in deck (#2751)
This commit is contained in:
parent
d970b9e50f
commit
f3f83882e0
4 changed files with 23 additions and 13 deletions
|
@ -75,7 +75,9 @@ DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *pa
|
||||||
connect(chooseTokenFromAllRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromAll(bool)));
|
connect(chooseTokenFromAllRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromAll(bool)));
|
||||||
chooseTokenFromDeckRadioButton = new QRadioButton(tr("Show tokens from this &deck"));
|
chooseTokenFromDeckRadioButton = new QRadioButton(tr("Show tokens from this &deck"));
|
||||||
connect(chooseTokenFromDeckRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromDeck(bool)));
|
connect(chooseTokenFromDeckRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromDeck(bool)));
|
||||||
QTreeView *chooseTokenView = new QTreeView;
|
|
||||||
|
QByteArray deckHeaderState = settingsCache->layouts().getDeckEditorDbHeaderState();
|
||||||
|
chooseTokenView = new QTreeView;
|
||||||
chooseTokenView->setModel(cardDatabaseDisplayModel);
|
chooseTokenView->setModel(cardDatabaseDisplayModel);
|
||||||
chooseTokenView->setUniformRowHeights(true);
|
chooseTokenView->setUniformRowHeights(true);
|
||||||
chooseTokenView->setRootIsDecorated(false);
|
chooseTokenView->setRootIsDecorated(false);
|
||||||
|
@ -83,19 +85,24 @@ DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *pa
|
||||||
chooseTokenView->setSortingEnabled(true);
|
chooseTokenView->setSortingEnabled(true);
|
||||||
chooseTokenView->sortByColumn(0, Qt::AscendingOrder);
|
chooseTokenView->sortByColumn(0, Qt::AscendingOrder);
|
||||||
chooseTokenView->resizeColumnToContents(0);
|
chooseTokenView->resizeColumnToContents(0);
|
||||||
chooseTokenView->header()->setStretchLastSection(false);
|
|
||||||
chooseTokenView->header()->hideSection(1);
|
|
||||||
chooseTokenView->header()->hideSection(2);
|
|
||||||
chooseTokenView->setWordWrap(true);
|
chooseTokenView->setWordWrap(true);
|
||||||
chooseTokenView->setColumnWidth(0, 130);
|
|
||||||
chooseTokenView->setColumnWidth(3, 178);
|
|
||||||
chooseTokenView->header()->setSectionResizeMode(4, QHeaderView::ResizeToContents);
|
|
||||||
|
|
||||||
|
if (!deckHeaderState.isNull())
|
||||||
|
chooseTokenView->header()->restoreState(deckHeaderState);
|
||||||
|
|
||||||
|
chooseTokenView->header()->setStretchLastSection(false);
|
||||||
|
chooseTokenView->header()->hideSection(1); // Sets
|
||||||
|
chooseTokenView->header()->hideSection(2); // Mana Cost
|
||||||
|
chooseTokenView->header()->setSectionResizeMode(5, QHeaderView::ResizeToContents); // Color(s)
|
||||||
connect(chooseTokenView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(tokenSelectionChanged(QModelIndex, QModelIndex)));
|
connect(chooseTokenView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(tokenSelectionChanged(QModelIndex, QModelIndex)));
|
||||||
|
|
||||||
if (predefinedTokens.isEmpty())
|
if (predefinedTokens.isEmpty())
|
||||||
|
{
|
||||||
chooseTokenFromAllRadioButton->setChecked(true);
|
chooseTokenFromAllRadioButton->setChecked(true);
|
||||||
else {
|
chooseTokenFromDeckRadioButton->setDisabled(true); // No tokens in deck = no need for option
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
chooseTokenFromDeckRadioButton->setChecked(true);
|
chooseTokenFromDeckRadioButton->setChecked(true);
|
||||||
cardDatabaseDisplayModel->setCardNameSet(QSet<QString>::fromList(predefinedTokens));
|
cardDatabaseDisplayModel->setCardNameSet(QSet<QString>::fromList(predefinedTokens));
|
||||||
}
|
}
|
||||||
|
@ -216,4 +223,4 @@ QString DlgCreateToken::getAnnotation() const
|
||||||
bool DlgCreateToken::getDestroy() const
|
bool DlgCreateToken::getDestroy() const
|
||||||
{
|
{
|
||||||
return destroyCheckBox->isChecked();
|
return destroyCheckBox->isChecked();
|
||||||
}
|
}
|
|
@ -11,6 +11,7 @@ class QCheckBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QRadioButton;
|
class QRadioButton;
|
||||||
class QCloseEvent;
|
class QCloseEvent;
|
||||||
|
class QTreeView;
|
||||||
class DeckList;
|
class DeckList;
|
||||||
class CardDatabaseModel;
|
class CardDatabaseModel;
|
||||||
class TokenDisplayModel;
|
class TokenDisplayModel;
|
||||||
|
@ -44,6 +45,7 @@ private:
|
||||||
QCheckBox *destroyCheckBox;
|
QCheckBox *destroyCheckBox;
|
||||||
QRadioButton *chooseTokenFromAllRadioButton, *chooseTokenFromDeckRadioButton;
|
QRadioButton *chooseTokenFromAllRadioButton, *chooseTokenFromDeckRadioButton;
|
||||||
CardInfoPicture *pic;
|
CardInfoPicture *pic;
|
||||||
|
QTreeView *chooseTokenView;
|
||||||
|
|
||||||
void updateSearchFieldWithoutUpdatingFilter(const QString &newValue) const;
|
void updateSearchFieldWithoutUpdatingFilter(const QString &newValue) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,8 +8,7 @@ class LayoutsSettings : public SettingsManager
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
friend class SettingsCache;
|
friend class SettingsCache;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
void setDeckEditorLayoutState(const QByteArray &value);
|
void setDeckEditorLayoutState(const QByteArray &value);
|
||||||
void setDeckEditorGeometry(const QByteArray &value);
|
void setDeckEditorGeometry(const QByteArray &value);
|
||||||
void setDeckEditorCardSize(const QSize &value);
|
void setDeckEditorCardSize(const QSize &value);
|
||||||
|
|
|
@ -345,11 +345,13 @@ void TabDeckEditor::createCentralFrame()
|
||||||
connect(databaseView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actAddCard()));
|
connect(databaseView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actAddCard()));
|
||||||
|
|
||||||
QByteArray dbHeaderState = settingsCache->layouts().getDeckEditorDbHeaderState();
|
QByteArray dbHeaderState = settingsCache->layouts().getDeckEditorDbHeaderState();
|
||||||
if(dbHeaderState.isNull())
|
if (dbHeaderState.isNull())
|
||||||
{
|
{
|
||||||
// first run
|
// first run
|
||||||
databaseView->setColumnWidth(0, 200);
|
databaseView->setColumnWidth(0, 200);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
databaseView->header()->restoreState(dbHeaderState);
|
databaseView->header()->restoreState(dbHeaderState);
|
||||||
}
|
}
|
||||||
connect(databaseView->header(), SIGNAL(geometriesChanged()), this, SLOT(saveDbHeaderState()));
|
connect(databaseView->header(), SIGNAL(geometriesChanged()), this, SLOT(saveDbHeaderState()));
|
||||||
|
|
Loading…
Reference in a new issue