diff --git a/AUTHORS b/AUTHORS index 663267ab..bc9036d5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -68,6 +68,7 @@ Further patches have been submitted by: Matthias Fulz Niels de Vos Wen Congyang + Gerhard Stenzel <...send a patch & get your name here...> diff --git a/src/virtManager/details.py b/src/virtManager/details.py index 091a59cf..bbdf6802 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -375,6 +375,12 @@ class vmmDetails(vmmGObjectUI): "on_network_model_combo_changed": self.config_enable_apply, + "on_virtualport-type_changed": self.config_enable_apply, + "on_virtualport-managerid_changed": self.config_enable_apply, + "on_virtualport-typeid_changed": self.config_enable_apply, + "on_virtualport-typeidversion_changed": self.config_enable_apply, + "on_virtualport-instanceid_changed": self.config_enable_apply, + "on_vnc_keymap_combo_changed": self.config_enable_apply, "on_vnc_password_changed": self.config_enable_apply, @@ -1713,8 +1719,19 @@ class vmmDetails(vmmGObjectUI): # Network options def config_network_apply(self, dev_id_info): model = self.get_combo_label_value("network-model") - return self._change_config_helper(self.vm.define_network_model, - (dev_id_info, model)) + virtualport_type = self.window.get_widget("virtualport-type").get_text() + virtualport_managerid = self.window.get_widget("virtualport-managerid").get_text() + virtualport_typeid = self.window.get_widget("virtualport-typeid").get_text() + virtualport_typeidversion = self.window.get_widget("virtualport-typeidversion").get_text() + virtualport_instanceid = self.window.get_widget("virtualport-instanceid").get_text() + return self._change_config_helper([self.vm.define_network_model, + self.vm.define_virtualport], + [(dev_id_info, model), + (dev_id_info, virtualport_type, + virtualport_managerid, + virtualport_typeid, + virtualport_typeidversion, + virtualport_instanceid)]) # Graphics options def config_graphics_apply(self, dev_id_info): @@ -2187,6 +2204,21 @@ class vmmDetails(vmmGObjectUI): self.window.get_widget("network-mac-address").set_text(net.macaddr) self.window.get_widget("network-source-device").set_text(desc) + if nettype == "direct": + self.window.get_widget("virtualport-type").set_text(net.virtualport.type) + self.window.get_widget("virtualport-managerid").set_text(net.virtualport.managerid) + self.window.get_widget("virtualport-typeid").set_text(net.virtualport.typeid) + self.window.get_widget("virtualport-typeidversion").set_text(net.virtualport.typeidversion) + self.window.get_widget("virtualport-instanceid").set_text(net.virtualport.instanceid) + self.window.get_widget("virtualport-expander").set_property("visible", True) + else: + self.window.get_widget("virtualport-type").set_text("") + self.window.get_widget("virtualport-managerid").set_text("") + self.window.get_widget("virtualport-typeid").set_text("") + self.window.get_widget("virtualport-typeidversion").set_text("") + self.window.get_widget("virtualport-instanceid").set_text("") + self.window.get_widget("virtualport-expander").hide() + uihelpers.populate_netmodel_combo(self.vm, self.window.get_widget("network-model-combo")) self.set_combo_label("network-model", 0, model) diff --git a/src/virtManager/domain.py b/src/virtManager/domain.py index 066a6da4..f2b020aa 100644 --- a/src/virtManager/domain.py +++ b/src/virtManager/domain.py @@ -404,6 +404,15 @@ class vmmDomainBase(vmmLibvirtObject): editdev.model = newmodel return self._redefine_device(change, devobj) + def define_virtualport(self, devobj, newtype, newmanagerid, newtypeid, newtypeidversion, newinstanceid): + def change(editdev): + editdev.virtualport.type = newtype or None + editdev.virtualport.managerid = newmanagerid or None + editdev.virtualport.typeid = newtypeid or None + editdev.virtualport.typeidversion = newtypeidversion or None + editdev.virtualport.instanceid = newinstanceid or None + return self._redefine_device(change, devobj) + def define_graphics_password(self, devobj, newval): def change(editdev): editdev.passwd = newval or None diff --git a/src/vmm-details.glade b/src/vmm-details.glade index 56a0acd8..cfc83e6d 100644 --- a/src/vmm-details.glade +++ b/src/vmm-details.glade @@ -3619,6 +3619,7 @@ I/O: True + 12 True @@ -3761,6 +3762,200 @@ I/O: 0 + + + True + + + True + 2 + + + True + 5 + 2 + 6 + 3 + + + True + True + + 40 + + + + 1 + 2 + 4 + 5 + + + + + + True + 1 + Instance id: + True + + + 4 + 5 + GTK_FILL + + + + + + True + True + + + + + 1 + 2 + 3 + 4 + + + + + + True + 1 + Typeid version: + True + + + 3 + 4 + GTK_FILL + + + + + + True + True + + + + + 1 + 2 + 2 + 3 + + + + + + True + 1 + Typeid: + True + + + 2 + 3 + GTK_FILL + + + + + + True + True + + + + + 1 + 2 + 1 + 2 + + + + + + True + 1 + Managerid: + True + + + 1 + 2 + GTK_FILL + + + + + + True + 1 + 0.47999998927116394 + Type: + True + True + network-model-combo + + + GTK_FILL + + + + + + True + True + + + + + 1 + 2 + + + + + + False + 0 + + + + + True + + + + + + 1 + + + + + + + True + Virtual port + True + + + label_item + + + + + False + 1 + + 6