Commit Graph

208 Commits

Author SHA1 Message Date
Hans de Goede
0fa14f928e virt-viewer-display: Use a borrowed reference to session
Before this patch there was a cyclic reference between VirtViewerSesion and
VirtViewerDisplay, since all VirtViewerDisplays are created / destroyed by
VirtViewerSession it is safe to assume that lifetime of VirtViewerSession >=
VirtViewerDisplay, so VirtViewerDisplay can take a borrowed reference
breaking the circle, and allowing proper cleanup on exit.

Note that there is no g_object_unref removed from virt-viewer-display, this
because there is no finalize / dispose and before this patch
VirtViewerDisplay never unref-ed the reference it hold to the session.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Hans de Goede
963c7ebd65 virt-viewer-window: Use a borrowed reference to app
Before this patch there was a cyclic reference between VirtViewerApp and
VirtViewerWindow, since all VirtViewerWindows are created / destroyed by
VirtViewerApp it is safe to assume that lifetime of VirtViewerApp >=
VirtViewerWindow, so VirtViewerWindow can take a borrowed reference
breaking the circle, and allowing proper cleanup on exit.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Hans de Goede
01e553d21b virt-viewer-app: main_window is part of our windows hashtable
This means that:
1) There is no need to explictly set its title separately
2) It is unref-ed when we do g_hash_table_unref(priv->windows), so it
   should not be unref-ed separately otherwise it is unref-ed twice!

Notice that 2 was never a problem because of circular references
between VirtViewerApp and VirtViewerWindow, but once the follow
up patch to this one breaks the circle 2 becomes an issue.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Hans de Goede
e7a9f9ccdb session-spice: dispose should chain up to dispose not finalize!!
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Hans de Goede
54a3e7d600 usbredir: Gnome HIG-ify USB device selection dialog
These changes match the changes already made to the spice-gtk
usb device selection widget to match the spacing advised by the Gnome HIG.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Hans de Goede
c8f3a9e843 usbredir: Shrink the usb device selection dialog when devices are unplugged
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-06 12:55:30 +01:00
Christophe Fergeau
f3ba403680 Don't attempt to translate ""
The empty string has a magic meaning for gettext, it's used to
store a translation header with all kind of information about the
po file. This is not something we want to use as a window title, so
change to _("") to "" when we want an empty string.
2012-03-05 20:03:41 +01:00
Christophe Fergeau
1d782164a4 Fix path to spice-controller.h 2012-03-05 20:03:41 +01:00
Daniel P. Berrange
3066ed3458 Remove trailing blank line 2012-03-01 16:49:03 +00:00
Marc-André Lureau
64e1616f75 fix make distcheck 2012-03-01 16:42:09 +01:00
Marc-Andre Lureau
2c9cdb6fb9 remote-viewer: support spice foreign menu 2012-03-01 15:17:25 +01:00
Marc-André Lureau
2e8b6650cf Add property app:has-focus 2012-03-01 15:15:58 +01:00
Marc-André Lureau
50b0c72392 Fix compilation with gtk 2.18 2012-03-01 15:15:51 +01:00
Marc-André Lureau
9a322010a3 spice: fix connecting via ssh to a password-protected server
spice_session_connect() will attempt to connect directly to the
server, we need to continue calling spice_session_open_fd() for ssh
tunnel to work.
2012-03-01 15:15:02 +01:00
Marc-André Lureau
9d7c9000c3 spice: fix double unref of main channel
When doing unref() on a channel, channel-destroy signal may be emitted
during object dispose time, and it will attempt to unref() the channel
again likely leading to a crash.

It may be that spice-gtk should have a different/simpler object
life-cycle model, but it's also a good assumption to not take strong
references on the channels, but just keep a weak reference as the
session is really the channel life-cycle manager.

https://bugzilla.redhat.com/show_bug.cgi?id=797082
2012-03-01 15:06:43 +01:00
Marc-André Lureau
e2082caa0a remote-viewer: add smartcard controller message 2012-02-22 16:45:11 +01:00
Marc-André Lureau
c0ec28ce8a spice: teach customizable key bindings with controller
Tested with RHEVM 3.0 instance with custom bindings for fullscreen &
ungrab.
2012-02-22 16:45:08 +01:00
Marc-André Lureau
946a70762e Small code simplification 2012-02-22 16:45:02 +01:00
Marc-André Lureau
51ca18beee Use the accelgroup to define key bindings
With accelgroups, we can redefine the keybindings
2012-02-22 16:45:00 +01:00
Marc-André Lureau
e6dfd324c4 Add hidden menu smartcard remove/insert and release-cursor 2012-02-22 16:44:27 +01:00
Marc-André Lureau
b768fafd66 Add virt_viewer_app_get_session() 2012-02-22 16:44:23 +01:00
Marc-André Lureau
8f1785ca62 spice: implement smartcard-{insert,remove} virtual methods 2012-02-22 16:44:18 +01:00
Marc-André Lureau
6c916253ee Add smartcard-{insert,remove} and release-cursor virtual methods 2012-02-22 16:44:11 +01:00
Marc-André Lureau
23dc09eacb Do not disable accelgroup if accels are enabled 2012-02-22 16:43:49 +01:00
Marc-André Lureau
dd857b648e Add VirtViewerApp:enable-accel property 2012-02-22 16:15:35 +01:00
Marc-André Lureau
2601ba1150 Require an accel group for full-screen menu
Bump Gtk depedency to 2.18, since we already use symbols from it.
2012-02-22 16:12:10 +01:00
Daniel P. Berrange
24ab6e6e40 Add back compat for GObject 2.22 which lacks GBinding 2012-02-16 14:52:55 +00:00
Daniel P. Berrange
e1064a5355 Only link remote-viewer program against SPICE controller 2012-02-16 14:37:22 +00:00
Daniel P. Berrange
8b18ea0ea5 Remove use of a libtool convenience library
The use of a libtool convenience library causes some platforms to
loose the ability to use the GNU_RELRO security feature in the
resulting binary. Refactor the makefile to simply compile the
common files twice, once for virt-viewer & once for remote-viewer
2012-02-16 14:20:25 +00:00
Marc-André Lureau
1a3b233e55 First %d in controller title should be substituted with window nth 2012-02-14 16:19:45 +00:00
Daniel P. Berrange
a140f396f3 Set pretty icon for remote-viewer windows too 2012-02-14 15:26:52 +00:00
Daniel P. Berrange
56b0217c62 Don't hardcode 'localhost' in no @listen parameter is given
If no @listen parameter is given, we must not hardcode 'localhost'
since we can't assume we are running on the same host. Instead use
the hostname from the connection URI
2012-02-14 14:55:39 +00:00
Daniel P. Berrange
a52b9f3182 Extract tlsPort for SPICE and use it to enable secure connections 2012-02-14 14:53:59 +00:00
Daniel P. Berrange
b0ba9e626a Set transient parent for screenshot dialog 2012-02-08 19:37:09 +00:00
Daniel P. Berrange
0fa4d098f9 Ensure auth popup windows have correct transient parent 2012-02-08 19:33:40 +00:00
Marc-André Lureau
28830c8596 Make the password field activates default widget
When pressing "Enter", the default auth dialog action isn't activated.
Setting activates_default to TRUE fixes this issue.
2012-02-08 17:15:20 +00:00
Marc-André Lureau
bbf040b777 Do not resize guest desktop if !auto-resize
If auto-resize is enabled, the guest desktop size will be resized to
match current window*zoom size.

This can be a problem if the user explicitely set the desktop size to
a different resolution and want to keep it. Disabling auto-resize
sounds like a simple way to allow that.
2012-02-08 17:15:20 +00:00
Marc-André Lureau
f87cdc9e24 Resize Spice guest display to the container size
The SpiceDisplay doesn't receive the full allocation, because
VirtViewerDisplay maintains current aspect ratio. However, the guest
display can be resize up to its container size.

This fixes going full-screen and not getting native resolution for
instance.
2012-02-08 17:15:20 +00:00
Daniel P. Berrange
e9ff27efe2 Ensure About dialog has transient hints setup 2012-02-08 17:15:16 +00:00
Daniel P. Berrange
c2d114b613 Import a pretty icon for virt-viewer application 2012-02-08 16:41:37 +00:00
Daniel P. Berrange
50632ea038 Implement SPICE desktop resizing that takes account of zoom level
The standard SPICE widget guest resize implementation does not
take into account the zoom level settings in virt-viewer, because
it has no knowledge of this functionality. The guest resize can,
however, be done by calling spice_main_set_display() directly.
This allows virt-viewer to resize the guest taking into account
zoom levels.

 ie, if virt-viewer is run with --zoom 50 and the window
     is resized to 400x300, then the guest agent should
     be told to set its resolution to 800x600
2012-02-08 13:23:48 +00:00
Daniel P. Berrange
3a8cdd901f Revert support for resizing guest desktop
The SpiceDisplay widget has built-in support for resizing the
guest desktop, but this does not know that virt-viewer has a
zoom level setting. This makes the virt-viewer zoom completely
inoperable. Revert use of the 'resize-guest' property.
2012-02-07 17:08:37 +00:00
Daniel P. Berrange
5a19f8aae3 Add config.h to every source file 2012-02-06 12:42:22 +00:00
Daniel P. Berrange
0949dedef7 Use exit() constants 2012-02-06 12:42:22 +00:00
Daniel P. Berrange
f4d8b45181 copyright fix 2012-02-06 12:42:22 +00:00
Daniel P. Berrange
d7c58a3f2e Replace @FOO@ with $(FOO) in all Makefile.am 2012-02-06 12:42:18 +00:00
Daniel P. Berrange
a893d5ef61 Update copyright headers 2012-02-06 12:42:18 +00:00
Daniel P. Berrange
48c50437fa Remove useless if() before free() 2012-02-06 12:42:18 +00:00
Daniel P. Berrange
e1283a9a60 Convert TABS to spaces & reindent everywhere 2012-02-06 12:40:09 +00:00
Hans de Goede
c67a8cfdbe Only make the USB device selection sensitive when the vm is USB capable 2012-02-06 12:30:27 +00:00