mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-15 19:47:46 -07:00
vds: Allow editing tags more than once (#5752)
`refreshTags` is not connecting the signal to open the dialog to edit the tags, so tags can only be edited once for a given deck. Fix by only having the logic for creating the "Edit tags" button once and call it from `connectDeckList`.
This commit is contained in:
parent
76fa87c63e
commit
a6f2e69e1a
1 changed files with 15 additions and 15 deletions
|
|
@ -14,7 +14,7 @@
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
|
||||||
DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(QWidget *_parent, DeckList *_deckList)
|
DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(QWidget *_parent, DeckList *_deckList)
|
||||||
: QWidget(_parent), deckList(_deckList)
|
: QWidget(_parent), deckList(nullptr)
|
||||||
{
|
{
|
||||||
|
|
||||||
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
|
@ -27,8 +27,8 @@ DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(QWidget *_par
|
||||||
|
|
||||||
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
||||||
|
|
||||||
if (deckList) {
|
if (_deckList) {
|
||||||
connectDeckList(deckList);
|
connectDeckList(_deckList);
|
||||||
}
|
}
|
||||||
|
|
||||||
layout->addWidget(flowWidget);
|
layout->addWidget(flowWidget);
|
||||||
|
|
@ -36,10 +36,20 @@ DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(QWidget *_par
|
||||||
|
|
||||||
void DeckPreviewDeckTagsDisplayWidget::connectDeckList(DeckList *_deckList)
|
void DeckPreviewDeckTagsDisplayWidget::connectDeckList(DeckList *_deckList)
|
||||||
{
|
{
|
||||||
flowWidget->clearLayout();
|
if (deckList) {
|
||||||
|
disconnect(deckList, &DeckList::deckTagsChanged, this, &DeckPreviewDeckTagsDisplayWidget::refreshTags);
|
||||||
|
}
|
||||||
|
|
||||||
deckList = _deckList;
|
deckList = _deckList;
|
||||||
connect(deckList, &DeckList::deckTagsChanged, this, &DeckPreviewDeckTagsDisplayWidget::refreshTags);
|
connect(deckList, &DeckList::deckTagsChanged, this, &DeckPreviewDeckTagsDisplayWidget::refreshTags);
|
||||||
|
|
||||||
|
refreshTags();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DeckPreviewDeckTagsDisplayWidget::refreshTags()
|
||||||
|
{
|
||||||
|
flowWidget->clearLayout();
|
||||||
|
|
||||||
for (const QString &tag : deckList->getTags()) {
|
for (const QString &tag : deckList->getTags()) {
|
||||||
flowWidget->addWidget(new DeckPreviewTagDisplayWidget(this, tag));
|
flowWidget->addWidget(new DeckPreviewTagDisplayWidget(this, tag));
|
||||||
}
|
}
|
||||||
|
|
@ -50,16 +60,6 @@ void DeckPreviewDeckTagsDisplayWidget::connectDeckList(DeckList *_deckList)
|
||||||
flowWidget->addWidget(tagAdditionWidget);
|
flowWidget->addWidget(tagAdditionWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckPreviewDeckTagsDisplayWidget::refreshTags()
|
|
||||||
{
|
|
||||||
flowWidget->clearLayout();
|
|
||||||
QStringList tags = deckList->getTags();
|
|
||||||
for (const QString &tag : tags) {
|
|
||||||
flowWidget->addWidget(new DeckPreviewTagDisplayWidget(this, tag));
|
|
||||||
}
|
|
||||||
flowWidget->addWidget(new DeckPreviewTagAdditionWidget(this, tr("Edit tags ...")));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the filepath of all files (no directories) in target directory and all subdirectories
|
* Gets the filepath of all files (no directories) in target directory and all subdirectories
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue