Implement save/re-open crosswords
Context
Implements #39 (closed).
What has changed?
Main Changes
puzzle-codec-xd
- A codec for the xd format, a text crossword puzzle format
spi-puzzle-repository
- New
spi-puzzle-repository
defining a CRUD puzzle storage
puzzle-repository-memory-plugin
- An implementation of
spi-puzzle-repository
that works purely in memory. First implementation made, only used for tests.
puzzle-repository-filesystem-plugin
- An implementation of
spi-puzzle-repository
that works with files on disk.
spi-presenter
- Added
PuzzlePresenter
gather puzzle repository-related presentation method definitions
common
- Added puzzle types
core
- Added puzzle service that allows to manage saved puzzles. Mainly boilerplate to interact with the puzzle repository and the presenter
- Added the possibility to save puzzle on a solve request.
tests
- Added tests for the puzzle service
cli
- Implemented control and presentation.
gui
- Implemented control and presentation. Highlights:
- New welcome screen allowing to visualize puzzle in repository, select a puzzle to edit or to delete from repository
- New left pane to edit puzzle details
- New save buttons
Side Effects
common
- Breaking changes, moved types around, reworked types
gui-*
- Lots of changes going from icon theme update to cutting the dependency between
gui-view-model
andcommon
Reviewers
The MR is huge. Development was actually made in smaller chunks: See #39 (closed) for list of individual MRs.
Let's see how things fit together now. Hopefully, there won't be big surprises at this point.
Edited by Antoine Belvire