Skip to content

Bug: quickfiler-folder-selector-dropdown #400

Description

@drmoisan
  • Work Mode: full-bug

Summary

QuickFiler's WebView-based folder selector does not preserve the user-visible behavior of the Windows Forms drop-down control it replaced. The collapsed control can hide the selected folder and its probability, displays in-place vertical scrolling instead of a drop-down affordance, and does not provide the former Up, Down, Enter, and Escape selection behavior.

Environment

  • OS/version: Windows; QuickFiler desktop add-in
  • Runtime: .NET Framework WinForms with Microsoft WebView2
  • UI path: QuickFiler item viewer folder selection widget
  • Data source or fixture: FolderPredictor suggestions and their existing FolderRow probability scores

Steps to Reproduce

  1. Open QuickFiler for an item that produces multiple folder suggestions with probability scores.
  2. Observe the folder selector while it is collapsed after a non-first suggestion is selected.
  3. Use the control's right-side affordance and the Up, Down, Enter, and Escape keys.
  4. Place the QuickFiler window near both the top and bottom of the working area and open the selector.

Expected Behavior

  • The collapsed control shows exactly one row: the selected folder and its probability percentage.
  • The right side shows one drop-down arrow and no in-place vertical scroll arrows.
  • Activating the drop-down arrow opens a list above adjacent controls, extending downward when the available working-area space permits and upward otherwise.
  • Up and Down change the pending selected item rather than scrolling content.
  • Enter accepts the pending selection and closes the list; Escape closes the list and restores the selection that was active when the list opened.
  • Mouse and keyboard behavior matches the former Windows Forms DropDownList interaction contract.

Actual Behavior

  • The selected row can remain outside the visible 25-pixel WebView viewport while another row is shown.
  • The embedded page exposes vertical scrolling controls and scrolls rows in place.
  • There is no dedicated drop-down arrow or overlay list that can cross neighboring layout cells.
  • Up, Down, Enter, and Escape do not implement the former combo-box selection and commit/cancel behavior.
  • The probability percentage supplied with each FolderRow is not visible in the widget.

Logs / Screenshots

  • Attached minimal logs or screenshot
  • Code inspection: QuickFiler/Resources/FolderBreadcrumb.html renders all rows into the fixed-height WebView, does not suppress vertical overflow, and handles only Left and Right key events. QuickFiler/Viewers/ItemViewer.Designer.cs fixes the host control at a single-row height.

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

Source

From: docs/features/potential/2026-07-21-quickfiler-folder-selector-dropdown.md

Activity

  1. added 20 commits that reference this issue on Aug 3, 2026
  2. drmoisan commented on Aug 8, 2026

    @drmoisan
    OwnerAuthor

    Delivered by #416 (merged 2026-08-04, merge commit 8761609). The PR body did not use a closing keyword, so this issue was not auto-closed.

    Verified against origin/main:

    • QuickFiler/Viewers/BreadcrumbDropDownHost.cs and QuickFiler/Viewers/BreadcrumbPopupUiOperations.cs implement an ItemViewer-owned ToolStripDropDown popup hosting a lazily initialized WebView2, with the existing WebView retained as the collapsed one-row anchor.
    • QuickFiler/Viewers/BreadcrumbPopupPlacement.cs supplies host-neutral placement from anchor bounds and monitor working area, so the list extends downward or upward as space permits.
    • QuickFiler/Viewers/BreadcrumbDropDownOpenLifetime.cs separates committed, original-at-open, and pending selection state, giving the Enter-commit and Escape-restore contract.
    • QuickFiler/Resources/FolderBreadcrumb.html maps ArrowUp, ArrowDown, Enter, and Escape to selection actions and sets overflow-y: hidden on the collapsed surface.
    • The feature audit on the delivering branch reported 19 of 19 acceptance criteria passing.

    Closing as delivered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions