Hi,

just wanted to get this out before another week passes, as I probably 
won't be getting to it before next weekend (or maybe the odd sleepless 
night).

I posted an update to the patch to
        https://bugzilla.gnome.org/show_bug.cgi?id=325564
which now hides the old layer modes unless they are loaded from an XCF.

I haven't addressed anything else in the patch yet (except very minor 
changes / comments), specifically compositing onto nothing (which I 
consider definitely buggy now) and babl. But both are actually not 
specific to the LCH layer modes.

About hiding the old layermodes:
(This was my first contact with gtk et al., so I hope what I came up 
with isn't completely braindead)
After pursuing some dead-end roads, this is what I finally did:

- added 'was_loaded_with_obsolete_modes' to GimpImage (looks a bit
   lonely there -- I feel like I missed the right place to add the flag)

- in gimp_layer_tree_view_init(), create two paint_mode_menus, one
   'default' and one 'obsolete'. Connect signal handler / help data
   to both of them.

- instead of gimp_item_tree_view_add_options(), call a modified
   gimp_item_tree_view_add_options_mul(), which takes a list of
   options to add to an hbox. (only first one is shown). This
   saves us passing up a pointer to the hbox and breaking up
   encapsulation.

- in gimp_layer_tree_view_set_image(), show/hide the menus as apropriate
   and always set paint_mode_menu to the current menu so any other code
   automatically references the current menu only.

One other thing, also not specific to LCH modes, but somewhere in the 
same orbit: The Soft Light/Overlay 'situation' -- shouldn't we take the 
opportunity of bumping up the XCF version to finally fix that, too? I'd 
volunteer for the grunt-work, if only I knew which one needs to be 
changed and to what.

Regards

Rupert
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

Reply via email to