Commit graph

741 commits

Author SHA1 Message Date
Olivier Teulière
54700f71de Added an option to highlight the tiles in the rack, accessible via the context menu 2012-01-29 22:47:51 +01:00
Olivier Teulière
8bbbf32e8f Added an option to show/hide the played tiles, accessible via the context menu 2012-01-29 22:47:51 +01:00
Olivier Teulière
8d9eaf3f3d Use the "visual" bag widget instead of the old one 2012-01-29 22:47:51 +01:00
Olivier Teulière
85e79e0294 TileWidget: change the prototype of tileChanged() and improve the possible states 2012-01-29 22:47:51 +01:00
Olivier Teulière
00a98a7c31 TileWidget: rename some constants to be more explicit 2012-01-29 22:47:51 +01:00
Olivier Teulière
ebea504aa7 TileWidget: avoid a lot of useless repaintings 2012-01-29 22:47:51 +01:00
Olivier Teulière
f6d7661367 TileWidget: get rid of BasicTileWidget and TileWidgetDecorator.
TileWidget now supports all these functionalities, with a much simpler code.
2012-01-29 22:47:51 +01:00
Olivier Teulière
5d62711789 TileWidget: do not display anything on a joker tile that has not yet been played 2012-01-29 22:47:51 +01:00
Olivier Teulière
3aab437022 TileLayout: simplify code using the inherited "spacing" property 2012-01-29 22:47:51 +01:00
Olivier Teulière
c11de9eed5 TileLayout: proper sizeHint() implementation 2012-01-29 22:47:51 +01:00
Olivier Teulière
61f75894da TileLayout: fix the computation of the minimum size 2012-01-29 22:47:51 +01:00
Olivier Teulière
95211525a5 TileLayout: allow forcing the number of lines instead of the number of columns 2012-01-29 22:47:50 +01:00
Olivier Teulière
b45d113157 TileLayout: fix the clear() method 2012-01-29 22:47:50 +01:00
Olivier Teulière
6411b1975d TileLayout: fix a layout bug in "static" mode 2012-01-29 22:47:50 +01:00
Olivier Teulière
51d6a3bc8b Added logging macros 2012-01-29 20:34:48 +01:00
Olivier Teulière
21538126cd Fixed packaging for the Mac OS X build 2012-01-29 20:05:22 +01:00
Olivier Teulière
afe54e9785 Set a minimum size to the timer 2012-01-29 20:05:22 +01:00
Olivier Teulière
9d00f873a3 Changed the shortcut to change the dictionary, as it is already used for copy-paste... 2012-01-29 20:05:22 +01:00
Olivier Teulière
f0c7c9ce23 Fixed a potential division by zero. 2012-01-26 22:04:00 +01:00
Olivier Teulière
b6b4958351 Be a bit more explicit if the text interface is not found 2012-01-26 21:15:58 +01:00
Olivier Teulière
5d98402891 Changed the prototype of PlayedRack::getRack() (and similar methods) 2012-01-26 21:10:41 +01:00
Olivier Teulière
a7ef1f0f8c Added preferences to configure the time 2012-01-26 20:57:43 +01:00
Olivier Teulière
8b33f45dca New column in the players history: "Game %", percentage of the game total 2012-01-26 20:12:47 +01:00
Olivier Teulière
b158266acb Added an option to hide the signs (arrow and word preview) on the board.
This is used for the external board, which now shows only the played
words.
2012-01-22 23:55:44 +01:00
Olivier Teulière
2294bcbc80 Added an auxiliary window with the timer 2012-01-21 11:13:26 +01:00
Olivier Teulière
5cc5a9942f Introduced a TimerModel, to be able to synchronize various timers 2012-01-21 11:13:22 +01:00
Olivier Teulière
00e9ca0365 New timer widget (not used yet). 2012-01-21 11:13:02 +01:00
Olivier Teulière
5535717ff4 Moved MainWindow::requestConfirmation() to the QtCommon class 2012-01-20 18:08:12 +01:00
Olivier Teulière
fff127333a Added a column for the total score of the player 2012-01-20 13:41:17 +01:00
Olivier Teulière
c8db48c1f0 Make the URL clickable in the About dialog 2012-01-20 13:41:17 +01:00
Olivier Teulière
765b57b781 Fixed initialization of the scores widget 2012-01-20 13:41:17 +01:00
Olivier Teulière
22f4341bdd Display information on the remaining letters in the status bar 2012-01-19 23:49:56 +01:00
Olivier Teulière
65501aad44 Display the current turn number in the status bar 2012-01-19 23:49:56 +01:00
Olivier Teulière
54736b211a Moved some code to static methods, so that it can be reused more easily. 2012-01-19 21:20:03 +01:00
Olivier Teulière
cfdf5a928d Group all the custom validators in a factory class.
This will make it easier to factorize and reuse this code.
2012-01-19 15:19:11 +01:00
Olivier Teulière
855718c6b8 Factorized code 2012-01-19 13:17:08 +01:00
Olivier Teulière
eadac39a09 Removed a useless include 2012-01-19 11:47:39 +01:00
Olivier Teulière
a899df5e46 The Training widget is not in a tab anymore 2012-01-19 11:18:23 +01:00
Olivier Teulière
50b55fb7f0 Create the players and scores widgets only when a new game is started. 2012-01-19 10:43:31 +01:00
Olivier Teulière
e09f7f675e When all the moves are invalid for a turn, play the master move anyway 2012-01-17 23:49:09 +01:00
Olivier Teulière
13f4a3c346 Use the master move.
When no master move is defined, define a valid one using the best played
move (or the best playable move if all the played moves were invalid).
2012-01-17 23:35:16 +01:00
Olivier Teulière
1bc9c2f0f1 Implement (de)serialization of the MasterMoveCmd class 2012-01-17 23:15:05 +01:00
Olivier Teulière
744e90e6ca New command to define a master move. 2012-01-17 23:15:05 +01:00
Olivier Teulière
e327d4605d Always consider that the played move was played by the first player.
Knowing the actual player is not always possible, since potentially none
of the players has found the played move (for example in arbitration
mode). This ID is now only used to retrieve the rack from which the move
was formed, so any player ID will do.
The non-regression tests have been adapted accordingly.
2012-01-17 21:57:03 +01:00
Olivier Teulière
fbb34d795c The history now shows the "Player" column only in FreeGame mode.
It doesn't really make sense (or it is useless) in the other modes.
2012-01-17 21:45:31 +01:00
Olivier Teulière
7fd8a245f8 Do not refresh the coordinates for a non-visible player.
This fixes a focus bug, and makes it easier to enter moves for several
human players.
2012-01-17 10:48:36 +01:00
Olivier Teulière
c81df46b5e Added a new type of move: NO_MOVE 2012-01-17 00:56:02 +01:00
Olivier Teulière
d32f3fdf81 Use assertions where appropriate 2012-01-17 00:56:02 +01:00
Olivier Teulière
482b5d674f Previewing a Round is now possible in all the game types.
It was only possible in Training mode. This change will be useful for
the future arbitration mdoe.
2012-01-17 00:43:19 +01:00
Olivier Teulière
90ce7e1111 Removed some useless code 2012-01-12 15:26:27 +01:00