feature: Support Multiple Rulers#246
Open
pascalpp wants to merge 38 commits into
Open
Conversation
…state management updates
…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.
This was referenced Jun 19, 2026
Owner
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
… 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.
This was referenced Jun 19, 2026
Merged
* 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.
This was referenced Jun 19, 2026
* 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.
…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.
* 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

No description provided.