Switch gexiv2 include to use gexiv2/gexiv2.h

The current pkg-config file for gexiv2 adds a cflag
of -I$prefix/gexiv2 but this is already broken, since
the gexiv2/gexiv2.h file includes other files using
a gexiv2/gexiv2-xxxx.h path. As such current releases
can only be used if installed in /usr which means the
default include path works. Future releases of gexiv2
fix the pkg-config file and will require use of
gexiv2/gexiv2.h

Fixes bug #21260
Onion skinning in preview mode should show start at the selected image.

Currently onion skinning adds the images *before* the selected one. But
in preview mode, it does not make sense. You want to start to layer from
the selected one, included.

Fixes bug #21255
Display the currently selected image when cancelling preview.

Currently on preview cancel, the last preview image would keep displayed
until you select a thumbnail. Instead let's redisplay the currently
selected image directly.

Also prevent any race condition by not displaying a preview image if the
preview mode is already cancelled.

Fixes bug #21253
Do not ever set empty tooltips on capture and preview buttons.

Fixes bug #21249
Fix onion skinning in preview mode.

The dimension of a preview are usually smaller than actual images.
We take care of this case by scaling buffers to the same size before
display.

Fixes bug #21254
Introduce menu items for capture/preview

Add menu items for the capture/preview operations with visible
key shortcut accelerators. Remove the hand-crafted shortcut
code.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Remove unused variable in key release handler

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Increase opacity of top level image when onion skinning

Make the top level image stand out more by increasing the
opacity to 65% instead of 50%.

Fixes bug #21288

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reduce intermediate layer opacity to 30%

To prevent previous images being washed out too quickly
reduce the opacity of intermediate layers to 30% instead
of 50%.

Fixes bug #21288

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Fix missing break in focus key accelerators

The switch block handling key accelerators was missing
break statements in the focus code. This focus out was
always cancelled out by a focus in.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Improve ability to control manual focus

Make the , and . key accelerators to very fine grained
focus control (64 steps), and allow < and > to do coarse
grained focus control (512 steps)

Fixes bug #21101

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Move and rename auto-drawer classes

Move the auto-drawer classes into the main directory. Change the
naming convention to follow normal GTK practice.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Remove GTK2 compat code

Entangle is GTK3 only so we can remove the GTK2 compat code
from the auto-drawer related classes.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Fix bracket whitespace usage

Import bracket-spacing.pl script from libvirt for
validating the whitespace around brackets and semicolons

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Fix leak of image when exiting preview mode

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Add some API docs with gir annotations

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Keep the progress/cancel toolbar permanently visible

The preview API for Canon cameras triggers progress bar
updates. Since previews are taken many times a second this
causes the progress bar to show/hide very frequently which
is unusable. Instead of showing/hiding toolbar controls
just keep them visible all the time and tweak sensitivity
when required

Fixes bug: #21246

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Update for 0.5.4 release

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Refresh translations from transifex

Ought to remember todo this *before* a new release next time.

Signed-off-by: Daniel P. Berrange <dan@berrange.com>
Remove use of deprecated stock constants

Use plain strings instead of GTK_STOCK constants which
are now deprecated

Signed-off-by: Daniel P. Berrange <dan@berrange.com>