From 4d96bdcbcf6b91c017be770d43c1a84c77a6a72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Tue, 20 Oct 2026 13:01:20 +0200 Subject: [PATCH] Refresh filter toolbar label icons on theme change The Sort by and Filter by labels kept a one-shot pixmap snapshot, so they stayed at the previous palette until the toolbar was rebuilt. Re-render both snapshots when the palette or theme changes. --- ...visual_database_display_filter_toolbar_widget.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp index ecb949b67..1de9ff51e 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_filter_toolbar_widget.cpp @@ -1,6 +1,7 @@ #include "visual_database_display_filter_toolbar_widget.h" #include "../../theme_icon.h" +#include "../../theme_manager.h" #include "../deck_editor/card_database_view.h" #include "../quick_settings/settings_button_widget.h" #include "card_database_display_model.h" @@ -48,10 +49,15 @@ VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidg auto scalePixmap = [](const QString &prefix) { return loadThemedIcon(prefix).pixmap({20, 20}); }; sortByLabel = new QLabel(this); - sortByLabel->setPixmap(scalePixmap("icons/sort_arrow_down")); - filterByLabel = new QLabel(this); - filterByLabel->setPixmap(scalePixmap("icons/filter")); + + auto refreshStaticPixmaps = [this, scalePixmap] { + sortByLabel->setPixmap(scalePixmap("icons/sort_arrow_down")); + filterByLabel->setPixmap(scalePixmap("icons/filter")); + }; + refreshStaticPixmaps(); + connect(themeManager, &ThemeManager::paletteChanged, this, refreshStaticPixmaps); + connect(themeManager, &ThemeManager::themeChanged, this, refreshStaticPixmaps); sortColumnCombo = new QComboBox(this); sortColumnCombo->setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy::AdjustToContents);