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
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
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
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
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
0b9d8ecfbb
RackWidget: initial support for drag & drop of tiles in the rack
2012-12-29 17:46:18 +01:00
Olivier Teulière
d2b39b3a0a
Add a visual rack below the main board
2012-12-29 17:46:17 +01:00
Olivier Teulière
d55b3b2bdf
Use toLower() and toUpper()
2012-12-29 17:46:17 +01:00
Olivier Teulière
655169fda6
Remove a useless include
2012-12-29 17:45:44 +01:00
Olivier Teulière
71b0a61547
Fix a typo
2012-12-29 17:44:39 +01:00
Olivier Teulière
19387540cd
Arbitration: new search filter, filtering points
2012-12-29 17:44:39 +01:00
Olivier Teulière
487dd213ce
New game dialog: disable the up/down buttons when there is no selection
2012-12-29 17:44:39 +01:00
Olivier Teulière
844105a8e8
New game dialog: allow moving the selected players up and down
2012-12-29 17:44:39 +01:00
Olivier Teulière
d686f1a083
PlayModel: add a moveChanged() signal for convenience
2012-12-18 16:03:44 +01:00
Olivier Teulière
7f5651b4bb
RackWidget: add a setRack() slot
2012-12-18 16:03:44 +01:00
Olivier Teulière
536da10a97
Fix a typo
2012-12-18 16:03:44 +01:00
Olivier Teulière
3f269e5bd4
PlayModel: support for word changes in addition to coordinates.
...
This is not used anywhere yet.
2012-12-18 16:03:37 +01:00
Olivier Teulière
1e551207fb
PlayModel: do not emit the coordChanged() signal when no change occurred
2012-12-18 01:26:15 +01:00
Olivier Teulière
c31b789fc5
PlayModel: remove a useless getter
2012-12-18 01:00:53 +01:00
Olivier Teulière
3f10e9faba
PlayModel: exchange the order of the arguments for the coordChanged() signal
2012-12-18 00:57:04 +01:00
Olivier Teulière
c1332760d7
Rename CoordModel as PlayModel
2012-12-18 00:48:14 +01:00
Olivier Teulière
4bcd106577
RackWidget: center the tiles in the widget
2012-12-17 22:53:24 +01:00
Olivier Teulière
c21c109ddb
BoardWidget: center horizontally
2012-12-17 22:53:07 +01:00
Olivier Teulière
bf5ae9fc91
TileLayout: fix the row offset on lines other than the first one
2012-12-17 22:32:44 +01:00
Olivier Teulière
b5c36bed26
TileLayout: fix a bug (the rect offset was not taken into account)
2012-12-17 20:20:18 +01:00
Olivier Teulière
50a2ab7996
Arbitration: disable solo-related actions when automatic handling is active
2012-12-06 00:11:07 +01:00
Olivier Teulière
2cc0b2bc39
Preferences: add a checkbox for the new automatic solos handling option
2012-12-06 00:10:29 +01:00
Olivier Teulière
b0a9f44ab7
Fix a window placement bug.
...
Placing Eliot on a secondary monitor, and restarting it later when the
monitor is unplugged, made the window invisible (it was still at the
old position, thus off screen).
2012-11-13 12:38:27 +01:00
Olivier Teulière
f267b045b6
New option to start the timer automatically when the rack changes
2012-11-13 12:38:27 +01:00
Olivier Teulière
e355acc4fb
Reset the timer automatically when a new turn starts
2012-11-13 12:38:27 +01:00
Olivier Teulière
c89e91010c
Stats: enable sorting when the table is flipped.
...
This allows sorting the players by rank, for example.
2012-11-13 12:38:27 +01:00
Olivier Teulière
fa55eab82e
Stats: simplify the flipping code using the decorator pattern
2012-11-13 12:38:27 +01:00
Olivier Teulière
3f2568db5d
Stats: allow flipping the table
2012-11-13 12:38:27 +01:00
Olivier Teulière
63c7128d3e
Arbitration: display the solos, warnings and penalties in the players view
2012-11-13 12:38:27 +01:00
Olivier Teulière
c5fd006b9c
History widget: show solos before warnings and penalties
2012-11-13 12:38:27 +01:00
Olivier Teulière
5676d9c78f
Ignore requests to start the timer when it is already active
2012-11-13 12:38:27 +01:00
Olivier Teulière
f131fa9050
Fix a timer bug
2012-11-13 12:38:26 +01:00
Olivier Teulière
7f31fe8b0e
Fix a visual glitch on the status bar
2012-11-13 12:38:26 +01:00
Olivier Teulière
f76bd47882
Stats: show the played move with the turn number
2012-10-22 17:23:25 +02:00
Olivier Teulière
02249c214e
Various fixes for problems detected by Coverity.
...
Most of them where not actual problems, though.
2012-10-13 13:49:40 +02:00
Olivier Teulière
f6ced69c9e
Make sure some class members are initialized (bugs reported by Coverity)
2012-10-11 23:21:32 +02:00
Olivier Teulière
0315080d30
Fix small layout issues (use less margin in some places)
2012-10-11 14:20:32 +02:00
Olivier Teulière
4200e33c17
Change the copyright years for all the files modified in 2012
2012-10-11 13:45:24 +02:00
Olivier Teulière
07631b9a80
A few more string fixes
2012-10-07 13:00:08 +02:00
Olivier Teulière
c5591da9e5
Fix various strings
2012-10-06 22:17:43 +02:00
Olivier Teulière
e7aabdc4a2
Fix compilation warnings
2012-10-06 18:45:46 +02:00
Olivier Teulière
43471a52ac
BagWidget: merge the 2 implementations in a single file.
...
Note that only BagWidget2 is used at the moment. In the future, the
other one will probably disappear.
2012-10-06 17:49:36 +02:00
Olivier Teulière
e55f05e325
Arbitration: fix a focus problem
2012-10-06 17:49:36 +02:00
Olivier Teulière
97f4355502
PlayerWidget: improve focus behaviour and ergonomy
2012-10-06 17:49:36 +02:00
Olivier Teulière
18aa839f11
Validators: always force the input to upper case
2012-10-06 17:49:36 +02:00
Olivier Teulière
d3f642567d
Reuse a variable
2012-10-06 17:49:36 +02:00
Olivier Teulière
1e94c56067
Rename slots to indicate what the methods actually do
2012-10-06 17:49:36 +02:00
Olivier Teulière
ca5c6cff0d
Do not use Qt auto-connect feature
2012-10-06 17:49:36 +02:00
Olivier Teulière
d3c9c504ba
Fix a typo, causing a wrong error message to be displayed
2012-10-06 17:49:36 +02:00
Olivier Teulière
471dcf90e1
Rename Turn into TurnData (step 2)
2012-10-06 17:49:35 +02:00
Olivier Teulière
fa345a9f7b
Rename Turn into TurnData (step 1)
2012-10-06 17:49:35 +02:00
Olivier Teulière
65ed44d66d
Cosmetics
2012-10-06 17:49:35 +02:00
Olivier Teulière
77fcfab8a5
Stats: add an option to lock the columns sizes
2012-10-06 17:49:35 +02:00
Olivier Teulière
ef5f8e63e9
Do not cache the score of the player.
...
Caching is almost useless here, and makes the code more complex.
2012-10-06 17:49:35 +02:00
Olivier Teulière
40944884e6
Remove Player::getPoints()
2012-10-06 17:49:35 +02:00
Olivier Teulière
c700f39ac7
Stats: display end game points for a free game
2012-10-06 17:49:35 +02:00
Olivier Teulière
b53295c782
Stats: compute the ranking based on the final score, not the intermediate one
2012-10-06 17:49:35 +02:00
Olivier Teulière
2ab95b5ed9
Get rid of old CVS files
2012-10-06 01:44:33 +02:00
Olivier Teulière
db14ee0622
Training: do not use the auto-connect feature.
...
The code is now slightly more verbose, but easier to follow and
less sensitive to typos.
2012-10-05 16:10:41 +02:00
Olivier Teulière
75025c33df
Training: improve usability
2012-10-05 16:10:41 +02:00
Olivier Teulière
e4f9c03ca7
Training: define key accelerators for the main buttons
2012-10-05 16:10:41 +02:00
Olivier Teulière
1232eda206
Set the allColumnsShowFocus property to true on some views
2012-10-05 16:10:41 +02:00
Olivier Teulière
f4b78e09b1
Arbitration: restore properly the focused player
2012-10-05 16:10:41 +02:00
Olivier Teulière
56028c8651
Arbitration: new popup menu entry to suppress an assigned move
2012-10-05 16:10:41 +02:00
Olivier Teulière
a800863c1f
Arbitration: do not handle solos automatically.
...
The arbitrator has to specify them manually. Otherwise, we cannot know
when a turn is complete and thus we cannot determine if solos can/should
be applied.
2012-10-05 12:52:42 +02:00
Olivier Teulière
bcc2aedbff
Improve the detection of finished games for duplicate and arbitration modes
2012-10-05 01:42:46 +02:00
Olivier Teulière
ed152a380d
Arbitration: correctly set the state of buttons for past turns
2012-10-05 00:27:34 +02:00
Olivier Teulière
6ec9568020
Arbitration: better label for a popup menu entry
2012-10-05 00:27:10 +02:00
Olivier Teulière
86860a9f80
RackWidget: inherit from QFrame instead of QWidget
2012-08-26 22:18:42 +02:00
Olivier Teulière
d693a53910
TileLayout: respect the margins and alignment
2012-08-26 22:18:42 +02:00
Olivier Teulière
aa557f8121
Improve the handling of favorite players
2012-08-26 22:18:36 +02:00
Olivier Teulière
ee31179864
StatsWidget: add the players ranking
2012-08-26 22:18:32 +02:00
Olivier Teulière
8e1c55c79d
StatsWidget: use the player name for the title of the columns. Also hide some rows depending on the game type.
2012-08-26 22:18:32 +02:00
Olivier Teulière
24bf44779a
StatsWidget: display some column names even when there is no game
2012-08-26 22:18:31 +02:00
Olivier Teulière
fb2a160d7b
StatsWidget: improve the tooltips
2012-08-26 22:18:22 +02:00
Olivier Teulière
80a2e9ce9c
StatsWidget: various improvements.
...
Main changes
- clean model/view separation
- code simplification
- no multi-line cells anymore
- possibility to change the orientation of the table
- use of bold font to highlight "top moves"
- use of colors to highlight some important details
2012-08-26 22:18:22 +02:00
Olivier Teulière
25f3bccdd1
TileWidget: make sure the font is at least one pixel wide
2012-06-10 23:34:23 +02:00
Olivier Teulière
fdc1478cf4
Arbitration: disable controls for a finished game only in the last turn
2012-06-09 19:18:43 +02:00
Olivier Teulière
3a18a78970
Fixed make dist
2012-06-04 23:04:07 +02:00
Olivier Teulière
4c76ffe8bc
Moved the "Favorite players" window to a dedicated file, and added CSV import/export
2012-06-04 23:04:06 +02:00
Olivier Teulière
a4d5709d16
Catch exceptions during the auto-save
2012-06-04 23:04:06 +02:00
Olivier Teulière
e88de64ac9
Stats window: display the table number instead of the row number
2012-05-30 08:14:18 +02:00
Olivier Teulière
2b6b85cce3
Arbitration: allow removing penalties
2012-05-20 22:12:42 +02:00
Olivier Teulière
7868593cb2
Do not always reject completely a rack containing letters not in the bag anymore.
...
This could be a rack containing an incomplete input sequence for a tile...
2012-05-16 22:07:55 +02:00
Olivier Teulière
0c1634d530
Arbitration: do not accept blindly any rack in Intermediate state.
...
This fixes a bug with languages using multichar tiles.
2012-05-16 22:07:55 +02:00
Olivier Teulière
a07d39fc22
New statistics window, still quite unpolished.
2012-05-06 23:31:49 +02:00
Olivier Teulière
f7a7eab3a3
Arbitration: when a player is selected, automatically switch to the corresponding history tab
2012-05-06 23:23:52 +02:00
Olivier Teulière
1ad1ef7425
Arbitration: use the same solo-related settings as in duplicate mode
2012-05-05 19:58:31 +02:00