Lars Clausen wrote:
> On Tue, 2007-09-25 at 20:52 +0200, Ondrej Mikle wrote:
>> I send a patch that makes the saving and loading of accel keys work. The
>> accel keys are stored in the old menurc file ($HOME/.dia/menurc), but
>> the file has different format (the glib key-file -
>> http://library.gnome.org/devel/glib/2.12/glib-Key-value-file-parser.html),
>> perhaps you may wish to change the name of the file.
> 
> Thank you.  I tried the patch, and it appears to work.  However, even
> without the patch, if I just remove the ; before a line, it also works,
> so I a) can't tell if your patch works better or not, and b) don't see
> the reason to change the format to something less standard that requires
> our code to do special parsing of something that there exists a parser
> for.

Yeah, I discovered it too. The problem was lack of verbose documenation
to behavior of gtk_accel_map_load and the file format (by looking at the
gtk parsing code I thought at first that the semicolon token is simply
skipped, but it actually meant that the whole line was skipped).

I guess I'd send a patch to gtk developers that just makes the
documentation more verbose - how to load/save accels properly (since
only comments will be changed, there should be no problem in accepting it).

> I also don't see how your patch fixes the original problem:
> 
>> Also, menus_init() (at app/menus.c:465, where ~/.dia/menurc shortcuts
>> are set up) is called before menus_initialize_updatable_items
>> (app/menus.c:768), which makes Dia ditch all user-chosen settings in
>> the
>> menurc file.
> 
> You haven't moved this call with your patch, AFAICT.

Yes, I haven't. With my patch, it could be moved and the functionality
would be preserved. That's because gtk_accel_map_add_entry won't change
existing accel (which is called from functions such as
gtk_accel_map_load and gtk_action_group_add_actions), but
gtk_accel_map_change_entry works anytime (which my patch used).

That's why gtk_accel_map_load must be called *before* creating all the
accels (so it is in the right place in Dia, albeit the call order may
seem counter-intuitive). This should be mentioned in the gtk docs as well.

So the accel loading/saving was correct, it would just need an entry in
FAQ about editing the menurc file (the syntax and an example). Sorry
about the confusion ;-) I'd update the FAQ, but I couldn't find the file
in the svn repository or anywhere among the sources.

Regards,
 O. Mikle
_______________________________________________
Dia-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/dia-list
FAQ at http://live.gnome.org/Dia/Faq
Main page at http://live.gnome.org/Dia

Reply via email to