Skip to content

Drag-to-reorder bindings in the Click-Casting Active Bindings list#38

Open
azjthomasfamily wants to merge 1 commit into
DanderBot:mainfrom
azjthomasfamily:feat/reorder-bindings
Open

Drag-to-reorder bindings in the Click-Casting Active Bindings list#38
azjthomasfamily wants to merge 1 commit into
DanderBot:mainfrom
azjthomasfamily:feat/reorder-bindings

Conversation

@azjthomasfamily
Copy link
Copy Markdown

Summary

  • Adds a thin drag handle on the left edge of each row in the Click-Casting Active Bindings list
  • Dragging shows a floating ghost + insert-position line; drop reorders the binding in db.bindings
  • Disabled bindings keep their original slots; reorder only shuffles the visible set
  • After drop, runs the same follow-up as delete: ApplyBindingsRefreshActiveBindingsRefreshSpellGrid

Why

The list today reflects the chronological order bindings were added. This lets users group them logically (e.g. Left / Middle / Right, then modifier variants).

Test plan

  • Drag rows up and down — order persists after reload
  • Dropping on the source slot is a no-op
  • Row click-to-edit still works (handle is a child button; drag only triggers from the handle)
  • Existing delete flow unaffected
  • Verify with a profile that has disabled bindings mixed in

Notes

  • Collapsed-mode rows (left-panel collapsed) don't have a drag handle — intentional
  • New locale string: L["Drag to reorder"]
  • Changelog entry under ## [Unreleased]

@azjthomasfamily azjthomasfamily force-pushed the feat/reorder-bindings branch 2 times, most recently from 0f1991d to 9198e9e Compare April 27, 2026 14:25
@azjthomasfamily azjthomasfamily force-pushed the feat/reorder-bindings branch 6 times, most recently from e2abdca to 8668ff2 Compare May 2, 2026 20:20
Adds a thin drag handle on the left edge of each binding row. Clicking
and dragging the handle shows a floating ghost that follows the cursor
plus an insert-position line, letting users reorder bindings in
whatever order they prefer (e.g. Left / Middle / Right, then modified
variants) instead of the chronological add order.

Disabled bindings keep their original slots; reordering only shuffles
the visible set and merges back into db.bindings. After drop:
ApplyBindings, RefreshActiveBindings, RefreshSpellGrid — same flow
used by the delete button.
@azjthomasfamily azjthomasfamily force-pushed the feat/reorder-bindings branch from 8668ff2 to d8970d1 Compare May 9, 2026 21:35
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