Skip to content

feature: Support Multiple Rulers#246

Open
pascalpp wants to merge 38 commits into
mainfrom
pascal/228-feature-multiple-rulers
Open

feature: Support Multiple Rulers#246
pascalpp wants to merge 38 commits into
mainfrom
pascal/228-feature-multiple-rulers

Conversation

@pascalpp

Copy link
Copy Markdown
Owner

No description provided.

pascalpp added 21 commits June 19, 2026 01:47
…for improved accuracy and consistency; update related test cases to reflect changes.
… improved accuracy; introduce custom crosshair cursor with bitmap image representation and update related tests.
…t for resizing behavior with zeroCorner override in RulerCoreTests.
…mplement activation logic in relevant classes and tests.

pascalpp commented Jun 19, 2026

Copy link
Copy Markdown
Owner Author

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

@pascalpp pascalpp changed the title Update README.md feature: Support Multiple Rulers Jun 19, 2026
pascalpp added 3 commits June 19, 2026 11:19
… adjust opacity handling and update UI elements accordingly. Modify RulerSettingsControlsView.xib for improved layout of text fields. Enhance RulerCoreTests to validate opacity settings and window alpha values.
…implement updateDimensions method in GroupedRulerController. Enhance localization for dimensions and unit labels. Update preferences to store default ruler dimensions. Adjust UI layout in Preferences and Ruler Settings windows for better usability.
…update dimension handling in PreferencesController and associated tests. Enhance user input handling for dimensions in various units, ensuring accurate conversions and display.
pascalpp added 6 commits June 19, 2026 15:18
* Stagger new rulers from occupied defaults

* Fix new ruler stagger direction
* Constrain ruler settings controls

* Move ruler settings controls into xib

* Update layout and dimensions in Preferences and Ruler Settings UI; adjust frame sizes and positions for better alignment and usability across various views.

* Update ruler settings layout test

* Refine layout of RulerSettingsControlsView by adjusting button positioning and adding constraints for improved alignment and responsiveness.
pascalpp added 3 commits June 19, 2026 21:45
* 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 LegacyRulerWindow and adjust associated tests for consistency.

* Add preference state writing and accessibility identifier for preferences 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.
* Introduced `drawsActiveBorder` property to `RulerWindow` and `RulerContentView` to manage the visibility of an active border.
* Updated `RulerWindowBorderView` to draw an active border based on the new property.
* Implemented logic in `RulerManager` to ensure only the active ruler displays the active border.
* Added unit test to verify active border behavior for active and inactive rulers.
* Changed localization keys from plural to singular for better accuracy: "RulersFloated" to "RulerFloated" and "RulersUnfloated" to "RulerUnfloated".
* Updated UI labels and comments in multiple languages to reflect the singular form.
* Adjusted related test cases to ensure consistency with the new localization keys.
pascalpp added 2 commits June 19, 2026 22:50
…ionality (#262)

* Changed the default value of `defaultGroupRulers` to false in `Prefs.swift`.
* Added methods in `RulerManager` to manage the attachment and detachment of grouped drag followers, improving the handling of ruler windows during grouped dragging.
* Updated UI tests and unit tests to reflect the new default behavior for group rulers and ensure proper functionality of grouped dragging.
* Adjusted preferences initialization in `UITestSupport` to align with the new default setting.
* Updated the layout of the preferences box and its content view for improved alignment and usability.
* Removed ambiguous attributes and added explicit constraints for the ruler settings controls to enhance responsiveness.
* Adjusted dimensions of the preferences box and its subviews to ensure consistent appearance across different screen sizes.
pascalpp added 3 commits June 22, 2026 23:30
* Simplified mouse location updates in AppDelegate by removing unnecessary rounding.
* Introduced dedicated methods in HorizontalRule and VerticalRule for rounding mouse coordinates, enhancing code clarity and maintainability.
* Added unit tests to verify the rounding functionality for mouse coordinates in ruler classes.
* Added `setApplicationActive` method to `RulerManager` to manage the application's active state.
* Updated `AppDelegate` to call `setApplicationActive` on application activation and deactivation.
* Modified `updateActiveRulerBorders` to reflect the application's active state when drawing borders for rulers.
* Added unit tests to verify the behavior of active borders based on application state.
* Replaced direct usage of `UserDefaults.standard` with a custom `Prefs.userDefaults` to support isolated user defaults for unit tests.
* Updated `AppDelegate`, `UITestSupport`, and various test cases to utilize the new user defaults management approach.
* Enhanced `Prefs` class to configure user defaults based on the environment, improving test isolation and maintainability.
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