mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-08 02:53:25 -08:00
[Icons] Migrate UI glyphs to palette-token SVGs
Runtime inversion is not a theming system: it rotates hue, breaks duotone art and mishandles alpha, and a QPixmap snapshot cannot follow a palette change. Redraw the top-level UI glyph set on a 24x24 grid with `currentColor` as the paint token, drop Inkscape/Sodipodi cruft, and delete the icons whose metaphor was duplicated (cogwheel/gear -> settings, scale_balanced -> scales, update.png -> reload). Load the glyphs through `loadThemedIcon` so the engine resolves the token from the palette on every request, and let `themePixmap` use the same resolution for one-shot pixmaps. `loadColorAdjustedPixmap` is gone; every caller now keeps a QIcon, which `SettingsButtonWidget::setButtonIcon` accepts instead of a QPixmap. Content art (mana, counters, countries) keeps its authored colors. Add a render test covering aspect ratio, palette flips, icon modes and high-DPI pixmaps.
This commit is contained in:
parent
eb7e866211
commit
8849c11f66
95 changed files with 535 additions and 9681 deletions
|
|
@ -1,7 +1,7 @@
|
|||
#include "game_selector.h"
|
||||
|
||||
#include "../../../client/settings/cache_settings.h"
|
||||
#include "../../pixel_map_generator.h"
|
||||
#include "../../theme_icon.h"
|
||||
#include "../interface/widgets/dialogs/dlg_create_game.h"
|
||||
#include "../interface/widgets/dialogs/dlg_filter_games.h"
|
||||
#include "../interface/widgets/tabs/tab_room.h"
|
||||
|
|
@ -129,10 +129,10 @@ GameSelector::GameSelector(AbstractClient *_client,
|
|||
}
|
||||
|
||||
filterButton = new QPushButton;
|
||||
filterButton->setIcon(themePixmap(QStringLiteral("icons/search")));
|
||||
filterButton->setIcon(loadThemedIcon(QStringLiteral("icons/search")));
|
||||
connect(filterButton, &QPushButton::clicked, this, &GameSelector::actSetFilter);
|
||||
clearFilterButton = new QPushButton;
|
||||
clearFilterButton->setIcon(themePixmap(QStringLiteral("icons/clearsearch")));
|
||||
clearFilterButton->setIcon(loadThemedIcon(QStringLiteral("icons/clearsearch")));
|
||||
bool filtersSetToDefault = showFilters && gameListProxyModel->areFilterParametersSetToDefaults();
|
||||
clearFilterButton->setEnabled(!filtersSetToDefault);
|
||||
connect(clearFilterButton, &QPushButton::clicked, this, &GameSelector::actClearFilter);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue