* New crop guide: square center, closes#6342
* Turn `CropParams::guide` into an `enum`
This saves recurring string comparisons.
Co-authored-by: Flössie <floessie.mail@gmail.com>
When a button is released and the edit state is not "dragging", reset
the drag delta to zero.
There was a problem with the spot removal spots being dragged. If a spot
is deleted while being dragged, dragging another spot will cause a jump.
Accumulate/coalesce GDK_SCROLL_SMOOTH events until we equal or exceed +/-1.0
This avoids having one zoom adjustment for every single event which makes touchpad zooming unusable due to frequent
small deltas
This makes trackpad zooming usable while having no effect on mice that emit GDK_SMOOTH_SCROLL with values of +/-1.0 instead
of GDK_SCROLL_UP and GDK_SCROLL_DOWN
If any mice exist that have scroll wheel detents but emit smaller values per detent, this may have the negative effect of
requiring multiple detents per zoom level. It remains to be seen whether any mice behave like this. The discrete step
implementation of zoomSteps requires us to coalesce events instead of smoothly zooming in and out.
- The mouse cursor now is an open hand when hovering over something
which can be panned, e.g. the red square in the Navigator panel. It is
a crosshair when hovering over the main preview.
- When you pan the red square or the main preview, it's a closed hand.
- Now the cursor changes to a crop icon when you're in crop mode.
- The cursor changes as needed when you want to resize a crop edge or
corner.
- The cursor changes when you're in straighten mode.
- The curve "add adjustment point" and "edit node in/out values" icons
now contain a node in the icon and are more representative of what
they do.
- The small reset/undo icon is made a bit clearer.