Revision 866314
Go back to digest for 5th October 2008Other in Games
The result of yesterday's hackathon (6 hours in a train): Break Palapeli's interface completely.
Most prominently, this revision introduces true persistency: Every change on the puzzle table is immediately written to the state config file.
In detail:
* Puzzle archives have a new format, new suffix (.psga -> .pala), and may only contain one puzzle at once.
* In the new Library, cut off file finding into a LibraryBase class, with two bases for the puzzle library and puzzle archives. The foundation is laid for MIME integration (open .pala archives from Konqueror) and a KPart (open .pala archives in Konqueror).
* Move everything to the new Library implementation, along with new implementations for Open and Export actions.
* Remove the left progress bar. The status bar contains only the puzzle progress bar now.
* Remove the on screen interface (replaced by a dialog-based one with less size hinting issues). The code base is kept in SVN for research on a replacement for the dock widgets.
* Updated TODO list, and some bugfixes here and there. Also, all standard puzzles are now using the jigsaw-puzzle pattern.
Missing points:
* Interfaces for puzzle creation and import. The "New" puzzle dialog is still working, but does not do anything. For import, more work on the LibraryBase class is required; I will probably add the possibility to import into a LibraryBase generically (the LibraryArchiveBase::create method will be an implementation of this method).
* I'm unsure whether the piece positions or the state of piece relations should be saved. At the moment, both are saved, but only piece positions are read (because they restore the relations' states correctly).
Some of these issues should be addressed during my next hackathon on Sunday.
File Changes
- /trunk/playground/games/palapeli/game
- /actions
- /actions/exportaction.cpp
- /actions/exportaction.h
- /actions/loadaction.cpp
- /actions/loadaction.h
- /library/librarybase.cpp
- /library/librarybase.h
- /library/libraryview.cpp
- /library/libraryview.h
- /trunk/playground/games/palapeli/game
- /CMakeLists.txt
- /mainwindow.cpp
- /mainwindow.h
- /mainwindow_p.h
- /manager.cpp
- /manager.h
- /newpuzzledialog.cpp
- /newpuzzledialog.h
- /palapeliui.rc
- /piecerelation.cpp
- /piecerelation.h
- /library/library.cpp
- /library/library.h
- /library/librarydelegate.cpp
- /library/puzzleinfo.cpp
- /library/puzzleinfo.h