Skip to content

QuickLook-Next 5.4.0

Choose a tag to compare

@Adstrax Adstrax released this 26 Sep 11:39
· 0 commits to lite since this release

Plugin manager: a search box

25 plugins are past the point where scrolling is a search interface. The box sits under the title,
the caret is already in it when the panel opens, and typing filters name and description as you
go:

  • with matches, the status line reads "3 of 25 shown.";
  • with none, "No plugin matches “xxx”.";
  • Esc clears the filter first, closes the panel second;
  • Tab cycles inside the panel instead of walking into the rest of the app.

Fixed: the top bar blinked while the pointer rested on it

Two mechanisms were fighting: the bar's show animation started a "hide after 1 s" when it
finished, while a 100 ms poll re-showed the bar the moment the pointer was inside the top zone —
so with the pointer parked on the bar it faded out and back in forever. It had always done that; it
only became visible now because the scrim added in 5.3.0 makes the fade obvious.

Visibility is one rule again: the bar is shown while the pointer is in the top zone and hidden
once it leaves
(with the ~1 s grace it always had, so brushing past it does not flash). Measured
from the diagnostic log:

scenario shows hides
pointer parked on the bar for 6 s 1 0
pointer moved away for 3 s 1 1

Before the fix it re-showed once per second. The decision lives in Helpers/TopBarVisibility with a
unit test behind it.

Accessibility: keyboard focus, reduced motion, screen-reader names

  • Visible keyboard focus. The panel buttons had no focus state at all (the custom templates ate
    the system focus rectangle); they now draw an accent outline when focused.
  • Reduced motion is honoured. The caption bar fade, the first content fade and the window show
    transition all check Windows' animation setting (Settings → Accessibility → Visual effects). Turn
    it off and they appear instantly; the app's own ShowWindowTransition option still applies on top
    (both have to allow it). The busy spinner is deliberately untouched — that is information, not
    decoration.
  • Screen-reader names. The preview caption is icon-only, so every button carries an
    AutomationName taken from its tooltip; the panel buttons get one from their label (a custom
    template hides the content text from assistive tech), and the plugin manager's uninstall button
    names the plugin it removes.

Also: one button template instead of four

The update prompt, the download panel, data & cache and the OCR panel each carried a copy of the
same button template (20 lines × 4) — which is exactly how they ended up with three hover
treatments and no focus state. They now share Helpers/PanelStyles (hover, press, focus ring and
the opacity helper).

Verification

  • Unit tests 90/90 (three new: the animation-switch combination, the top-bar visibility rule,
    and a wiring check).
  • Search measured: typing mark leaves MarkdownViewer with "1 of 25 shown."; Esc restores the
    full list.
  • Focus ring measured: two Tabs land on the close button with an accent outline.
  • Packaged build ran image and Markdown previews with an empty log; in-package version 5.4.0.

Upgrading

Version 5.4.0. Functional behaviour is the same as 5.3.0 (low memory mode, OCR and the preview
sizing logic are untouched); this release is plugin search, accessibility, and the top-bar flicker
fix. Automatic update installs straight over the top.