Commit graph

957 commits

Author SHA1 Message Date
Olivier Teulière
2db1732f7a Board: allow one more type of invalid word when previewing a played word 2013-01-11 11:06:56 +01:00
Olivier Teulière
c34bd76918 RackWidget: fix a bug when the rack is filtered (wrong variable used) 2013-01-11 11:06:56 +01:00
Olivier Teulière
02f284f3ae GameSignals: update member variables correctly when the game is destroyed 2013-01-10 21:42:07 +01:00
Olivier Teulière
b7825e1998 RackWidget: restore the rack properly if drag & drop fails 2013-01-09 18:56:25 +01:00
Olivier Teulière
4111afc04c RackWidget: after a drag & drop, notify the game that the rack has changed.
This allows synchronizing all the controls displaying the player rack
(visual and textual ones).
2013-01-09 18:56:25 +01:00
Olivier Teulière
0763c0771b RackWidget: only allow drag & drop if there is no preview on the board 2013-01-09 18:52:11 +01:00
Olivier Teulière
cedb320f91 Topping:: allow shuffling the rack 2013-01-09 18:52:11 +01:00
Olivier Teulière
59b739d292 GameSignals: new signal emitted when the rack of the current player changes.
We connect this signal to the RackWidget, which allows a more intuitive
behaviour (in particular, the visual rack is now updated when the
Shuffle button is clicked).
2013-01-09 18:52:11 +01:00
Olivier Teulière
c76c84e059 GameSignals: emit the gameRackChanged() signal even if this is not the last turn 2013-01-09 18:52:11 +01:00
Olivier Teulière
7a6ca367fb Game: remove a TODO 2013-01-09 18:52:11 +01:00
Olivier Teulière
0cdc2b7ab4 Rack: add operator==() 2013-01-09 18:52:11 +01:00
Olivier Teulière
05150c4e86 TrainingWidget: fix an old bug (the "New rack" button was behaving like "Complement") 2013-01-09 17:15:18 +01:00
Olivier Teulière
b48f8c17d7 MainWindow: fix bugs introduced in 99e7628fed 2013-01-09 17:12:37 +01:00
Olivier Teulière
c285e37354 RackWidget: update the visual rack only when the game rack changes.
This avoids losing the state when any unrelated update happens in the
game (for example when clicking on the board to set the coordinates).
2013-01-09 16:39:10 +01:00
Olivier Teulière
f37b3f7d84 GameSignals: simplify slightly 2013-01-09 16:23:33 +01:00
Olivier Teulière
99e7628fed Move game-related signals out of MainWindow, into the new dedicated class GameSignals 2013-01-09 16:23:33 +01:00
Olivier Teulière
7cd6313dac Topping: integrate hints 2013-01-08 16:04:24 +01:00
Olivier Teulière
b80ca397ad Topping: implement sorting properly 2013-01-08 16:04:23 +01:00
Olivier Teulière
b5d175fc5b Topping: use a different method to play the move.
This allows providing additional time information
2013-01-08 16:04:23 +01:00
Olivier Teulière
686b896396 PlayModel: new signal to indicate that a move is played.
This allows moving the logic out of PlayWordMediator (it will make it
easier to have a different behaviour for different mode types).
2013-01-08 16:04:23 +01:00
Olivier Teulière
6a553bf2f5 PlayModel: remove a TODO 2013-01-08 16:04:23 +01:00
Olivier Teulière
0a7aa2ce8e New dialog to display hints to the user. Not yet used. 2013-01-08 16:04:23 +01:00
Olivier Teulière
3f19d6ae49 Hints system, to retrieve partial information about a Move.
This is only the core part, no interface integration is done yet.
2013-01-08 16:04:23 +01:00
Olivier Teulière
4153d45377 Favorite players: add buttons to move players up and down 2013-01-08 16:04:23 +01:00
Olivier Teulière
dd75556902 PlayWordMediator: set correctly the initial state 2013-01-08 16:04:23 +01:00
Olivier Teulière
4b077bbcd6 PlayWordMediator: fix header inclusion guards 2013-01-08 16:04:13 +01:00
Olivier Teulière
bbcb79625d Stats: sort by ranking when the table is flipped 2013-01-08 15:55:59 +01:00
Olivier Teulière
579106828c Stats: do not display the played move in the header when the table is flipped 2013-01-08 15:55:59 +01:00
Olivier Teulière
2fc948189f Stats: fix a bug when the table is flipped.
The hidden rows/columns where not correctly updated.
2013-01-08 15:55:59 +01:00
Olivier Teulière
fcb9fa572a Game: make the constructor protected, to make the design clearer 2013-01-08 15:55:59 +01:00
Olivier Teulière
0554a00e11 Ignore new files generated by autopoint 2013-01-06 18:15:48 +01:00
Olivier Teulière
b39aa52b88 Activate some autoconf warnings 2013-01-06 17:46:35 +01:00
Olivier Teulière
0c87ae7cde Update some m4 macros with the latest available version 2013-01-06 17:46:35 +01:00
Olivier Teulière
91c993073e Use a more recent version of gettext 2013-01-06 17:46:35 +01:00
Olivier Teulière
c6f1f0dedb Replace obsolete macros with newer ones (using autoupdate) 2013-01-06 17:22:33 +01:00
Olivier Teulière
f1c2d3951d GameFactory: remove the useless releaseGame() method 2012-12-30 16:38:07 +01:00
Olivier Teulière
76fefdf71d New "master game" feature.
When a master game is defined, the racks and moves played from the
current game will be the same as in the master game. This can be
practical to replay a game in a different mode, or to replay at home a
duplicate game played in a club, for example.
2012-12-30 16:38:07 +01:00
Olivier Teulière
86ed14f75e Move: add operator==() 2012-12-30 16:13:45 +01:00
Olivier Teulière
62d46c875f Round: add operator==() 2012-12-30 16:13:31 +01:00
Olivier Teulière
6e3c04b954 TileWidget: better colour for the shaded and played tiles 2012-12-30 01:53:14 +01:00
Olivier Teulière
ac0abba535 Topping: new widget dedicated to topping mode.
It is currently very ugly, and quite buggy...
2012-12-29 19:36:38 +01:00
Olivier Teulière
c4635c66f9 RackWidget: better-looking drag & drop, inspired by Firefox tabs 2012-12-29 19:36:38 +01:00
Olivier Teulière
66615b54ac TileWidget: remove a duplicated line 2012-12-29 19:36:38 +01:00
Olivier Teulière
b070336886 NewGame: set tooltips for the game modes 2012-12-29 17:51:52 +01:00
Olivier Teulière
57a2c0690f Topping: keep track of all the moves played by the player.
The timing information is currently not used at all.
2012-12-29 17:51:52 +01:00
Olivier Teulière
681a7b28cb New topping mode (very beginning) 2012-12-29 17:51:16 +01:00
Olivier Teulière
5441007db1 New BoardLayout class to wrap the board layout (size and special squares).
Until now there is no user-visible change, but it should make it much
easier to add custom layouts.
2012-12-29 17:50:18 +01:00
Olivier Teulière
c138947138 Move Duplicate::setGameAndPlayersRack() to Game 2012-12-29 17:49:25 +01:00
Olivier Teulière
c775682881 RackWidget: hide tiles of the word being played.
This gives the nice impression that tiles are moved from the rack to the
board.
2012-12-29 17:48:15 +01:00
Olivier Teulière
fb8e464d7c Display the word being played on the board 2012-12-29 17:46:18 +01:00