Skip to content

Refactor: Remove LegacyRulerWindow and related constructs#259

Merged
pascalpp merged 2 commits into
pascal/228-feature-multiple-rulersfrom
codex/251-remove-legacy-ruler-window
Jun 20, 2026
Merged

Refactor: Remove LegacyRulerWindow and related constructs#259
pascalpp merged 2 commits into
pascal/228-feature-multiple-rulersfrom
codex/251-remove-legacy-ruler-window

Conversation

@pascalpp

@pascalpp pascalpp commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Remove LegacyRulerWindow and the old standalone ruler window/controller path.
  • Centralize ruler behavior in RulerWindow/RulerController, with each ruler capable of showing its horizontal wing, vertical wing, or both.
  • Rename the grouped-ruler concepts so G now represents grouped dragging only, and update unit/UI coverage for the unified ruler-window model.

Verification

  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" test -only-testing:FreeRulerTests
  • xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" test -only-testing:FreeRulerUITests

Closes #251

…lerController, updating related window handling and layout structures. Rename grouped ruler references to align with new architecture, enhancing clarity and maintainability. Remove LegacyRulerWindow and adjust associated tests for consistency.

pascalpp commented Jun 19, 2026

Copy link
Copy Markdown
Owner Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@pascalpp pascalpp changed the title Refactor ruler management by replacing GroupedRulerController with RulerController, updating related window handling and layout structures. Rename grouped ruler references to align with new architecture, enhancing clarity and maintainability. Remove Legac Refactor: Remove LegacyRulerWindow and related constructs Jun 19, 2026
…nces window

* Implemented writing of active settings state in UITestSupport for better UI testing.
* Added accessibility identifier to the preferences window for improved accessibility.
* Updated UITests to reflect changes in ruler window references and ensure consistent behavior across tests.
@pascalpp

Copy link
Copy Markdown
Owner Author

[codex reviewer] Reviewed this against pascal/228-feature-multiple-rulers.

No blocking findings. I focused on the legacy-window removal path: saved-state restore/migration, active ruler settings, per-ruler redraw behavior, close/toggle/reset hotkeys, and the UI-test identifier updates. The direct diff looks internally consistent; the remaining legacy window/controller surface is gone, and RulerSettings overrides continue to keep per-ruler drawing independent from prefs changes.

Verification: xcodebuild -project "Free Ruler.xcodeproj" -scheme "Free Ruler" build CODE_SIGNING_ALLOWED=NO passes on the cumulative stack. The normal focused unit-test command could not complete locally because Xcode failed while signing the app due the nested FreeRulerTests.xctest bundle being unsigned; retrying with signing disabled launched an unsigned test host that exited before XCTest connected.

@pascalpp pascalpp marked this pull request as ready for review June 20, 2026 01:18
@pascalpp pascalpp merged commit 3363dc3 into pascal/228-feature-multiple-rulers Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant