Bug 787919 - Tool options are lost when switching device
GimpDeviceInfo is the only way to store per-device settings like color, brush etc. It used to be derived from GimpContext and therefore limited to the context's properties, causing everything else (all tool-individual options) to be lost on device change. Derive it from GimpToolPreset instead, so it's capable of storing arbitrary tool options. Adapt things to the new class hierarchy and add a bunch of signal handlers that make sure the active device's GimpDeviceInfo is updated properly when the tool changes. Also change device switching accordingly. Change GimpDeviceStatus to only show the stuff that is relevant to each device's tool. And various small changes to make things work properly...
Showing with 405 additions and 207 deletions