feat(toolbar): match the Mac viewer’s document toolbar controls #18

Open
opened 2026-10-11 12:33:27 +00:00 by KofTwentyTwo · 7 comments
KofTwentyTwo commented 2026-10-11 12:33:27 +00:00 (Migrated from github.com)

The owner requests the same toolbar buttons as Darin Kelkhoff's macOS markdownViewr, using native Windows controls and the existing command paths.

Reference: ContentView.swift at inspected commit6d08bc9. The Mac default order is TOC, TOC Depth, spacer, Markdown Source, Zoom, Theme and Open in Editor. Print is also an available customizable toolbar item.

Acceptance:

  • Provide TOC show/hide, heading depth H1–H6, source show/hide, zoom minus/current percentage/plus, enabled-theme picker and Open in Editor in the reference order.
  • Include the reference's Print action through a native Windows toolbar/overflow equivalent; preserve its dialog/options behavior.
  • Keep toggle states/tooltips and selected depth/zoom/theme synchronized with menus, shortcuts, settings, active document and sibling-window changes.
  • Disable depth when TOC is hidden and show correct disabled/editor-choice states when no valid editor, one editor or multiple editors are configured.
  • Use suitable Windows icons, accessible names/tooltips, keyboard focus and responsive overflow at supported window sizes/DPI. Reuse existing handlers; toolbar actions must not bypass native ownership, resource isolation or literal editor arguments.
  • Verify actual toolbar actions, state synchronization, disabled states and narrow-window/DPI behavior in native/published and both installed channels; retain build/style/core-coverage gates.

Related: #1, #7, #9, #10, #11, #12, #13 and #17. Requested for this Windows version; implemented locally, with actual native/distributed acceptance and signed commit/push pending. Retain Darin's MIT credit for adapted behavior.

Substantial AI assistance: Codex (GPT-6).

The owner requests the same toolbar buttons as Darin Kelkhoff's macOS markdownViewr, using native Windows controls and the existing command paths. Reference: [ContentView.swift at inspected commit6d08bc9](https://github.com/darinkelkhoff/markdownViewr/blob/6d08bc9d27d7d7b2c2fa95bb282da330b8cf9021/markdownViewr/ContentView.swift). The Mac default order is TOC, TOC Depth, spacer, Markdown Source, Zoom, Theme and Open in Editor. Print is also an available customizable toolbar item. Acceptance: - Provide TOC show/hide, heading depth H1–H6, source show/hide, zoom minus/current percentage/plus, enabled-theme picker and Open in Editor in the reference order. - Include the reference's Print action through a native Windows toolbar/overflow equivalent; preserve its dialog/options behavior. - Keep toggle states/tooltips and selected depth/zoom/theme synchronized with menus, shortcuts, settings, active document and sibling-window changes. - Disable depth when TOC is hidden and show correct disabled/editor-choice states when no valid editor, one editor or multiple editors are configured. - Use suitable Windows icons, accessible names/tooltips, keyboard focus and responsive overflow at supported window sizes/DPI. Reuse existing handlers; toolbar actions must not bypass native ownership, resource isolation or literal editor arguments. - Verify actual toolbar actions, state synchronization, disabled states and narrow-window/DPI behavior in native/published and both installed channels; retain build/style/core-coverage gates. Related: #1, #7, #9, #10, #11, #12, #13 and #17. Requested for this Windows version; implemented locally, with actual native/distributed acceptance and signed commit/push pending. Retain Darin's MIT credit for adapted behavior. Substantial AI assistance: Codex (GPT-6).
KofTwentyTwo commented 2026-10-11 13:43:20 +00:00 (Migrated from github.com)

Implemented locally: native Windows toolbar follows Darin's TOC, H1–H6 depth, flexible space, source, minus/current-percentage/plus zoom, theme and external-editor order. Print uses native More overflow. Buttons share existing action paths; toggle/depth/zoom/theme state updates with menus, settings, ready documents and broadcasts. Depth is disabled with hidden TOC. Existing-editor filtering gives disabled/one-direct/multiple-choice states and retains literal file/folder arguments.

Explicit editor saves now merge against the copied baseline, check persistence and update every open reader plus its saved baseline, preventing a later local preference save from restoring an old editor list.

Four real acceptance cases are prepared: reading/menu synchronization; direct and named file/folder probe-process launches plus Print Cancel; narrow native overflow; and sibling editor launch followed by a local source preference save. They compile/discover only, with retained screenshot hooks; no desktop input ran.

Verified: full Release build has zero warnings/errors; format/hygiene pass. Fresh UI-project discovery finds75 cases (62 desktop,13 filesystem;74 installed). Core is unchanged since538 tests/100% measured line coverage. Current-head native/published/installed/DPI acceptance remains unverified; the running Debug app predates this work. Original staged corrections remain unchanged. Signed commit/push awaits the existing1Password authentication reply; GUI reproduction awaits the existing reservation reply.

References: pinned Mac toolbar, official native CommandBar/overflow guidance. This issue stays open for actual distributed acceptance.

Substantial AI assistance: Codex (GPT-6).

Implemented locally: native Windows toolbar follows Darin's TOC, H1–H6 depth, flexible space, source, minus/current-percentage/plus zoom, theme and external-editor order. Print uses native More overflow. Buttons share existing action paths; toggle/depth/zoom/theme state updates with menus, settings, ready documents and broadcasts. Depth is disabled with hidden TOC. Existing-editor filtering gives disabled/one-direct/multiple-choice states and retains literal file/folder arguments. Explicit editor saves now merge against the copied baseline, check persistence and update every open reader plus its saved baseline, preventing a later local preference save from restoring an old editor list. Four real acceptance cases are prepared: reading/menu synchronization; direct and named file/folder probe-process launches plus Print Cancel; narrow native overflow; and sibling editor launch followed by a local source preference save. They compile/discover only, with retained screenshot hooks; no desktop input ran. Verified: full Release build has zero warnings/errors; format/hygiene pass. Fresh UI-project discovery finds75 cases (62 desktop,13 filesystem;74 installed). Core is unchanged since538 tests/100% measured line coverage. Current-head native/published/installed/DPI acceptance remains unverified; the running Debug app predates this work. Original staged corrections remain unchanged. Signed commit/push awaits the existing1Password authentication reply; GUI reproduction awaits the existing reservation reply. References: [pinned Mac toolbar](https://github.com/darinkelkhoff/markdownViewr/blob/6d08bc9d27d7d7b2c2fa95bb282da330b8cf9021/markdownViewr/ContentView.swift), [official native CommandBar/overflow guidance](https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/command-bar). This issue stays open for actual distributed acceptance. Substantial AI assistance: Codex (GPT-6).
KofTwentyTwo commented 2026-10-11 14:13:27 +00:00 (Migrated from github.com)

Owner review feedback: Print must be a primary toolbar command, visible without opening More at normal widths. Replace the current highlighter icon on Themes with a color/theme icon so it does not imply text highlighting. Preserve native overflow only for genuinely narrow windows; update actual toolbar acceptance.

Owner review feedback: Print must be a primary toolbar command, visible without opening More at normal widths. Replace the current highlighter icon on Themes with a color/theme icon so it does not imply text highlighting. Preserve native overflow only for genuinely narrow windows; update actual toolbar acceptance.
KofTwentyTwo commented 2026-10-11 14:40:18 +00:00 (Migrated from github.com)

Implemented owner feedback locally: Print is now in the fixed visible toolbar area, outside dynamic overflow, so it remains directly available even at narrow widths. Theme uses the documented native Color glyph E790 instead of Highlight. The actual toolbar acceptance now asserts visible/enabled Print before opening More. Zero-warning Release build passes; actual desktop acceptance remains pending. Review-latest.md is open for owner feedback.

Implemented owner feedback locally: Print is now in the fixed visible toolbar area, outside dynamic overflow, so it remains directly available even at narrow widths. Theme uses the documented native Color glyph E790 instead of Highlight. The actual toolbar acceptance now asserts visible/enabled Print before opening More. Zero-warning Release build passes; actual desktop acceptance remains pending. Review-latest.md is open for owner feedback.
KofTwentyTwo commented 2026-10-11 14:57:38 +00:00 (Migrated from github.com)

Owner screenshot follow-up: the current toolbar has excess height, misaligned TOC/depth/Print controls and a large blank gap before reading commands. Rework it into one compact aligned native row, group related actions, keep Print fixed/visible, retain accessible labels/tooltips and theme identification, and preserve native overflow for narrow windows. Validate geometry and actions in real desktop/distributed acceptance; no new acceptance claim from a compile alone.

Owner screenshot follow-up: the current toolbar has excess height, misaligned TOC/depth/Print controls and a large blank gap before reading commands. Rework it into one compact aligned native row, group related actions, keep Print fixed/visible, retain accessible labels/tooltips and theme identification, and preserve native overflow for narrow windows. Validate geometry and actions in real desktop/distributed acceptance; no new acceptance claim from a compile alone.
KofTwentyTwo commented 2026-10-11 15:05:35 +00:00 (Migrated from github.com)

Screenshot feedback implemented locally: toolbar is a48-DIP native row, fixed TOC/depth/Print controls use aligned40-DIP hit targets, natural left alignment removes the large split-group gap, and separators group source/zoom/theme/editor commands. Print remains visible; native overflow/accessibility/tooltips remain. Actual DPI-normalized native geometry assertions and narrow-window Print visibility are prepared, not run.

Fresh owner preview: Review-toolbar-splash.md — MarkdownViewr, PID103040, output artifacts/splash-toolbar-review/bin/x64/Release/net10.0-windows10.0.19041.0/MarkdownViewr.Windows.exe. Its separate review profile enables a5000ms splash and Source, and disables startup update checks. Other owner windows were preserved.

Verification: zero-warning/error full Release build;570 core tests pass,100% measured line coverage; formatting and changed-doc lint pass.79 UI-project cases discovered (66desktop/13filesystem; expected78 per installed channel); actual new desktop/distributed acceptance has not run. Launch/document opening succeeded with no warnings in the profile log. Passive Computer Use inspection was unavailable because its native pipe was not found; no mouse/keyboard input occurred.

The original four staged corrections remain unchanged. Signed commits/push still await the pending1Password ready reply; no signing retry, merge, tag, release or Azure change. System Print handoff, PDF open actions, remaining full PRODUCT parity, standards and exact production-signature proof remain open.

Screenshot feedback implemented locally: toolbar is a48-DIP native row, fixed TOC/depth/Print controls use aligned40-DIP hit targets, natural left alignment removes the large split-group gap, and separators group source/zoom/theme/editor commands. Print remains visible; native overflow/accessibility/tooltips remain. Actual DPI-normalized native geometry assertions and narrow-window Print visibility are prepared, not run. Fresh owner preview: `Review-toolbar-splash.md — MarkdownViewr`, PID103040, output `artifacts/splash-toolbar-review/bin/x64/Release/net10.0-windows10.0.19041.0/MarkdownViewr.Windows.exe`. Its separate review profile enables a5000ms splash and Source, and disables startup update checks. Other owner windows were preserved. Verification: zero-warning/error full Release build;570 core tests pass,100% measured line coverage; formatting and changed-doc lint pass.79 UI-project cases discovered (66desktop/13filesystem; expected78 per installed channel); actual new desktop/distributed acceptance has not run. Launch/document opening succeeded with no warnings in the profile log. Passive Computer Use inspection was unavailable because its native pipe was not found; no mouse/keyboard input occurred. The original four staged corrections remain unchanged. Signed commits/push still await the pending1Password ready reply; no signing retry, merge, tag, release or Azure change. System Print handoff, PDF open actions, remaining full PRODUCT parity, standards and exact production-signature proof remain open.
KofTwentyTwo commented 2026-10-11 16:33:30 +00:00 (Migrated from github.com)

Owner review follow-up — 2026-10-11

The owner requests removing the toolbar H1–H6 depth dropdown because depth selection already exists in the table of contents. Keep the TOC's depth control.

Contents and Print should use icon + text labels consistently with the other toolbar commands. The prior fixed icon-only layout is not accepted. Preserve visible Print, clear command grouping, aligned control heights and useful native overflow at narrow sizes.

Recorded as pending during paused review. No implementation or new visual-acceptance claim.

## Owner review follow-up — 2026-10-11 The owner requests removing the toolbar H1–H6 depth dropdown because depth selection already exists in the table of contents. Keep the TOC's depth control. Contents and Print should use icon + text labels consistently with the other toolbar commands. The prior fixed icon-only layout is not accepted. Preserve visible Print, clear command grouping, aligned control heights and useful native overflow at narrow sizes. Recorded as pending during paused review. No implementation or new visual-acceptance claim.
KofTwentyTwo commented 2026-10-11 19:20:21 +00:00 (Migrated from github.com)

Signed/DCO commit05bf612 is pushed to feat/windows-viewer/PR#3. It fixes the full-page outer body width reset, aligns Contents/Print with the other48px toolbar hit targets, uses the observed exact Open picker filename field1148 and tests the actual outline-depth control. Pixel checks sample the owned WebView; native width/scroll/font assertions are unchanged and now retain precise failure evidence. No cases are skipped.

Local gates: zero-warning Release build,586 core tests,100% measured core line coverage, full formatting and all commit/security/workflow hooks pass. Exact prior CI38166230860: source-hover passes; full native74/97,23failures,0skips; published suite exceeds600seconds before installed outcomes. A focused hosted reader-regressions job now covers these current paths alongside the full suite. Native/distributed/signature/review/release acceptance is still pending; no production release published.

Owner preview PID55472 remains responsive and untouched. Its portable output predates the latest candidate fixes. Existing Azure setup is preserved; precise repository-specific verification, immutable OIDC trust and profile-scoped role commands are in docs/azure-signing-admin.md, with no Azure mutations performed.

Signed/DCO commit05bf612 is pushed to feat/windows-viewer/PR#3. It fixes the full-page outer body width reset, aligns Contents/Print with the other48px toolbar hit targets, uses the observed exact Open picker filename field1148 and tests the actual outline-depth control. Pixel checks sample the owned WebView; native width/scroll/font assertions are unchanged and now retain precise failure evidence. No cases are skipped. Local gates: zero-warning Release build,586 core tests,100% measured core line coverage, full formatting and all commit/security/workflow hooks pass. Exact prior CI38166230860: source-hover passes; full native74/97,23failures,0skips; published suite exceeds600seconds before installed outcomes. A focused hosted reader-regressions job now covers these current paths alongside the full suite. Native/distributed/signature/review/release acceptance is still pending; no production release published. Owner preview PID55472 remains responsive and untouched. Its portable output predates the latest candidate fixes. Existing Azure setup is preserved; precise repository-specific verification, immutable OIDC trust and profile-scoped role commands are in docs/azure-signing-admin.md, with no Azure mutations performed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/MarkdownViewr.Windows#18