feat(settings): add group dividers to tray-click action dropdowns#13
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughSettingsForm tray-click action dropdowns now include visual group dividers that partition actions into four logical categories. A separator constant and reorganized clickActions list introduce dividers, while WireTraySeparatorBounce prevents dividers from being selected by bouncing to adjacent real actions. ChangesTray action dropdown separators
🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ators # Conflicts: # UI/SettingsForm.cs
What
Adds visual group dividers to the Tray Click Actions dropdowns so the 18 actions read as four logical groups instead of one long flat list. Requested grouping:
Groups: primary (None / Auto-Login1 / Team1) · window + utility · extra Auto-Logins · extra Teams. Applies to all five click combos (Single / Double / Triple / Middle / Middle-Double).
How
SettingsForm.csonly, ~44 lines:private const string TrayActionSeparator— a U+2500 box-drawing line row.clickActionsreformatted to insert the divider at the three group boundaries.WireTraySeparatorBounce(ComboBox)— attaches aSelectedIndexChangedhandler that reverts to the last real selection if a divider is selected, wired to all five combos.Why it's safe (6-agent verification: 5 APPROVE, 1 minor concern)
TrayDisplayToActionwould pass it through andAppConfig.Validate's allowlist would reset to "None" — an unreachable backstop, not live data-loss.lastIndexstarts at 0 ("None") and is corrected byPopulateFromConfigon load; never holds a divider index.clickActionsexists anywhere — selection is bySelectedItemstring, so the added rows can't shift any logic.QuickLoginSlotsDialog.Known minor limitation
Like
QuickLoginSlotsDialog, arrow-key navigation can't cross a divider (it bounces back), so keyboard-only users can't reach items after a divider via arrows — mouse selection works fully. A follow-up could make the bounce skip past dividers in the direction of travel (and apply the same toQuickLoginSlotsDialogfor consistency) if keyboard navigation matters.Isolation
Branch off
main, built/committed in a dedicated worktree so the concurrent session's in-flight work onmainwas never touched. Independent of #11 / #12 (different file).Summary by CodeRabbit