Fix flashing when opening the stats, empty cards or find dupes dialogs #3928
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There's a slight visual regression (sorry!) after #3925 whereby the aforementioned dialogs flash more(?) after opening
AnkiWebView.set_kind
now potentially sets a new page,and it flashes despite setting its background colour immediately after.set_kind
needs to be called for those dialogs because their forms are codegen'd from qt ui designer files, which, as far as i can tell from the schema, don't seem to allow passing in custom arguments directly to widget constructorsThe fix proposed here is to replace the webview widgets in those ui files with subclasses that have the correct kind filled in, to avoid callingset_kind
after initAfter this, only the legacy deck stats would still call it (and use the hack inset_kind
), as it shares the same form (and webview widget) with the "new" deck statsEDIT: I've overthought this by overlooking that the page's background colour wasn't set again after
set_kind
sets a new page, adding it seems to have gotten rid of the flashes