mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-18 08:22:15 -07:00
only trigger the top-level updateVisibility on filter update
Every folder widget was connecting the filter update signals to their updateVisibility, but updateVisibility is already recursive. That means a bunch of redundant updateVisibility calls happen every time a filter update signal is emitted
This commit is contained in:
parent
e2990c9dff
commit
2da0deff62
2 changed files with 7 additions and 7 deletions
|
|
@ -33,13 +33,6 @@ VisualDeckStorageFolderDisplayWidget::VisualDeckStorageFolderDisplayWidget(
|
||||||
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff);
|
flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff);
|
||||||
containerLayout->addWidget(flowWidget);
|
containerLayout->addWidget(flowWidget);
|
||||||
|
|
||||||
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::tagFilterUpdated, this,
|
|
||||||
&VisualDeckStorageFolderDisplayWidget::updateVisibility);
|
|
||||||
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::colorFilterUpdated, this,
|
|
||||||
&VisualDeckStorageFolderDisplayWidget::updateVisibility);
|
|
||||||
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::searchFilterUpdated, this,
|
|
||||||
&VisualDeckStorageFolderDisplayWidget::updateVisibility);
|
|
||||||
|
|
||||||
createWidgetsForFiles();
|
createWidgetsForFiles();
|
||||||
createWidgetsForFolders();
|
createWidgetsForFolders();
|
||||||
|
|
||||||
|
|
@ -104,6 +97,10 @@ void VisualDeckStorageFolderDisplayWidget::createWidgetsForFiles()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the visibility of this folder and all its DeckPreviewWidgets, as well as all its subfolders and their
|
||||||
|
* DeckPreviewWidgets.
|
||||||
|
*/
|
||||||
void VisualDeckStorageFolderDisplayWidget::updateVisibility()
|
void VisualDeckStorageFolderDisplayWidget::updateVisibility()
|
||||||
{
|
{
|
||||||
bool atLeastOneWidgetVisible = checkVisibility();
|
bool atLeastOneWidgetVisible = checkVisibility();
|
||||||
|
|
|
||||||
|
|
@ -198,6 +198,7 @@ void VisualDeckStorageWidget::updateTagFilter()
|
||||||
{
|
{
|
||||||
if (folderWidget) {
|
if (folderWidget) {
|
||||||
tagFilterWidget->filterDecksBySelectedTags(folderWidget->findChildren<DeckPreviewWidget *>());
|
tagFilterWidget->filterDecksBySelectedTags(folderWidget->findChildren<DeckPreviewWidget *>());
|
||||||
|
folderWidget->updateVisibility();
|
||||||
}
|
}
|
||||||
emit tagFilterUpdated();
|
emit tagFilterUpdated();
|
||||||
}
|
}
|
||||||
|
|
@ -206,6 +207,7 @@ void VisualDeckStorageWidget::updateColorFilter()
|
||||||
{
|
{
|
||||||
if (folderWidget) {
|
if (folderWidget) {
|
||||||
deckPreviewColorIdentityFilterWidget->filterWidgets(folderWidget->findChildren<DeckPreviewWidget *>());
|
deckPreviewColorIdentityFilterWidget->filterWidgets(folderWidget->findChildren<DeckPreviewWidget *>());
|
||||||
|
folderWidget->updateVisibility();
|
||||||
}
|
}
|
||||||
emit colorFilterUpdated();
|
emit colorFilterUpdated();
|
||||||
}
|
}
|
||||||
|
|
@ -215,6 +217,7 @@ void VisualDeckStorageWidget::updateSearchFilter()
|
||||||
if (folderWidget) {
|
if (folderWidget) {
|
||||||
searchWidget->filterWidgets(folderWidget->findChildren<DeckPreviewWidget *>(), searchWidget->getSearchText(),
|
searchWidget->filterWidgets(folderWidget->findChildren<DeckPreviewWidget *>(), searchWidget->getSearchText(),
|
||||||
searchFolderNamesCheckBox->isChecked());
|
searchFolderNamesCheckBox->isChecked());
|
||||||
|
folderWidget->updateVisibility();
|
||||||
}
|
}
|
||||||
emit searchFilterUpdated();
|
emit searchFilterUpdated();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue