mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
details: Rip out 'would you like to add/remove spicevmc' bit
This was originally there for when we weren't defaulting to spice. We basically do that now, so people shouldn't have much need to switch spice on/off for an existing guest. Plus if we wanted to be far about it we would want to add/remove qxl as well but there it's just getting rediculous.
This commit is contained in:
parent
a2cbb9f500
commit
2218a03154
@ -2261,35 +2261,6 @@ class vmmDetails(vmmGObjectUI):
|
|||||||
return self._change_config_helper(df, da, hf, ha)
|
return self._change_config_helper(df, da, hf, ha)
|
||||||
|
|
||||||
# Graphics options
|
# Graphics options
|
||||||
def _do_change_spicevmc(self, gdev, newgtype):
|
|
||||||
has_multi_spice = (len([d for d in self.vm.get_graphics_devices() if
|
|
||||||
d.type == d.TYPE_SPICE]) > 1)
|
|
||||||
has_spicevmc = bool([d for d in self.vm.get_char_devices() if
|
|
||||||
(d.virtual_device_type == "channel" and
|
|
||||||
d.type == "spicevmc")])
|
|
||||||
fromspice = (gdev.type == "spice")
|
|
||||||
tospice = (newgtype == "spice")
|
|
||||||
|
|
||||||
if fromspice and tospice:
|
|
||||||
return False
|
|
||||||
if not fromspice and not tospice:
|
|
||||||
return False
|
|
||||||
|
|
||||||
if tospice and has_spicevmc:
|
|
||||||
return False
|
|
||||||
if fromspice and not has_spicevmc:
|
|
||||||
return False
|
|
||||||
|
|
||||||
if fromspice and has_multi_spice:
|
|
||||||
# Don't offer to remove if there are other spice displays
|
|
||||||
return False
|
|
||||||
|
|
||||||
msg = (_("You are switching graphics type to %(gtype)s, "
|
|
||||||
"would you like to %(action)s Spice agent channels?") %
|
|
||||||
{"gtype": newgtype,
|
|
||||||
"action": fromspice and "remove" or "add"})
|
|
||||||
return self.err.yes_no(msg)
|
|
||||||
|
|
||||||
def config_graphics_apply(self, dev_id_info):
|
def config_graphics_apply(self, dev_id_info):
|
||||||
df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
|
df, da, add_define, hf, ha, add_hotplug = self.make_apply_data()
|
||||||
|
|
||||||
@ -2310,9 +2281,7 @@ class vmmDetails(vmmGObjectUI):
|
|||||||
# Do this last since it can change graphics unique ID
|
# Do this last since it can change graphics unique ID
|
||||||
if self.edited(EDIT_GFX_TYPE):
|
if self.edited(EDIT_GFX_TYPE):
|
||||||
gtype = self.get_combo_entry("gfx-type")
|
gtype = self.get_combo_entry("gfx-type")
|
||||||
change_spicevmc = self._do_change_spicevmc(dev_id_info, gtype)
|
add_define(self.vm.define_graphics_type, dev_id_info, gtype)
|
||||||
add_define(self.vm.define_graphics_type, dev_id_info,
|
|
||||||
gtype, change_spicevmc)
|
|
||||||
|
|
||||||
return self._change_config_helper(df, da, hf, ha)
|
return self._change_config_helper(df, da, hf, ha)
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@ import libvirt
|
|||||||
from virtinst import DomainSnapshot
|
from virtinst import DomainSnapshot
|
||||||
from virtinst import Guest
|
from virtinst import Guest
|
||||||
from virtinst import util
|
from virtinst import util
|
||||||
from virtinst import VirtualChannelDevice
|
|
||||||
from virtinst import VirtualController
|
from virtinst import VirtualController
|
||||||
|
|
||||||
from virtManager import uihelpers
|
from virtManager import uihelpers
|
||||||
@ -761,29 +760,9 @@ class vmmDomain(vmmLibvirtObject):
|
|||||||
def change(editdev):
|
def change(editdev):
|
||||||
editdev.keymap = newval
|
editdev.keymap = newval
|
||||||
return self._redefine_device(change, devobj)
|
return self._redefine_device(change, devobj)
|
||||||
def define_graphics_type(self, devobj, newval, apply_spice_defaults):
|
def define_graphics_type(self, devobj, newval):
|
||||||
def handle_spice():
|
|
||||||
if not apply_spice_defaults:
|
|
||||||
return
|
|
||||||
|
|
||||||
guest = self._get_xmlobj_to_define()
|
|
||||||
is_spice = (newval == "spice")
|
|
||||||
|
|
||||||
if is_spice:
|
|
||||||
dev = VirtualChannelDevice(guest.conn)
|
|
||||||
dev.type = dev.TYPE_SPICEVMC
|
|
||||||
guest.add_device(dev)
|
|
||||||
else:
|
|
||||||
channels = guest.get_devices("channel")
|
|
||||||
channels = [x for x in guest.get_devices("channel")
|
|
||||||
if x.type == "spicevmc"]
|
|
||||||
for dev in channels:
|
|
||||||
guest.remove_device(dev)
|
|
||||||
|
|
||||||
def change(editdev):
|
def change(editdev):
|
||||||
editdev.type = newval
|
editdev.type = newval
|
||||||
handle_spice()
|
|
||||||
|
|
||||||
return self._redefine_device(change, devobj)
|
return self._redefine_device(change, devobj)
|
||||||
|
|
||||||
# Sound define methods
|
# Sound define methods
|
||||||
|
Loading…
Reference in New Issue
Block a user