Skip to content

Integrate ktsu ecosystem libraries into SchemaEditor#6

Open
matt-edmondson wants to merge 12 commits intomainfrom
feature/ktsu-ecosystem-integration
Open

Integrate ktsu ecosystem libraries into SchemaEditor#6
matt-edmondson wants to merge 12 commits intomainfrom
feature/ktsu-ecosystem-integration

Conversation

@matt-edmondson
Copy link
Contributor

Summary

  • IntervalAction: Replace manual DateTime debounce with IntervalAction.Start() for auto-save options (15 lines removed)
  • UndoRedo: Wrap all 12 add/delete mutations across tree views with DelegateCommand, add Edit menu with Undo/Redo, add Restore* methods to Schema and SchemaClass for undo support, wire save boundaries
  • Keyboard shortcuts: Add Ctrl+Z/Ctrl+Shift+Z (undo), Ctrl+Y (redo), Ctrl+S (save), Ctrl+N (new), Ctrl+O (open) with shortcut hints in menus
  • Package references: Add ktsu.UndoRedo.Core, ktsu.Keybinding.Core, ktsu.IntervalAction, ktsu.FuzzySearch, ktsu.DeepClone

FuzzySearch and Extensions were already integrated via existing dependencies (TextFilter and ToCollection).

Test plan

  • Build succeeds with zero warnings/errors
  • All 121 existing tests pass
  • Verify undo/redo works for add/delete class, enum, member, data source, code generator
  • Verify keyboard shortcuts work (Ctrl+Z, Ctrl+Y, Ctrl+S, Ctrl+N, Ctrl+O)
  • Verify auto-save options still debounces correctly via IntervalAction

matt-edmondson and others added 12 commits February 10, 2026 15:58
Add UndoRedo.Core, Keybinding.Core, IntervalAction, FuzzySearch,
DeepClone packages to support upcoming editor features.
Replace DateTime-based debounce pattern (3 properties + SaveOptionsIfRequired)
with IntervalAction polling on a 3-second interval and a simple dirty flag.
Add UndoRedoService to SchemaEditor with Edit menu (Undo/Redo).
Wrap all add/delete operations in tree views with DelegateCommand.
Add Restore* methods to Schema and SchemaClass for undo support.
Wire save boundaries on file save and clear on new/open.
Add Ctrl+Z/Ctrl+Shift+Z for undo, Ctrl+Y for redo, Ctrl+S for save,
Ctrl+N for new, Ctrl+O for open. Show shortcut hints in menu items.
Skip text input fields when processing shortcuts.
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot
0.0% Coverage on New Code (required ≥ 80%)
3.4% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

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