Change GimpBrushSelect to choose only brush in app/widgets
This is a reminder to finish work started with !740 (merged), !771 (merged), and !786 (merged) related to GimpResource on the libgimp side. Its a bug now, because of enhancement in progress.
The widget is a dialog in app/widgets/gimpresourceselect.c. It is a remote widget used only (?) by plugins. It is on the app side because the app knows the set of installed resources such as brush. Libgimp and plugins have GimpResourceSelectButton's that popup this widget.
Currently, the widget lets a user choose a brush, spacing, and opacity. It should only let the user choose a brush. (Like the widgets for font, gradient, pallete, pattern.) There is discussion in #8724, which proposed something else (a LoadedBrush or StyledBrush concept, meaning the tuple of brush, spacing, opacity.)
Currently, the widget callbacks across the wire for any change to brush, spacing, opacity. This is known to crash when user touches e.g. spacing. (Because the earlier MR's left this unfinished.) The widget should only callback when a brush is changed.
The wire protocol should change to only pass the brush ID. The app side currently passes brush, spacing, opacity, but should not. The libgimp side of the protocol currently ignores the other passed values. The libgimp side should be simplified, it won't need to ignore values.
Any plugins (e.g. GFig) that let the user choose spacing and opacity will need to have additional widgets (simple, primitive valued widgets) to choose spacing and opacity.
I don't think this affects the widgets for font, gradient, palette, pattern, but that should be checked.
Also check that ScriptFu in its own implementation of GUI and registration for SF-BRUSH does not traffic in spacing and opacity.
Check that no plugins (ScriptFu or otherwise) still rely on the old widget trafficing in spacing and opacity.
Update the ScriptFu docs re SF-BRUSH.