Olivier Teulière
7e9dab2e9b
Topping: keep track of the player score
2013-01-14 17:13:48 +01:00
Olivier Teulière
0ea56cc442
Add a "Print preview" menu entry
2013-01-14 17:13:48 +01:00
Olivier Teulière
6f2ee6f9ff
PlayWordMediator: improve the handling of words in Intermediate state.
...
The syntactically invalid words (such as those without matching parens)
are displayed in red, and do not trigger un update of the PlayModel.
As a result, the letters do not disappear from the preview anymore when
the opening parenthesis of a blank tile is typed.
2013-01-14 15:59:31 +01:00
Olivier Teulière
d9ee0633db
RackWidget: filter the rack correctly when the played word contains a blank
2013-01-13 22:53:57 +01:00
Olivier Teulière
94b2b520d1
Distribute reports
2013-01-11 19:31:37 +01:00
Olivier Teulière
8cd3157842
Topping: remove the ScoreWidget and add a TimerWidget
2013-01-11 11:06:57 +01:00
Olivier Teulière
b6715c6c05
HintsDialog: display the cost of each hint (optional)
2013-01-11 11:06:57 +01:00
Olivier Teulière
4f817bfa24
TimerModel: add a utility method
2013-01-11 11:06:57 +01:00
Olivier Teulière
ce3da4adbb
TimerWidget: new "chrono" mode, triggered with Ctrl+click
2013-01-11 11:06:57 +01:00
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