Fix build --without-spice-gtk
Use -H instead of -h for the short --hotkeys

-h conflicts with the short version of --help.

Fixes rhbz#980846
data/remote-viewer.desktop: Fix missing trailing ;

data/remote-viewer.desktop: error: value
"x-scheme-handler/spice;application/x-virt-viewer" for string list key
"MimeType" in group "Desktop Entry" does not have a semicolon (';') as
trailing character
Remove debugging leftover
display: add fullscreen property

Now that fullscreen state is no longer global to application, we need to
have the current state per display
window: set display fullscreen state
Use display fullscreen state instead of app state

This is a recent regression introduced by independant fullscreen windows
support, which reopened the bug "Resolution higher than native could not
be set in fullscreen"

https://bugzilla.redhat.com/show_bug.cgi?id=864929
usbredir: Don't depend on channel ordering

Before this patch-set virt-viewer was calling spice_session_has_channel_type(
session, SPICE_CHANNEL_USBREDIR) from the session-initialized signal handler,

So as soon as the display channel gets added to the session, the check was
done. This causes the check to return FALSE for usbredir capable vms if
the usbredir channel(s) get added to the session after the display channed.

This patch refactors things to not depend on channel creation order.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
app: always use maybe_quit()

Now that closing a window is like quiting, there is no reason to ask or
skip the confirm dialog depending on how you quit (menu/toolbar/window).

https://bugzilla.redhat.com/show_bug.cgi?id=905684
vnc: implement release_cursor()

Error reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=904094
Refresh translations from transifex

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
virt-viewer: Allow TLS-only SPICE connections

When trying to connect to a VM which uses SPICE with only a tls port
set:
<graphics type='spice' tlsPort='-1' autoport='no' listen='0' keymap='en-us'>
    <listen type='address' address='0'/>
</graphics>
the connection will fail with
"Cannot determine the graphic address for the guest spice"

virt_viewer_extract_connect_info() indeed assumes that if no
non-TLS port is set, then this means we are trying to connect through
an already open socket, and otherwise the connection fails.
The presence of a TLS port is only checked when a non-TLS port is set.

This commit reworks that logic to start by extracting both the non-TLS
and TLS ports (only when using SPICE for the latter), and by only trying
to parse the socket to use if none of these 2 ports is set

This fixes rhbz#982840
Unregister events and callbacks on dispose

Without these libvirtd reports an error on virt-viewer shutdown:
virNetSocketReadWire:1377 : End of file while reading data: Input/output
error
Remove typo  \\n in de.po translation

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Remove dead function
Disable auto-conf when user toggle display

Let's get out of auto-conf mode whenever user tricks display visibility.
Initialize fullscreen_monitor to invalid value

This makes it easier to debug when a window has no associated monitor.
Realize the display when it's added to the window

Make sure the widget get some dimensions, so if the display is enabled
before it is actually shown, it will have non-zero size
Hide extra monitors that don't fit in auto-conf

Virt-viewer sometimes opens one too many windows if the guest is
configured with more monitors than the client (the spice monitor
configuration request and the current config aren't related, so there is
some race). Instead, let's hide extra monitors that wouldn't fit in
auto-conf.

https://bugzilla.redhat.com/show_bug.cgi?id=985898
wxs: add usb.ids and keyboard-shortcuts.png