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
Olivier Teulière
2c3cb83e0a
Allow more types of invalid input when previewing a move being played
2012-12-29 17:46:18 +01:00
Olivier Teulière
a9f5935285
BoardWidget: preliminary version of played word preview
2012-12-29 17:46:18 +01:00
Olivier Teulière
8d85df630b
PlayModel now uses a Move internally
2012-12-29 17:46:18 +01:00
Olivier Teulière
8acebbc889
Game::checkPlayedWord() now takes a Move instead of a Round
2012-12-29 17:46:18 +01:00
Olivier Teulière
0b9d8ecfbb
RackWidget: initial support for drag & drop of tiles in the rack
2012-12-29 17:46:18 +01:00