Frequently used engine options should appear first
[sloppygui.git] / TODO
blob41f02289c33f7fa95a44118d8ea84520c30cb9ba
1 - Add more stuff to the Chess namespace (Game, Player, etc.)
2   chess.h should probably be in lib/src, not lib/src/chessboard
4 - Complete Xboard and UCI support (including the analysis feature)
6 - More unit tests for the Chess library
8 - Better error handling in OpeningBook
10 - Better error handling in PgnGame
12 - FICS support
14 - Tournaments
16 - Add a bunch of bugs to Sloppy, and test it with the gui
18 - Create an engine-testing tool for the gui, which finds out and summarizes
19   the engine's features, and runs tests:
20   - illegal moves
21   - invalid FEN strings
22   - very long strings
23   - invalid time controls (eg. negative time left)
24   - negative minimum search depth
25   - test the ping time
27 - Use ECO codes to determine the opening name for PGN games
29 - EPD tests for engines
31 - Design a file format for tournaments
33 - Provide code examples in documentation
35 - Verify Qt version requirement before release
37 - Use PgnStream for HTTP downloading
39 - Apply for the Qt Ambassador program (application showcase) after first
40   public release: http://qt.nokia.com/qtambassador
42 - Use model testing tools to check validity of all model classes
43   during runtime (http://developer.qt.nokia.com/wiki/Model_Test)
45 - Prepare for Qt 5
47 User Interface
48 --------------
50 - (Mac) dropping FEN on Cute Chess' icon in Dock
52 - (Mac) provide Dock menu
54 - (Mac) provide global menubar
56 - Per window dialogs should use QDialog::open() instead of exec()
58 - Moving a piece by selecting (clicking with a mouse) a source and a
59   destination squares
61 - Highlight attacked pieces
63 - Application icon that looks good on Win, Mac, GTK. Examples: Firefox, Arora.
64   Should have (at least) sizes of 512x512, 128x128, 32x32, 16x16
66 - Analyzing feature. Probably should be placed in its own dock window with a
67   selectable list of engines.
69 - All game information should be editable in Game|Properties.