After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 506900 - Dasher interface lacks HIG compliancy
Dasher interface lacks HIG compliancy
Status: RESOLVED FIXED
Product: dasher
Classification: Applications
Component: general
4.7.x
Other Linux
: Normal minor
: ---
Assigned To: Aaron Larson
Phil Cowans
Depends on:
Blocks: 461816 519278 519313
 
 
Reported: 2008-01-02 18:48 UTC by Pedro de Medeiros
Modified: 2008-03-25 06:00 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Main preferences glade file (95.78 KB, application/xml)
2008-03-10 17:14 UTC, Michael Terry
  Details
Maemo preferences glade file (46.66 KB, application/xml)
2008-03-10 17:14 UTC, Michael Terry
  Details
Proposed patch (552.35 KB, patch)
2008-03-10 17:20 UTC, Michael Terry
none Details | Review
Patch with potfiles.in change (552.86 KB, patch)
2008-03-17 22:54 UTC, Michael Terry
committed Details | Review

Description Pedro de Medeiros 2008-01-02 18:48:51 UTC
These frames should have their labels fixed by removing the colon character (:). 

#: ../Data/glade/dasher.compose.glade.h:1
#: ../Data/glade/dasher.direct.glade.h:1
#: ../Data/glade/dasher.fullscreen.glade.h:1
#: ../Data/glade/dasher.gameWIP.glade.h:1
#: ../Data/glade/dasher.traditional.glade.h:1
msgid "<b>Actions:</b>"

#: ../Data/glade/dasher.compose.glade.h:2
#: ../Data/glade/dasher.direct.glade.h:2
#: ../Data/glade/dasher.fullscreen.glade.h:2
#: ../Data/glade/dasher.gameWIP.glade.h:2
#: ../Data/glade/dasher.traditional.glade.h:2
#: ../Data/glade/dashermaemo.glade.h:3
#: ../Data/glade/dashermaemofullscreen.glade.h:1
msgid "<b>Adaptation:</b>"

#: ../Data/glade/dasher.compose.glade.h:3
#: ../Data/glade/dasher.direct.glade.h:3
#: ../Data/glade/dasher.fullscreen.glade.h:3
#: ../Data/glade/dasher.gameWIP.glade.h:3
#: ../Data/glade/dasher.traditional.glade.h:3
#: ../Data/glade/dashermaemo.glade.h:4
#: ../Data/glade/dashermaemofullscreen.glade.h:2
msgid "<b>Alphabet Selection:</b>"

#: ../Data/glade/dasher.compose.glade.h:4
#: ../Data/glade/dasher.direct.glade.h:4
#: ../Data/glade/dasher.fullscreen.glade.h:4
#: ../Data/glade/dasher.gameWIP.glade.h:4
#: ../Data/glade/dasher.traditional.glade.h:4
msgid "<b>Appearance Options:</b>"

#: ../Data/glade/dasher.compose.glade.h:5
#: ../Data/glade/dasher.direct.glade.h:5
#: ../Data/glade/dasher.fullscreen.glade.h:5
#: ../Data/glade/dasher.gameWIP.glade.h:5
#: ../Data/glade/dasher.traditional.glade.h:5
msgid "<b>Application Options:</b>"

#: ../Data/glade/dasher.compose.glade.h:6
#: ../Data/glade/dasher.direct.glade.h:6
#: ../Data/glade/dasher.fullscreen.glade.h:6
#: ../Data/glade/dasher.gameWIP.glade.h:6
#: ../Data/glade/dasher.traditional.glade.h:6
msgid "<b>Application Style:</b>"

#: ../Data/glade/dasher.compose.glade.h:7
#: ../Data/glade/dasher.direct.glade.h:7
#: ../Data/glade/dasher.fullscreen.glade.h:7
#: ../Data/glade/dasher.gameWIP.glade.h:7
#: ../Data/glade/dasher.traditional.glade.h:7
msgid "<b>Colour Scheme:</b>"

#: ../Data/glade/dasher.compose.glade.h:8
#: ../Data/glade/dasher.direct.glade.h:8
#: ../Data/glade/dasher.fullscreen.glade.h:8
#: ../Data/glade/dasher.gameWIP.glade.h:8
#: ../Data/glade/dasher.traditional.glade.h:8
msgid "<b>Control Style:</b>"

#: ../Data/glade/dasher.compose.glade.h:9
#: ../Data/glade/dasher.direct.glade.h:9
#: ../Data/glade/dasher.fullscreen.glade.h:9
#: ../Data/glade/dasher.gameWIP.glade.h:9
#: ../Data/glade/dasher.traditional.glade.h:9
msgid "<b>Dasher Font:</b>"

#: ../Data/glade/dasher.compose.glade.h:10
#: ../Data/glade/dasher.direct.glade.h:10
#: ../Data/glade/dasher.fullscreen.glade.h:10
#: ../Data/glade/dasher.gameWIP.glade.h:10
#: ../Data/glade/dasher.traditional.glade.h:10
msgid "<b>Direction:</b>"

#: ../Data/glade/dasher.compose.glade.h:11
#: ../Data/glade/dasher.direct.glade.h:11
#: ../Data/glade/dasher.fullscreen.glade.h:11
#: ../Data/glade/dasher.gameWIP.glade.h:11
#: ../Data/glade/dasher.traditional.glade.h:11
msgid "<b>Editor Font:</b>"

#: ../Data/glade/dasher.compose.glade.h:12
#: ../Data/glade/dasher.direct.glade.h:12
#: ../Data/glade/dasher.fullscreen.glade.h:12
#: ../Data/glade/dasher.gameWIP.glade.h:12
#: ../Data/glade/dasher.traditional.glade.h:12
msgid "<b>Input Device:</b>"

#: ../Data/glade/dasher.compose.glade.h:13
#: ../Data/glade/dasher.direct.glade.h:13
#: ../Data/glade/dasher.fullscreen.glade.h:13
#: ../Data/glade/dasher.gameWIP.glade.h:13
#: ../Data/glade/dasher.traditional.glade.h:13
#: ../Data/glade/dashermaemo.glade.h:6
#: ../Data/glade/dashermaemofullscreen.glade.h:3
msgid "<b>Language Model:</b>"

#: ../Data/glade/dasher.compose.glade.h:14
#: ../Data/glade/dasher.direct.glade.h:14
#: ../Data/glade/dasher.fullscreen.glade.h:14
#: ../Data/glade/dasher.gameWIP.glade.h:14
#: ../Data/glade/dasher.traditional.glade.h:14
msgid "<b>Prediction:</b>"

#: ../Data/glade/dasher.compose.glade.h:15
#: ../Data/glade/dasher.direct.glade.h:15
#: ../Data/glade/dasher.fullscreen.glade.h:15
#: ../Data/glade/dasher.gameWIP.glade.h:15
#: ../Data/glade/dasher.traditional.glade.h:15
#: ../Data/glade/dashermaemo.glade.h:8
#: ../Data/glade/dashermaemofullscreen.glade.h:5
msgid "<b>Smoothing:</b>"

#: ../Data/glade/dasher.compose.glade.h:16
#: ../Data/glade/dasher.direct.glade.h:16
#: ../Data/glade/dasher.fullscreen.glade.h:16
#: ../Data/glade/dasher.gameWIP.glade.h:16
#: ../Data/glade/dasher.traditional.glade.h:16
#: ../Data/glade/dashermaemo.glade.h:9
#: ../Data/glade/dashermaemofullscreen.glade.h:6
msgid "<b>Speed:</b>"

#: ../Data/glade/dasher.compose.glade.h:17
#: ../Data/glade/dasher.direct.glade.h:17
#: ../Data/glade/dasher.fullscreen.glade.h:17
#: ../Data/glade/dasher.gameWIP.glade.h:17
#: ../Data/glade/dasher.traditional.glade.h:17
msgid "<b>Starting And Stopping:</b>"

#: ../Data/glade/dashermaemo.glade.h:5
msgid "<b>Display Size:</b>"

#: ../Data/glade/dashermaemo.glade.h:7
#: ../Data/glade/dashermaemofullscreen.glade.h:4
msgid "<b>Orientation:</b>"

Besides that, they should lose their frame shadow and have more spacing to conform to the HIG.
Comment 1 Michael Terry 2008-03-08 22:51:39 UTC
I claim this Task.
Comment 2 Michael Terry 2008-03-10 17:14:27 UTC
Created attachment 106990 [details]
Main preferences glade file
Comment 3 Michael Terry 2008-03-10 17:14:57 UTC
Created attachment 106991 [details]
Maemo preferences glade file
Comment 4 Michael Terry 2008-03-10 17:20:06 UTC
Created attachment 106992 [details] [review]
Proposed patch

And here's the patch.  As I worked on this, I noticed that there was massive duplication of the preferences dialog.  So I broke out the preferences part of the glade files into its own file.  With a maemo version and a normal version.  Those are the two above attached files.

The rest of the patch is to support loading the preferences part out of a separate file and to take out the preferences window from the existing glade files.
Comment 5 Michael Terry 2008-03-10 17:22:09 UTC
Oh, and I forgot to mention.  Put those two glade files as 'dasher.preferences.glade' and 'dashermaemo.preferences.glade' in the glade directory.
Comment 6 Michael Terry 2008-03-17 22:54:00 UTC
Created attachment 107494 [details] [review]
Patch with potfiles.in change

Whoops, I forgot to update POTFILES.in in the previous patch.  Here's a new one with that fixed.

Also, I see in the accessibility contest rules that I should disclose copyrights to my work.  Any new code is copyrighted by me.
Comment 7 Aaron Larson 2008-03-22 21:15:59 UTC
Michael, thanks for the patch.  I'm not that familiar with glade, so perhaps you can help me out here.  How do I go about comparing your patched file with the extracted text from the preferences?  In addition to whitespace, there appear to be a large number of changes that would be tedious to review in source form, and comparing in the GUI would be a nightmare.
Comment 8 Michael Terry 2008-03-23 13:59:09 UTC
That is an excellent question, and one for which I have no easy answer.

My version of glade (the most recent) seemed to want to change all the indenting of the glade files no matter what.  And I wasn't about to hand-edit the files.  So I gave up on trying to make the glade files diff-able.  Plus, as you say, that would have been exceedingly tedious anyway.

I don't know of any glade-differ utility that will show you differences in a pretty/graphical manner.

Well, there's two main things I did:  break the preferences off into their own glade files.  And modify the broken-off files.

To verify that I could correctly unify all the preferences widgets, I cut and pasted each glade's 'preferences' widget into its own file.  Then I diffed those to see if the 5 or so copies differed.  They do a little bit.  So you could make sure that I correctly translated those changes into the final one.  Ditto for the maemodasher glades.

To verify that I correctly modified the resulting files, you probably need to do it graphically.  There's only so many tabs...  :)  The actual work of my patch was mostly adjusting padding and changing GtkFrames into GtkVBox+GtkLabel+GtkAlignment+GtkVBox.  The specific labels this bug talks about are all the bold section headers.  Those should be easy to verify that I didn't leave any colons.

The other thing to be careful of is that I didn't rename anything important or mess with any of the signal handlers.  To verify that, you might want to either go through each button in the glade manually, or look for all referenced widgets in the code.  Then verify that those are the same.  The latter is easiest, as there aren't too many.

Signal handlers might be easiest checked by grepping the glade files for 'handler' (I think) and comparing.

That's the easiest way I can think of comparing these.  Which sucks.
Comment 9 Aaron Larson 2008-03-25 06:00:43 UTC
Michael, I verified all the callbacks were ok and the UI changes were as desired.  Thanks for the patch.