In order to do this, we can't auto resize the window to the VNC desktop
resolution when details is brought up. So, to make this desired behavior
easier, add a View menu item 'Resize to VM' which resizes the details window
to match the active desktop dimensions.
- Don't use custom button content, because it doesn't abide typical button
gtk button + image preferences. This forces us to set the button image in
the code since glade can't handle it.
- Use widget mnemonics _everywhere_
- Tweak some default widget focus, and other misc things.
All XML updating routines follow a similar pattern or 'try hotplug, try
redefine, report error'. Break out a helper function for all this and use
it for security relabelling, media change, memory and vcpu hotplug.
The details class is getting pretty big, so split out the VNC functionality
into a separate class (like it was many moons ago).
The split isn't as clean as it should be, but things work and readability is
greatly improved. If we ever add support for a different viewer widget (rdp
or spice?) we would need to do something similar anyways.
We were doing some hacky stuff behind the scenes, removing and readding a
new device to the XML when we could just edit in place. Fix up these issues
(should be an effective nop).
If we selected a PS2 mouse, the refresh function would disable the 'remove'
button. Since nothing else explictly enabled it, it would be stuck like that.
Virt-manager doesn't consider CPU pinning settings in the Processor tab yet so
this is the patch to provide CPU pinning support for virt-manager. It's using
only CPU definition for libvirt itself and it doesn't support CPU pinning for
domains that are currently in running state since this feature will be rarely
used for already running domains in my opinion.
A toolbar at the top is much more in line with existing UI convention, and is
more intuitive. Delete is dropped from the upfront buttons (since this likely
isn't a common operation), and buttons for shutdown and pause are added.
This allows us to get many more relevant icons (mouse, tablet, sound card).
Also, reorganize the virtual network and hardware lists to have icons appear
first in the row.
Key of URI in the migration list, not the short hostname we show: we can
have multiple connections with the same hostname, and it confuses things. This
allows us to drop the migrate invocation differences for the xen driver,
so things work as they should.