1284 Commits

Author SHA1 Message Date
Lukas Venhoda
ce31441c73 remote-viewer-connect: Changed dialog into a window
Changed connect dialog from GtkDialog to a GtkWindow.
Added the necessary signals and buttons, to keep the
behaviour of a dialog. (ESC to close, ENTER to submit)
2015-06-16 14:10:53 +02:00
Lukas Venhoda
ee785d3352 remote-viewer-connect: Check if uri is NULL
URI should be NULL before passing it to remote_viewer_connect_dialog.
2015-06-16 14:10:03 +02:00
Lukas Venhoda
e7dcc5a497 remote-viewer-connect: Changed response to gboolean
remote_viewer_connect_dialog now returns TRUE and FALSE, instead of 0 and -1.

Added a doxygen style comment to document this in code also.
2015-06-16 14:10:03 +02:00
Lukas Venhoda
f4018a8dbe remote-viewer: Connect dialog moved to its own file
Connect dialog from remote-viewer is now in its own file.
Most other dialog also have their own files.
This will make changing the dialog into a window easier.

Renamed connect_dialog to remote_viewer_connect_dialog.
2015-06-16 14:10:03 +02:00
Pavel Grunt
655f5693fd configure: Require spice-protocol 0.12.7
We are already using SPICE_CHANNEL_WEBDAV from spice/enums.h
2015-06-16 09:28:27 +02:00
Christophe Fergeau
21c71767e3 Enable hotkeys after setting them in virt_viewer_app_set_hotkeys
Enabling hotkeys will trigger a rebuild of the 'send keys' menu
containing the new hotkeys. virt_viewer_app_set_hotkeys() was clearing
and then enabling the hotkeys before parsing the string containing the
new hotkeys. This was causing these hotkeys to be missing from the 'Send
keys' menu when they are set through the spice controller because the
'send keys' menu was rebuilt before the new hotkeys are set.

Resolves: rhbz#1055600
2015-06-15 11:08:40 +02:00
Fabiano Fidêncio
9c1f0dccde nsis: Ship libwinpthread even without libvirt support
Without libwinpthread, remote-viewer complains about missing this dll,
when built using --without-libvirt
2015-06-11 14:09:16 +02:00
Sandy Stutsman
2088585143 Add InstallScope="perMachine" to virt-viewer.wxs.in
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1146016
Without this parameter the installer will place the start menu icon in the
Admin users path rather than the 'AllUsers'.  Unprivileged users are unable
to use the menu to start the remote-viewer.

N.B. Because previous installations mixed Users and PerMachine (AllUsers)
paths, this installation will *NOT* properly upgrade them.  They must be
manually uninstalled first.
2015-06-10 13:55:23 +02:00
Daniel P. Berrange
f3642a33d7 Add missing config.h header file 2015-06-10 09:32:02 +01:00
Christophe Fergeau
8884608104 vv-file: Show 'newer-version-url' when version check fails
We currently display a generic error message when the current binary is
older than the minimum version specified in the vv file. The previous
commit added a 'newer-version-url' field to these .vv file. This commit
adds that URL to the error message if it's set.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
a9967fd2f6 vv-file: Add 'newer-version-url' key to .vv files
If set, this URL will be displayed when one of the version checks
('version' of 'versions' key fail). This URL should contain explanations
about how to get an updated remote-viewer version.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
c9a6a27061 test: Add test case for virt_viewer_compare_buildid 2015-06-09 18:06:39 +02:00
Christophe Fergeau
e2df5a739a util: Replace virt_viewer_compare_version with _compare_buildid
This allows us to do a more accurate version check if the .vv file
producer wants to allow builds newer than x.y-z because they contain an
important bug fix.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
809d097cfd vv-file: Use "versions" in min version check
This tries to use the list of versions added to .vv files by the
previous commit. If remote-viewer was built with an os-id specified, and
if it's found in the 'versions' .vv file key, then the version
associated with it is used for version checks, otherwise the 'version'
field is used if present.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
1856dbfa24 Show osid in remote-viewer --version 2015-06-09 18:06:39 +02:00
Christophe Fergeau
fa805bc36c build-sys: Add --with-osid
This new configure flag allows to specify a string ID (eg fedora22,
ubuntu10.04, ..) identifying the OS this remote-viewer build will be
for. This will be used in combination with the new 'versions' field in
.vv files in order to make it possible for the creator of the .vv file
to specify which version it expects for the various OSes which may
connect.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
fd1052ad5d vv-file: Add VirtViewerFile::versions
Specifying a single minimal version in the .vv file is not enough as
the client version will be highly dependent on the OS it's running in.
Windows versioning is not the same as linux versioning, Fedora 21 and
Fedora 22 may have different release numbers for the same version,
and we may want to force a specific minimal release in case of a
critical bug fix.

This commit adds supports for a 'versions' field in .vv files where a
list of os-id:version couples can be stored.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
f94a64d759 vv-file: Refactor virt_viewer_file_check_min_version
Reorganize the code a bit so that it's easier to extend it.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
7a69a239e7 vv-file: Move version checking code in its own function
This moves the version checking code in a
virt_viewer_file_check_min_version helper so that it can be
reused/extended more easily.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
b43f4f2779 build-sys: Always prepend '-' to BUILDID
This was removed by commit 28a6bd6 as WINDOWS_PRODUCTVERSION
needs a buildid without a dash. Apart from this variable,
all other uses of buildid/BUILDID in virt-viewer source tree
need a dash between the version number and the buildid to avoid getting
output like "3.01" instead of "3.0-1"

Rather than patching every location where BUILDID is used, this commit
appends the "-" before substituting/defining BUILDID in configure.ac.
This does not modifies the buildid configure.ac variable, this way
WINDOWS_PRODUCTVERSION won't get an unwanted '-'.
2015-06-09 18:06:39 +02:00
Christophe Fergeau
0401199b9c build-sys: Don't substitute buildid when it was not set
Since it defaults to being 0, we'll get a spurious 0 on remote-viewer
--version if we AC_DEFINE/AC_SUBST it when the user did not specify it.
2015-06-09 18:06:39 +02:00
Pavel Grunt
233c61eaea monitor-mapping: Do not allow to skip a display
Skipping a display does not have an effect because displays will be
reconfigured and shifted on the guest side anyway.

these monitor mappings are not valid:
 'monitor-mapping=1:2;3:1' - display #2 is not specified
 'monitor-mapping=4:2;2:1' - displays #1, #3 are not specified
 'monitor-mapping=3:3'     - displays #1, #2 are not specified
2015-06-04 10:58:09 +02:00
Fabiano Fidêncio
ad438e0b96 session-spice: Only update displays geometry if the agent is connected 2015-06-02 17:29:03 +02:00
Lukas Venhoda
596aea6912 virt-viewer: Fix choose VM dialog alt-tab in gnome2
Choose VM dialog was not visible in taskbar and alt-tab when running on
system with gnome2.

rhbz#1223285
2015-05-21 13:06:31 +02:00
Fabiano Fidêncio
921318e42f Revert "display-vnc: fix zoom-level set by command line"
This reverts commit 68148e1bd1a47ff370c78e2569a57ae0f3d8a400.

The commit in question was causing a regression about a tiny window
being displayed when opening a vnc guest.
The issue only happens with the gtk2 version of virt-viewer.

rhbz#1170071 that was solved by the reverted commit is avoided by
the commit c45a30e909656434aa842d48d828ef038ec7364a.

Resolves: rhbz#1201679
2015-05-21 13:06:31 +02:00
Pavel Grunt
61a1bc4dcb session-vnc: Set window for display to avoid gtk-vnc v0.3.8 crash
The VNC display widget of gtk-vnc v0.3.8 needs a window at the moment
it is initialized otherwise it would crash.

Resolves: rhbz#1196517
2015-05-21 13:06:31 +02:00
Lukas Venhoda
fc2add5827 virt-viewer-display-vnc: Set uuid when using VNC
Notify user, that VNC does not provide uuid.

Set uuid to string "VNC does not provide guid".
This is more informative then just plain "Unknown".
User will now know WHY the GUID is unknown, when using remote-viewer.
2015-05-21 13:06:30 +02:00
Lukas Venhoda
772698a8a6 virt-viewer-display-vnc: Set guest name when using VNC
If it's not already set, set guest name field in virt-viewer-app when using VNC.

Wait for VNC to be initialized (virt_viewer_display_vnc_initialized()).
In this callback get field guest name from app and check whether it
was already set before (FE from libvirt).
If not, set the guest name to name provided by VNC from
vnc_display_get_name().

This fill fix issue in remote-viewer: Guest name is Unknown when using VNC.
2015-05-21 13:06:30 +02:00
Michal Privoznik
35c5f7f745 Fix syntax-check
Commit c45a30e9 broke syntax-check:

trailing_blank
src/virt-viewer-window.c:1478:
maint.mk: found trailing blank(s)
maint.mk:700: recipe for target 'sc_trailing_blank' failed
make: *** [sc_trailing_blank] Error 1

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2015-04-29 10:29:52 +02:00
Pavel Grunt
4219a7ec69 virt-viewer-window: Set initial zoom only once
It is not needed to do it more times as it may cause unnecessary resize
events especially when leaving the fullscreen mode

related: rhbz#1206460
2015-04-22 15:20:05 +02:00
Pavel Grunt
41645a0eb5 virt-viewer-window: Make sure that minimum zoom level is lower than NORMAL_ZOOM_LEVEL
The minimum size of the desktop is 100x100 if the minimum window size
is greater than this, the zoom level is greater than NORMAL_ZOOM_LEVEL

related: rhbz#1206460
2015-04-22 15:20:05 +02:00
Lukas Venhoda
82d6280e5c virt-viewer: Set toolbar buttons not sensitive when needed
File->Screenshot, File->Preferences, View->Zoom and Send keys are now
sensitive only while quest is connected.

Changed behaviour of zoom:

Previously, zoom could be set while quest wasn't connected. The zoom
would then be set on connection. There was no indication of current zoom
level while not connected to guest.

Now, the menu is not sensitive while not connected to guest. Zoom can
now be only modified while connected to guest, or from the command line.
2015-04-22 11:03:13 +02:00
Lukas Venhoda
2b7d8717f9 app/window: Set display menu not sensitive when needed
Displays menu must be sensitive only when at least one display is
enabled.
2015-04-22 10:46:02 +02:00
Fabiano Fidêncio
7a32e58f2d cosmetic: move the "break" to inside the {} block 2015-04-22 10:40:29 +02:00
Fabiano Fidêncio
64e7b604d3 spice-session: use the error message, when available, on _channel_destroy() 2015-04-22 10:40:29 +02:00
Fabiano Fidêncio
f3fe9ffe7b session-spice: Destroy the channel instead of emit a "session-disconnect" signal
Whenever we reach these branches, we will abort or have to create a new
spice session (from the dialog showed to the user). So, destroying the
channel on these situations seems sane enough.
It also avoids an error dialog to be popped out twice with (basically)
the same information.
2015-04-22 10:40:29 +02:00
Fabiano Fidêncio
98d892d811 session-spice: Do not use _UNUSED for used attributes
channel attribute is actually used for error treatment
2015-04-22 10:40:29 +02:00
Fabiano Fidêncio
70569de4d8 display: remove useless identation level 2015-04-22 10:40:29 +02:00
Jonathon Jongsma
f0c6bb27f4 SessionSpice: Protect against unreffing window twice
In theory, the dispose method can be called multiple times, so any
member variables that are unreffed should be set to NULL so that we
don't accidentally unref them multiple times.
2015-04-15 09:18:16 -05:00
Christophe Fergeau
d316c04345 build-sys: Ship mingw-virt-viewer.spec in tarballs
virt-viewer.spec is already shipped in tarballs, it's convenient to have
a pregenerated mingw-virt-viewer.spec in there as well.
2015-04-15 11:51:08 +02:00
Pavel Grunt
69a5077a8a virt-viewer-main: '--wait' should not be used without domain name
Commit a830275344c88aef12166661b68ea2b4429c7212 required the domain
name to be placed just after the '--wait' option. It broke the
command line api, because running 'virt-viewer $vm --wait' was considered
as the error.

This patch rather checks whether the domain name was specified.

Related: rhbz#1209398, rhbz#1211573
2015-04-14 18:22:01 +02:00
Pavel Grunt
d71c2a673d Revert "virt-viewer-main: Require domain name as argument for '--wait'"
This reverts commit a830275344c88aef12166661b68ea2b4429c7212.

Commit a830275344c88aef12166661b68ea2b4429c7212 required the domain
name to be placed just after the '--wait' option. It broke the
command line api, because running 'virt-viewer $vm --wait' was considered
as the error.

Related: rhbz#1209398, rhbz#1211573
2015-04-14 18:21:38 +02:00
Pavel Grunt
ea42d03027 Revert "man: document that '--wait' requires domain as parameter"
This reverts commit 9ba2d28a0f35b69befd26d7c122bbe4cd626422f.

Commit a830275344c88aef12166661b68ea2b4429c7212 required the domain
name to be placed just after the '--wait' option. It broke the
command line api, because running 'virt-viewer $vm --wait' was considered
as the error.

Related: rhbz#1209398, rhbz#1211573
2015-04-14 18:21:11 +02:00
Pavel Grunt
5c95093c82 Revert "virt-viewer-main: exit when domain names doesn't match"
This reverts commit 10264d0d1ecbd67d3e59e3a1a3032936b0635eda.

Commit a830275344c88aef12166661b68ea2b4429c7212 required the domain
name to be placed just after the '--wait' option. It broke the
command line api, because running 'virt-viewer $vm --wait' was considered
as the error.

Related: rhbz#1209398, rhbz#1211573
2015-04-14 18:20:20 +02:00
Pavel Grunt
10264d0d1e virt-viewer-main: exit when domain names doesn't match
Since the domain name is required as a parameter for the '--wait'
option (commit a830275344c88aef12166661b68ea2b4429c7212 ), it is
neccessary to check whether all domains names are the same. Otherwise
it wouldn't be clear which name should be used.

related: rhbz#1211573
2015-04-14 15:05:11 +02:00
Pavel Grunt
9ba2d28a0f man: document that '--wait' requires domain as parameter
related: rhbz#1211573
2015-04-14 15:05:11 +02:00
Pavel Grunt
5fa7ef636e man: document usage of domain name as optional
related: rhbz#1211573
2015-04-14 15:05:11 +02:00
Pavel Grunt
0443bd113f ovirt: Allow to cancel authentication without showing error dialog
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1201604
2015-04-14 15:03:48 +02:00
Christophe Fergeau
0c8f07ea64 ovirt: Add support for an 'admin' key in vv file
When using a user with administrator rights, the VMs this user can
access from the user portal and the admin portal are different, and
REST API users must indicate which set of VMs they want through a
specific header. libgovirt already has support for that in its API, but
virt-viewer was not making use of that API.
This commit adds support for an 'admin' field in the [ovirt] section of
.vv files so oVirt can indicate remote-viewer whether this header should
be set or not.
2015-04-09 11:34:48 +02:00
Pavel Grunt
07def4d4aa virt-viewer-app: Do not show error dialog twice for unknown graphic
Related: rhbz#1085216
2015-04-09 10:49:47 +02:00