mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-03 03:53:56 -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,
|
connect(filterModel, &FilterTreeModel::layoutChanged, this,
|
||||||
[this]() { QTimer::singleShot(100, this, &VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel); });
|
[this]() { QTimer::singleShot(100, this, &VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel); });
|
||||||
|
|
||||||
createSetButtons(); // Populate buttons initially
|
createSetButtons(); // Populate buttons initially
|
||||||
updateFilterMode(false); // Initialize toggle button text
|
retranslateUi();
|
||||||
|
}
|
||||||
|
|
||||||
|
void VisualDatabaseDisplaySetFilterWidget::retranslateUi()
|
||||||
|
{
|
||||||
|
toggleButton->setText(exactMatchMode ? tr("Mode: Exact Match") : tr("Mode: Includes"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDatabaseDisplaySetFilterWidget::createSetButtons()
|
void VisualDatabaseDisplaySetFilterWidget::createSetButtons()
|
||||||
|
|
@ -190,6 +195,6 @@ void VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel()
|
||||||
void VisualDatabaseDisplaySetFilterWidget::updateFilterMode(bool checked)
|
void VisualDatabaseDisplaySetFilterWidget::updateFilterMode(bool checked)
|
||||||
{
|
{
|
||||||
exactMatchMode = checked;
|
exactMatchMode = checked;
|
||||||
toggleButton->setText(exactMatchMode ? tr("Mode: Exact Match") : tr("Mode: Includes"));
|
|
||||||
updateSetFilter();
|
updateSetFilter();
|
||||||
}
|
retranslateUi();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class VisualDatabaseDisplaySetFilterWidget : public QWidget
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit VisualDatabaseDisplaySetFilterWidget(QWidget *parent, FilterTreeModel *filterModel);
|
explicit VisualDatabaseDisplaySetFilterWidget(QWidget *parent, FilterTreeModel *filterModel);
|
||||||
|
void retranslateUi();
|
||||||
void createSetButtons();
|
void createSetButtons();
|
||||||
void updateSetButtonsVisibility();
|
void updateSetButtonsVisibility();
|
||||||
void handleSetToggled(const QString &setShortName, bool active);
|
void handleSetToggled(const QString &setShortName, bool active);
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,6 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
|
||||||
|
|
||||||
filterModel = new FilterTreeModel();
|
filterModel = new FilterTreeModel();
|
||||||
filterModel->setObjectName("filterModel");
|
filterModel->setObjectName("filterModel");
|
||||||
databaseDisplayModel->setFilterTree(filterModel->filterTree());
|
|
||||||
|
|
||||||
connect(filterModel, &FilterTreeModel::layoutChanged, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
|
||||||
|
|
||||||
searchKeySignals.setObjectName("searchKeySignals");
|
searchKeySignals.setObjectName("searchKeySignals");
|
||||||
connect(searchEdit, &QLineEdit::textChanged, this, &VisualDatabaseDisplayWidget::updateSearch);
|
connect(searchEdit, &QLineEdit::textChanged, this, &VisualDatabaseDisplayWidget::updateSearch);
|
||||||
|
|
@ -144,6 +141,10 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
|
||||||
|
|
||||||
connect(debounceTimer, &QTimer::timeout, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
connect(debounceTimer, &QTimer::timeout, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
||||||
|
|
||||||
|
databaseDisplayModel->setFilterTree(filterModel->filterTree());
|
||||||
|
|
||||||
|
connect(filterModel, &FilterTreeModel::layoutChanged, this, &VisualDatabaseDisplayWidget::searchModelChanged);
|
||||||
|
|
||||||
loadCardsTimer = new QTimer(this);
|
loadCardsTimer = new QTimer(this);
|
||||||
loadCardsTimer->setSingleShot(true); // Ensure it only fires once after the timeout
|
loadCardsTimer->setSingleShot(true); // Ensure it only fires once after the timeout
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue