fowode / pychess

Automatically exported from code.google.com/p/pychess
GNU General Public License v3.0
0 stars 0 forks source link

Open Game dialog redesign #732

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
(This should probably be labelled with Maintainability)

glade/newInout.glade contains both the "New Game" and the PGN "Open Game" 
dialog, but shouldn't:

The PGN open game dialog reuses the same dialog as the "New Game" dialog. 
However, that leads to a nonsensical layout (as far as I can see it - correct 
me if there's a valid reason for this): "Open Game" has the whole contents from 
"New Game" aswell, but totally inoperational. Why is it even there?

If that column were invisible, the PGN open game dialog would show exactly the 
half of glade/newInout.glade which the "New Game" dialog in contrary does NOT 
show.

So why not just split that glade file up into one for the "New Game" dialog, 
and one for the "Open Game" dialog?

Original issue reported on code.google.com by jonas.thiem@gmail.com on 17 Sep 2012 at 1:33

GoogleCodeExporter commented 9 years ago
I pondered this a bit more: was this done to avoid code duplication for the 
"Cancel" and "Start game" buttons which work in a similar spirit for both 
dialogs?

I guess that's a valid reason to share some code and the glade layout then... 
but still, that inoperational column could be safely made invisible for the PGN 
Open Game dialog, couldn't it? If you agree, I'll go ahead and make it 
invisible to make the PGN Open Game dialog less crowded and clean.

Original comment by jonas.thiem@gmail.com on 18 Sep 2012 at 12:14

GoogleCodeExporter commented 9 years ago
I renamed the issue to reflect this line of thought, and will fix/change this 
soon. (I will hide the column that doesn't do anythin on the PGN "Open Game" 
dialog and leave the glade file shared among the dialogs as it is now)

Original comment by jonas.thiem@gmail.com on 18 Sep 2012 at 2:42

GoogleCodeExporter commented 9 years ago

Original comment by jonas.thiem@gmail.com on 18 Sep 2012 at 2:42

GoogleCodeExporter commented 9 years ago
Ok, probably set this to accepted a bit early :) so, gbtami and me discussed 
this a bit (MrJones is me):

22:30 < btami> I think the variant part has no reason on open dialog, but 
players and timecontrol can have
22:30 < btami> think you play a game against an engine, but not finish it, just 
save
22:31 < btami> later you open it, and continue, but against a different angine, 
or with different timecontrol
22:31 < MrJones> ok
22:31 < MrJones> hm
22:32 < MrJones> still, if the PGN only contains finished games you want to 
view, I find it confusing in a way
22:33 < btami> pgn can contain unfinished games (ending mark is *)
22:33 < MrJones> I know
22:33 < btami> ok :)
22:33 < MrJones> however, the PGN would always already contain the time control 
and enemies
22:33 < MrJones> and I don't think it's intuitive to show the controls on the 
Open PGN dialog when the PGN already contains all that info
22:33 < MrJones> e.g. I thought those were supposed to filter things
22:34 < MrJones> then clicked around and noticed that nothing changed, then I 
was really stumped on why those controls were around
22:34 < btami> hmm
22:34 < MrJones> I think a better approach would be to allow to change time 
controls while a game is running
22:34 < MrJones> and then to open a PGN always with the time control it has 
specified, but allow changing it when the game is opened
22:35 < MrJones> since I don't think that is done often, it would also make 
sense to get it out of the Open Game dialog simply because it's not used often
22:35 < MrJones> also it would allow changing time controls all the time 
WITHOUT saving the current game as PGN and reopening it :P
22:35 < MrJones> (which is what you currently need to do to change them I 
suppose?)
22:37 < btami> telling the truth, I allways select human-human/untimed/normal 
when I load a game to study from any .pgn
22:38 < btami> so seems you are right, except unfinished games, but I never 
saved any unfinished game to later use before
22:39 < MrJones> well but if you saved an unfinished game, you would most 
likely continue it with the saved time control, would you  not?
22:39 < MrJones> instead of suddenly turning your saved blitz game into an 
hourlong tournament game
22:39 < btami> yes
22:40 < btami> ok, can you write attach this conversation to the issue, please
22:40 < btami> maybe it can help to Thomas and others to understand it better
22:42 < MrJones> hm
22:42 < btami> anyhow, just wanted to ask you in general to follow this 
"protocoll" regarding GUIchanges in pychess: file 
issue-discuss-agreement-change the code
22:42 < MrJones> but then it would be best to add a menu entry first before 
removing that column

later:
22:48 < MrJones> I'll probably do a clone for this
22:48 < MrJones> anyway, I am just pondering
22:48 < btami> ok
22:48 < MrJones> while changing time control is unlikely, I find it much more 
likely to resume a game with different enemies or engines
22:49 < MrJones> but I still find it confusing when those dialog controls are 
always visible even for finished games where they don't do much

So result, I am undecided. I am not much of a fan of the current PGN "Open 
Game" dialog, but of course all functionality should be kept.... so I'll need 
to think about this a bit to see if I can suggest something better. When I'm 
done I'll post my ideas here.

Original comment by jonas.thiem@gmail.com on 19 Sep 2012 at 1:44

GoogleCodeExporter commented 9 years ago
I'm glad you are pointing this out.
I agree that the dialog should have more focus on the right side, and less on 
the left side.

How about this:
  - Redo the dialog so the "Open Game" box has more room
  - Combine "Players", "Time Control" and "Chess Variant" into a single info box, simply stating the values from the file.
  - Allow changing the values from the file, using 'click and edit' text, or something like the small wrench icon we use in the new game dialog.

The dialog really is only designed for opening games for playing, not for 
analysis. For that we would need a lot more changes.

I don't support allowing changing the time while playing.

Let's try and see what mockups we can come up with

Original comment by lobais on 26 Sep 2012 at 9:38

GoogleCodeExporter commented 9 years ago
My current preferred idea is this one:

- The PGN Open Game dialog column with Players/Time Control/Chess Variant 
should go
- Instead, when opening a PGN game, there is a "Resume Game from here" button 
(which is disabled if the game is currently showing a checkmate/ending position 
of course). When clicking the button, I am asked for Players, Time Control and 
Chess Variant and can play the game from the currently shown position with the 
provided settings.
- When the game I opened is unfinished, in addition, PyChess will instantly ask 
me when opening the game if I want to resume playing it (and if I click yes, 
also show that resume dialog with Players, Time Control and Chess Variant 
options to me)

I really oppose the idea of keeping those options in the PGN Open Game dialog, 
because I find them really confusing when you browse only FINISHED games (I 
assumed them to filter the finished games first, and when they didn't I was 
really confused why those options were shown for). Still, they are needed in 
case someone wants to play a finished game from a non-finished position with 
different settings (hence the "Resume game from this position" button which 
allows this).

Original comment by jonas.thiem@gmail.com on 26 Sep 2012 at 10:35

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 22 Apr 2013 at 6:44

GoogleCodeExporter commented 9 years ago
I raed this again and have to correct myself :) The most correct solution 
should be to disable all "Players", "Time Control" and "Chess Variant" controls 
if it was started from Open game menu, but initialize them from .pgn game 
header tags. I don't think changing any of them in an unfinished game make 
sense or has any real practical benefit.

Original comment by gbtami on 25 Aug 2013 at 8:21