Aleks31 / pychess

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

new FICS Seek dialog #369

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a seek on FICS
2. You can choose from three pre-defined ranking intervals for opponent
3. What if I want to play against interval of 1200-1400 opponent?

What is the expected output? What do you see instead?
I should be able to input my own interval.

Does it happen every time?
yep, its a feature ;-)

What version of the product are you using?
10alpha

Did you use an installed version of PyChess or did you run in from a
tarball/svn?
deb from www.getdeb.net

Please provide any additional information below.

Please attach the latest pychess logfile.
For PyChess <= 0.6.x it's hidden in your homedirectory and called
".pychess.log".
For PyChess > 0.6.x, it's in a hidden folder, under your homedirectory,
named ".pychess/"

Original issue reported on code.google.com by pe3...@gmail.com on 4 Jan 2009 at 2:49

GoogleCodeExporter commented 9 years ago
I'm working on a "Custom Rating" box like the Custom Time box.

Original comment by mattgatto on 6 Jan 2009 at 12:02

GoogleCodeExporter commented 9 years ago
Yeah, that is exactly what I meant. Thanks a lot.

Original comment by pe3...@gmail.com on 6 Jan 2009 at 12:05

GoogleCodeExporter commented 9 years ago
This seems to work but it doesn't have any strength indicator icons. It could 
have an
icon for the min and one for the max that change the same way that the strength 
icon
for the strength adjustment in the New Game vs. Computer dialog uses.

Original comment by mattgatto on 7 Jan 2009 at 1:14

Attachments:

GoogleCodeExporter commented 9 years ago
This looks to me as a very good patch. Just tell me if you'd like svn access.

Like you said, the dialog should have an icon, and probably one that changes 
with the
entered rating, like the New Game one.

There are some small glitches in the spinners (they have 9899 as max? And the 
min
value can go over the max value), but I'm thinking, that perhaps we should use
sliders, again like in the New Game dialog? It doesn't really matter to be able 
to
specify if max rating should be 1600 or 1601.

Original comment by lobais on 8 Jan 2009 at 8:47

GoogleCodeExporter commented 9 years ago
I started working on this and quickly realized the whole seek panel had to be 
redone.
I've finished a preliminary version of a new version of the seek panel. 
Screenshots
and the patch are attached.

There are some missing parts in the patch... the "Player List" challenge panel 
needs
to be done too, but that will be easy. Also, it doesn't have support for 
variants
yet, but that will be easy to add as well. But I wanted to get some feedback 
since
it's mostly done.

Original comment by mattgatto on 29 Jan 2009 at 12:16

Attachments:

GoogleCodeExporter commented 9 years ago
Forgot to attach the new files for the Color icon.

Original comment by mattgatto on 29 Jan 2009 at 12:24

Attachments:

GoogleCodeExporter commented 9 years ago
Looks very good.

Just thinking what could be possibly added in future.
What about manual accept? Could it be incorporated into this GUI, if decided to 
add
such a feature?

Original comment by pe3...@gmail.com on 29 Jan 2009 at 5:07

GoogleCodeExporter commented 9 years ago
For the color icon, it is a good idea, but it will have to be redone in tango 
style:
http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines with double lines and a
small glow.

For the seekpanel, I very much agree that it needs to be redone at some time, to
contain all the fics features. Also recently has been added the possibility to 
play
variants over fics, so it would have to contain this too.
It looks like some good work you've done, but we need to make it take up less 
space.
An expand panel should never take up more space than the panel it supresses.
I suggest a more simple panel like the one attached. The entire set of
configurationwidgets would be hidden behind the small sidebutton. If they 
should have
a name it must be editable too, but perhaps a such isn't even needed.

Original comment by lobais on 29 Jan 2009 at 1:49

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 19 Mar 2009 at 8:10

GoogleCodeExporter commented 9 years ago

Original comment by mattgatto on 29 Mar 2009 at 2:16

GoogleCodeExporter commented 9 years ago
Issue 470 has been merged into this issue.

Original comment by mattgatto on 25 Jun 2009 at 8:36

GoogleCodeExporter commented 9 years ago
Issue 477 has been merged into this issue.

Original comment by lobais on 4 Jul 2009 at 1:15

GoogleCodeExporter commented 9 years ago
Here are some screenshots of what the new seek dialog looks like. It 
incorporates Thomas' idea of having 
saved seeks. There is still some work left to do and which is in the screenshot 
of my ToDo list which I've 
also attached. Feedback on both the code and UI is welcome.

Original comment by mattgatto on 5 Jan 2010 at 2:01

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
I suggest instead of "Strength Center" and "Tolerance" to use only one double 
slider.
This slider should provide enough info for min and max settings. It is must more
logical for average chess player.

I am not a python programmer, so I don't know if there is an object with two 
sliders.
But if there is not such an object, then just put two slider objects one on the 
left
for min value and one the right for max value.
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 6:43

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
if I understand correctly, there is for each "Seek Panel" option (Standard, 
Blitz,
Lightning) a button at right site which oppens a "Edit Seek" dialog. What is 
little
bit confusing is "Time Control" option in this dialog.

I suggest:
1. remove "Time Controls" option from "Edit Seek" panel.
2. add "No Controls" option to main "Seek Panel" window. But I think it should 
have
better name something like "Any player without any limitation".
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 6:54

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
in "Chess Variant" section there is missing "Don't Care" option.
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 7:00

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
it looks like there is some "escaping window" problem. See comment in attached 
picture.
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 7:05

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
another idea for Edit Seek dialog. Use tabs instead of "Edit Seek" dialog. 
Don't know
how well does tabs fit in existing program.
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 7:16

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi,
to make "Rated Game" consistent with other options in the same dialog.
Regards

Original comment by igo...@gmail.com on 5 Jan 2010 at 7:39

Attachments:

GoogleCodeExporter commented 9 years ago
Comments on
#14 If there is a double slider widget in pygtk, it's a good idea to use it 
here.

#15 I agree that time control section is redundant, so "No control" and "Time 
limit" 
    is enough, as shown in #18

#16 I don'n think "Don't Care" in Chess variant section is a viable option.

#18 Using tabs for setting same options seems overcomplication for me.

#19 Agreed.

#20 Using radio buttons for only 2 options instead of checkbox is not a good 
idea IMO.

Original comment by gbtami on 5 Jan 2010 at 10:00

GoogleCodeExporter commented 9 years ago
#18 -> ok, you are right tabs would complicate too much. So probably better 
solution
like in #18, but without tabs.

#16 -> ok, you are right, chess player should know what kind of game he/she 
would
like to play.

#20 -> you are right, what I don't like is that "Rated Game" option looks like 
it
belongs to "Chess Variant" section. So maybe there should be section like 
"Rating
Variant" (the same logic as "Chess Variant") and then check button bellow "Rated
Game". So some kind of separation between "Chess Variant" and "Rated Game".

Original comment by igo...@gmail.com on 5 Jan 2010 at 10:24

GoogleCodeExporter commented 9 years ago
Happy New Year everyone!

Matt, this is great work indeed! Good to see you have found ways around most of 
the 
difficulties, I know this issue contains.

I think the idea of a configuration window is good. The alternative would be 
the small 
popout things, which we have in the NewGameMenu, but here the configuration 
buttons 
are not in a dialog but a mainwindow, and thus a dialog feels good. There is as 
well 
too much information put it in anything less than a dialog.

I agree with every single point of your TODO. Only I'm not 100% sure what you 
mean by 
'rating point increments should be smaller'. Does this refer to the step of the 
sliders?

I'm impressed with the amount of activity in this thread. My opinions on the 
discussed 
topics are as follows:

[On the Time Settings]
The SeekDialog differs from the NewGameDialog in that it is a configuration 
panel and 
not an active object. Thus the SeekDialog really shouldn't have any 
sub-configuration 
panels itself. The is no need for the SeekDialog to remember time settings, the 
outer 
seek panel already does exactly that.
I think therefore, that the time-spinners should be moved directly into the 
dialog, 
replacing the current radiobuttons.

[On the Tolerance Slider]
First of all gtk contains no double slider, or anything similar with more than 
very 
basic features.
Secondly, I think a rating window is most intuitive, when it has a position and 
a 
width. No need of fiddling with upper and lower bounds. Possibly the tolerance 
could 
even be turned into a link 'Change tolerance' which on click shows the slider. 
Most of 
the time a standard width of 200 or so will work just fine.

[On the Chess Variants]
Similar to the Time Settings, we don't want memory in the configuration panel. 
A 
single combobox should do.
I don't think we need a 'don't care' option. As far as I remember, that is not 
even 
possible on FICS.

[On Tabs]
Tabs could be a fine solution, if there was only one "Gear" button in the 
SeekPanel, 
but in keeping consistency with the NewGameDialog I think it is better to have 
one 
"Gear" button for each item, and thus no tabs.

[On the Rating Checkbox]
The rating Checkbox is a bit problematic because it is a lone option, and we 
don't 
have any 'miscellaneous' options to group it with. Maybe the best solution is 
to bring 
it out right next to the Manual checkbox.
As with the variants it is not possible in fics to 'not care' about rating.

At the end of the day your opinion will be strongest, since you code it. :)
I'm looking forward to see this in trunk ;)
Cheers, Thomas

Original comment by lobais on 5 Jan 2010 at 12:06

GoogleCodeExporter commented 9 years ago
Igor,

While it is true, that PyChess might currently be using a few too many windows, 
grouping them together is not something we can do. That is the task of the 
windowmanager.

And btw. nice work image-commenting everything :D

Original comment by lobais on 5 Jan 2010 at 12:07

GoogleCodeExporter commented 9 years ago
Thanks for the great feedback everyone, especially Igor's image comments!

In regards to there being too many windows, I agree. Hopefully GNOME 3.0 will 
help with this when 
they ditch the crappy MS Windows taskbar way of grouping windows.

In regards to the tabs, I think what we have so far with the radio button saved 
seeks in the FICS 
lounge is just as good if not better (and already coded ;). I've thought of 
using similar 
Blitz/Standard/Lightning toggle buttons (like Evolution has for Mail, Contacts, 
Calendars, etc.) for the 
Game List tab of the FICS Lounge when it gets some love in the future, though.

What everyone pointed out about the Time Settings and Chess Variants having 
saved state being 
redundant in the dialog was absolutely right and I've fixed that.

I agree that the "Rated Game" checkbox at the end is a little bit problematic 
visually. Thomas, your 
idea of moving it to the FICS Lounge and grouping it with the "Manual Accept" 
checkbox would be the 
ideal solution, but it's not possible. This is because in FICS you can play 
untimed games, but they 
can't be rated games nor chess variant games (they have to be normal chess). So 
when "Untimed" is 
checked in the Time Control section, the dialog has to make the Rated Game 
checkbox and the 
Chess Variant sections insensitive, so the Rated Game checkbox has to go in the 
Edit Seek dialog. 
The solution I chose is to move Manual Accept into the dialog and group it with 
Rated Game in an 
additional Options section.

The Opponent Strength/Rating section is definitely the most complicated section 
of the Edit Seek 
dialog and the trickiest to get right from a usability and UI perspective and 
so I thought about it alot. I 
had a minor epiphany when I realized that this section of the dialog, while it 
is the most complicated 
section, is also probably the least used of all the sections, or at least, 
should be the least used if it's 
designed properly. When configuring a seek and looking for a game, most people 
from beginner users 
to advanced users basically want to do one of two things, either a) play 
someone of roughly their 
strength, or b) play someone of any strength ("Don't Care"). B is easy, but A 
isn't yet because even 
though you may adjust the rating slider center to match your rating for the 
current type of game you're 
playing, when your strength changes (and it does after every game you play) or 
when you change the 
chess variant or the time control, you need to manually update this section of 
the dialog, which is 
annoying. My idea was to set this up so that (if desired) the strength center 
automatically adjusts 
when you finish a game, change the time control, or change chess variant 
elsewhere in the dialog. So 
I went off on a tangent for a weeks in January and adapted (from C to Python) 
the ChainButton thing 
from The GIMP's Image Resolution dialogs which have a little chain icon that, 
when toggled, 
constrains x/width to y/height. The screenshot attached shows how this might 
look (although the code 
doesn't yet enforce the constraint when the values are "chained"/"locked"). 
After getting it to work, I 
decided in the end to ditch this aspect of the dialog in the interest of 
getting the dialog finished 
because I found out that the image files for the "chain" icon are too large 
vertically for connecting 
anything other than spinbuttons. One easy way to work around this though might 
be to simply rotate 
the chain icon images 90 degrees.

Thomas, I've added issue 233 as a blocker to fixing this (for me at least) 
because I can't edit glade 
files until it's fixed and this prevents me from fixing the last bullet item of 
my TODO list (UI for when 
you have too many outstanding seeks and a Remove Seek button). It's not really 
necessary to do that 
though to finish the Seek Dialog though, I've just grouped them together 
mentally, so feel free to ignore 
it. Also, 233 might not block you from doing it... ;)

Original comment by mattgatto on 28 Apr 2010 at 1:38

GoogleCodeExporter commented 9 years ago

Original comment by mattgatto on 28 Apr 2010 at 1:39

Attachments:

GoogleCodeExporter commented 9 years ago
Excellent roundup and excellent screenshots.
I think most of the glades are already moved, but it might be a good idea to 
check it 
through.
I've attached a new colors screenshot.

Original comment by lobais on 28 Apr 2010 at 3:50

Attachments:

GoogleCodeExporter commented 9 years ago
I forgot to add widgets/ChainBox.py I think and will do it when I get home.

Original comment by mattgatto on 28 Apr 2010 at 4:06

GoogleCodeExporter commented 9 years ago
Or to have the dynamic effect.

Original comment by lobais on 28 Apr 2010 at 4:40

Attachments:

GoogleCodeExporter commented 9 years ago
Awesome!!

Original comment by mattgatto on 28 Apr 2010 at 5:28

GoogleCodeExporter commented 9 years ago
mattgatto,
nice job done!

Opponent Strength: you are correct, most people would like to play with 
opponent that
has some kind of tolerance and this tolerance should change when my rating 
changes.
One little note: I like to play with players that are stronger - better rating 
then
me because a) it is challenge  b) if the opponent rating is to small and I lose 
the
game, my rating drops too much. So I like to play with players that have 50 
points
less then me and 200 points more then me. If I understand correctly according to
Tolerance +/- 200, I can't set this settings. I don't know if we should 
complicate
this tolerance further, but it would be nice if there was Lower frontier 
tolerance
and Upper frontier tolerance. What is "Center" option for?

Original comment by igo...@gmail.com on 28 Apr 2010 at 5:37

GoogleCodeExporter commented 9 years ago
Thanks Igor. That actually IS possible. Both the tolerance and center are 
adjustable in increments of 25 
points. So setting the tolerance to 250 and the center to 200 above your rating 
would accomplish what 
you want.

Original comment by mattgatto on 28 Apr 2010 at 6:32

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
mattgatto,
what happens when my rating changes:
1. tolerance is automatically adapted to new rating
2. I have to manually adapt tolerance

Original comment by igo...@gmail.com on 28 Apr 2010 at 7:24

GoogleCodeExporter commented 9 years ago
If I may.
igor2x: The tolerance wont't change, but the center of strength will. It will 
move to 
your new rating, or
Ideally - if you have increased your center manually - it will increase by the 
same 
amount as you received.

matt: Sounds great.

Original comment by lobais on 28 Apr 2010 at 8:55

GoogleCodeExporter commented 9 years ago
Nice work!! Sounds terrific.Can't wait to try it.Thankyou

Original comment by ahwar...@gmail.com on 28 Apr 2010 at 10:59

GoogleCodeExporter commented 9 years ago
This is the correct tarball and diff with lib/pychess/widgets/ChainVBox.py 
included

Original comment by mattgatto on 28 Apr 2010 at 1:16

Attachments:

GoogleCodeExporter commented 9 years ago
Hmm, I hadn't thought of the automatic strength center adjustment case where 
someone has a non-
standard strength center manually set. I agree it makes sense in the simple 
case where someone's 
rating for the type of game the seek is configured for, changes (because they 
played a few games of that 
type previously and their rating changed). But what about the case where 
someone changes the variant 
or the time control? I guess in this case it should still keep the same 
strength center <-> strength 
differential configured, right?

In other words, taking Igor's case as an example where he has manually adjusted 
his strength center 
slider value for the seek he is editing to 200 points above his rating, and the 
time control for this seek is 
set to blitz = 5 0, and then he changes the time control to standard = 15 5, 
and his standard rating is 300 
points higher than his blitz rating, then the dialog would auto-adjust his 
strength center slider value to 300 
points above its previous value to hold the implied ratio he manually set where 
(his rating center) - 
(opponent's rating) = -200 ?

Original comment by mattgatto on 28 Apr 2010 at 1:48

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Thanks for posting the tarball.I have been trying out the new features and have
encountered no issues.The strength centre sliders and the ability to issue 
variant
seeks are nicely packaged in keeping with the simplicity of the pychess 
approach.

Original comment by ahwar...@gmail.com on 29 Apr 2010 at 7:33

GoogleCodeExporter commented 9 years ago
Hi, I am not a programmer, can someone put some simple instructions how to apply
above "patch" to my PyChess? I would really like to test this feature.
Thanks

Original comment by igo...@gmail.com on 3 May 2010 at 8:08

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
The easiest way (until I publish an hg clone, I'll try and do this Wendesday) 
to try it out for now is to 
download pychess-newseekdialog.tar.gz from my above comment and then cd into 
your pychess svn or 
hg directory and do for example:
gatto@gatto-laptop:~/code/svn/pychess$ tar xzf 
~/Downloads/pychess-newseekdialog.tar.gz

If it unpacked correctly you should see a file under "pychess/lib/" like
~/code/svn/pychess/lib/pychess/widgets/ChainVBox.py

Original comment by mattgatto on 4 May 2010 at 12:56

GoogleCodeExporter commented 9 years ago
mattgatto, thanks a lot for instructions. I have tested it and it looks great. 
This
is one single most important feature I have been waiting for a while and I love 
it.

Original comment by igo...@gmail.com on 4 May 2010 at 2:02

GoogleCodeExporter commented 9 years ago
BTW, I have set some settings in Edit Seek dialog and clicked on "Send seek" 
button.
Is there any way I could cancel sent seek?

Original comment by igo...@gmail.com on 4 May 2010 at 2:07

GoogleCodeExporter commented 9 years ago
That feature is planned (see the TODO list PNG above), although not necessary 
for finishing the dialog. 
It's very easy to implement but I haven't been able to edit glade files lately 
because of version 
incompatibilities and I need to be able to do that to add a "Remove Seek" 
button to the 
"Seeks/Challenges" FICS Lounge tab. I'll try to do it soon though.

Original comment by mattgatto on 5 May 2010 at 12:29

GoogleCodeExporter commented 9 years ago
Is there an availble clone?

Original comment by lobais on 24 May 2010 at 1:02

GoogleCodeExporter commented 9 years ago
i haven't made one yet but I can if you want. I've been unsuccessfully working 
on fixing some smaller 
offer.py stuff that I thought was ready to commit a month ago. 

Original comment by mattgatto on 25 May 2010 at 2:38

GoogleCodeExporter commented 9 years ago
Issue 563 has been merged into this issue.

Original comment by gbtami on 15 Jun 2010 at 8:47

GoogleCodeExporter commented 9 years ago

Original comment by lobais on 23 Jun 2010 at 8:50