Origin of idea
Every mod list mutation (check/uncheck, reorder) is immediately committed to ModsConfig.xml with no revert path. A single misclick can lose desired state.
Suggestion / proposed solution
Implement QUndoStack / QUndoCommand in the mod list panel. Wrap each mod toggle, reorder, enable/disable as an UndoCommand. Wire Ctrl+Z / Ctrl+Y (or Ctrl+Shift+Z). Save clear undo stack on successful write to ModsConfig.xml.
Alternatives considered
- Snapshot-based undo (store full mod list copies) — simpler but memory-heavy for large lists
Additional context
core/mod_service.py and ui/panels/mod_list_panel.py
Origin of idea
Every mod list mutation (check/uncheck, reorder) is immediately committed to ModsConfig.xml with no revert path. A single misclick can lose desired state.
Suggestion / proposed solution
Implement QUndoStack / QUndoCommand in the mod list panel. Wrap each mod toggle, reorder, enable/disable as an UndoCommand. Wire Ctrl+Z / Ctrl+Y (or Ctrl+Shift+Z). Save clear undo stack on successful write to ModsConfig.xml.
Alternatives considered
Additional context
core/mod_service.py and ui/panels/mod_list_panel.py