Skip to content

PageRowGlobalToolBarUI: don't animate opacity, take two

This work was originally attempted in 67ec2a18 but that had to be reverted as it caused regressions. This commit atteampts the same fix, but without any regressions, and based on a better understanding of the problem and how this fixes it. Details below:

The problem here is that the breadcrumbs view is in a loader that's not active by default; when the pagerow header style is breadcrumbs, it will get loaded a few milliseconds after the rest of the page loads. This causes a brief, barely noticeable but nonetheless noticeable flicker. The existing code attempts to hide this by animating the opacity. However this does not work because only the breadcrumbs content is animated; the background is not. So the breadcrumbs and background have two different transitions, which looks weird. Even if this were fixed, there is a bigger conceptual problem: having the background transition along with the content would make the entire header seem to appear and disappear.

So the best transition in this case is no transition and an instant appearance and disappearance. Due to the use of a loader, this cannot be guaranteed and so there will always be a very brief flicker. This does not seem fixable without fundamental refactoring of how page headers work in Kirigami.

Accordingly, this commit simple removes all animated transitions and has the content appear instantly as soon as the loader is finished loading.

BUG: 417636 FIXED-IN: 5.89

cc @carlschwan

Merge request reports