mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
[VDD] Defer filter tree assignment (#5864)
* RetranslateUi instead of updating filter mode. * Defer setting the filter tree on the database display model until AFTER all the filter widgets are initialized. * Update visual_database_display_set_filter_widget.cpp --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de> Co-authored-by: Zach H <zahalpern+github@gmail.com>
This commit is contained in:
parent
acd9a163f0
commit
dcbb8bab75
3 changed files with 14 additions and 7 deletions
|
|
@ -36,8 +36,13 @@ VisualDatabaseDisplaySetFilterWidget::VisualDatabaseDisplaySetFilterWidget(QWidg
|
|||
connect(filterModel, &FilterTreeModel::layoutChanged, this,
|
||||
[this]() { QTimer::singleShot(100, this, &VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel); });
|
||||
|
||||
createSetButtons(); // Populate buttons initially
|
||||
updateFilterMode(false); // Initialize toggle button text
|
||||
createSetButtons(); // Populate buttons initially
|
||||
retranslateUi();
|
||||
}
|
||||
|
||||
void VisualDatabaseDisplaySetFilterWidget::retranslateUi()
|
||||
{
|
||||
toggleButton->setText(exactMatchMode ? tr("Mode: Exact Match") : tr("Mode: Includes"));
|
||||
}
|
||||
|
||||
void VisualDatabaseDisplaySetFilterWidget::createSetButtons()
|
||||
|
|
@ -190,6 +195,6 @@ void VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel()
|
|||
void VisualDatabaseDisplaySetFilterWidget::updateFilterMode(bool checked)
|
||||
{
|
||||
exactMatchMode = checked;
|
||||
toggleButton->setText(exactMatchMode ? tr("Mode: Exact Match") : tr("Mode: Includes"));
|
||||
updateSetFilter();
|
||||
}
|
||||
retranslateUi();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class VisualDatabaseDisplaySetFilterWidget : public QWidget
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit VisualDatabaseDisplaySetFilterWidget(QWidget *parent, FilterTreeModel *filterModel);
|
||||
void retranslateUi();
|
||||
void createSetButtons();
|
||||
void updateSetButtonsVisibility();
|
||||
void handleSetToggled(const QString &setShortName, bool active);
|
||||
|
|
|
|||
|
|
@ -62,9 +62,6 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
|
|||
|
||||
filterModel = new FilterTreeModel();
|
||||
filterModel->setObjectName("filterModel");
|
||||
databaseDisplayModel->setFilterTree(filterModel->filterTree());
|
||||
|
||||
connect(filterModel, &FilterTreeModel::layoutChanged, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
||||
|
||||
searchKeySignals.setObjectName("searchKeySignals");
|
||||
connect(searchEdit, &QLineEdit::textChanged, this, &VisualDatabaseDisplayWidget::updateSearch);
|
||||
|
|
@ -144,6 +141,10 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
|
|||
|
||||
connect(debounceTimer, &QTimer::timeout, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
||||
|
||||
databaseDisplayModel->setFilterTree(filterModel->filterTree());
|
||||
|
||||
connect(filterModel, &FilterTreeModel::layoutChanged, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
||||
|
||||
loadCardsTimer = new QTimer(this);
|
||||
loadCardsTimer->setSingleShot(true); // Ensure it only fires once after the timeout
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue