GNOME Bugzilla – Bug 309212
aisleriot options are instant-apply
Last modified: 2012-01-31 23:19:30 UTC
This is either a bug in aisleriot or in klondike solitaire. Changing the options works instantly, and klondike doesn't deal with this very well. The game instantly uses the new rules (making some very weird things possible), and the waste does not change between an extended and normal slot (which is probably impossible). At the very least, changing an option at the beginning of a game (no undo or redo) should restart it so that the piles are correct. Possibilities: -If there's no undo or redo history when you change an option, restart the game. -Always restart the game when you change an option. I don't think I like this because it doesn't give you any warning. -When you change an option, if undo or redo work, ask the user to restart the game or cancel the change. People wouldn't be messing with these often, so it should be ok. -Move the options to the "Select Game.." dialog. I don't think I can speak of how practical this is, but it would indicate that the options are different variations of separate games. -Get rid of them altogether and make separate games like Spider, Spider One Suit, and Spider Two Suit. We could still share the code involved (and can do so with Spider..I've done this but I'd rather polish it a bit before I submit). For example, Klondike with 3-card deals would become (load "klondike.scm") (set! deal-three #t). But I'm not sure what the original reasons were for preferring options to new games.
I don't think it's sane to make the game code accept changes to the rules mid-game (the situation may no longer be valid). I will fix this in the next week, but first I want to get anything that looks like a new feature in place so we can have a feature freeze (which will only be a few days behind the official one).
Fixed in CVS. The menu is disabled once the game is underway. This isn't the best user-interface since it isn't immediately obvious to the player why it has been greyed out. However, the alternative of presenting a dialog and saying "no, you can't use that option now" is even worse UI (although at least you get to explain why not). I have added a note in the documentation explaining the menu - but thats another sign it isn't right yet. I don't have any beter ideas.
I saw this behavior in gcalctool, and it's common in other places lately... When changing options, a dialog can pop up stating: "Changing an option restarts this game" "When the options are changed, your progress will be lost and this game will restarts from the beginning." "[checkbox] _Do not warn me again" "Cancel" "Change Options"
This bug is being reassigned to the "general" component so we can close the aisleriot bugzilla component. Apologies for the mass email!