* Try to better reproduce pre-provider ID behavior
If "override all card art with personal preference" setting is set, look
for custom art for all sets instead of just the most preferred set.
* Warning when using both custom art and the printing selector
* QDirIterator::nextFileInfo is Qt 6.3+
* Translation
`refreshTags` is not connecting the signal to open the dialog to edit
the tags, so tags can only be edited once for a given deck.
Fix by only having the logic for creating the "Edit tags" button once
and call it from `connectDeckList`.
C++ does not require compilers to zero-initialize value types, so
depending on the platform (here: Linux), the deck editor starts up with
an uninitialized value in the `modified` flag, which is usually not
zero.
* Close the `TabGame`s when closing the `TabSupervisor`
This ensures that we go through the same code path (in terms of Qt
events) when closing the whole supervisor as when closing a single tab.
Also, use the `close` event instead of the `hide` event to detect when
we are closing a game.
Fixes#5697
* Compat with old Qt versions
* Old Qt, reloaded
* Review: use hideEvent and call super
* Use enum for ThemeManager brushes
This patch introduces an enum to distinguish the different brushes that
can be set by the theme (hand, stack, etc.) and generic functions taking
the enum rather than having one copy of each function for each brush.
This is preliminary work before merging StackZone and HandZone to
simplify #4974.
* Include <array> header
* Header spacing
* remove recursion from flattenFolderStructure
findChildren is already recursive by default
* 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
* reduce redundant recursion in updateVisibility
findChildren is recursive by default, so only the top-level updateVisibility needs to loop through the found children
* delete now-unused signals
* implement functionality in dlg
* add action to deck editor
* refactor and comments
* is this refactor even a good idea?
* remove the friend class stuff
* reorder
* add option for not annotated
* Make BannerWidget's dropdown icon more robust
* use isHidden
Otherwise, it doesn't work correctly if the BannerWidget is offscreen
* don't show icon if there's no buddy
* Implement new method for DeckList to return cardlist with providerId, a new carddatabase method to fetch a cardlist with name and providerId and changed PictureLoader to use providerId versions of cards for caching.
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Generify TabDeckEditor.
* Connect dockTopLevelChanged signals.
* Connect eventFilters.
* Remove comments.
* Fix ze build (accidentally deleted a line)
* Fix some pointer chaining.
* Be a lot saner about some signals/slots, as in, individual Deck Editor widgets now internally determine their CardInfo and then simply communicate this to the DeckEditor
* Lint.
* DeckDock can handle its own menu.
* DeckDock can handle its own decrement.
* DeckDock now notifies the deck editor on deck change, instead of individually modifying menu items and modification status.
* Rename.
* Include pixelmap generator for icon.
* Directly use an AbstractTabDeckEditor as parent.
* Move clearing database filter into signal/slot relation.
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>