Merge pull request #3814 from GNS3/enhancement/3754

Show if a linked base VM or not in device's properties
This commit is contained in:
Jeremy Grossmann
2026-04-06 23:11:32 +08:00
committed by GitHub
6 changed files with 15 additions and 12 deletions

View File

@@ -463,8 +463,8 @@ class QemuVMConfigurationPage(QtWidgets.QWidget, Ui_QemuVMConfigPageWidget):
if "linked_clone" in settings:
self.uiBaseVMCheckBox.setChecked(settings["linked_clone"])
else:
self.uiBaseVMCheckBox.hide()
if node:
self.uiBaseVMCheckBox.setEnabled(False)
self.uiHdaDiskImageLineEdit.setText(settings["hda_disk_image"])
self.uiHdbDiskImageLineEdit.setText(settings["hdb_disk_image"])
@@ -601,7 +601,7 @@ class QemuVMConfigurationPage(QtWidgets.QWidget, Ui_QemuVMConfigPageWidget):
else:
settings["name"] = name
if "linked_clone" in settings:
if "linked_clone" in settings and not node:
settings["linked_clone"] = self.uiBaseVMCheckBox.isChecked()
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text().strip()

View File

@@ -88,7 +88,8 @@ class QemuVM(Node):
"kernel_command_line": "",
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"first_port_name": ""}
"first_port_name": "",
"linked_clone": False}
self.settings().update(qemu_vm_settings)

View File

@@ -133,8 +133,8 @@ class VirtualBoxVMConfigurationPage(QtWidgets.QWidget, Ui_virtualBoxVMConfigPage
if "linked_clone" in settings:
self.uiBaseVMCheckBox.setChecked(settings["linked_clone"])
else:
self.uiBaseVMCheckBox.hide()
if node:
self.uiBaseVMCheckBox.setEnabled(False)
else:
self.uiNameLabel.hide()
@@ -220,7 +220,7 @@ class VirtualBoxVMConfigurationPage(QtWidgets.QWidget, Ui_virtualBoxVMConfigPage
else:
settings["name"] = name
if "linked_clone" in settings:
if "linked_clone" in settings and not node:
settings["linked_clone"] = self.uiBaseVMCheckBox.isChecked()
if not node:

View File

@@ -57,7 +57,8 @@ class VirtualBoxVM(Node):
"custom_adapters": VBOX_VM_SETTINGS["custom_adapters"],
"port_name_format": "Ethernet0",
"port_segment_size": 0,
"first_port_name": None}
"first_port_name": None,
"linked_close": False}
self.settings().update(virtualbox_vm_settings)

View File

@@ -133,8 +133,8 @@ class VMwareVMConfigurationPage(QtWidgets.QWidget, Ui_VMwareVMConfigPageWidget):
if "linked_clone" in settings:
self.uiBaseVMCheckBox.setChecked(settings["linked_clone"])
else:
self.uiBaseVMCheckBox.hide()
if node:
self.uiBaseVMCheckBox.setEnabled(False)
else:
self.uiNameLabel.hide()
@@ -219,7 +219,7 @@ class VMwareVMConfigurationPage(QtWidgets.QWidget, Ui_VMwareVMConfigPageWidget):
else:
settings["name"] = name
if "linked_clone" in settings:
if "linked_clone" in settings and not node:
settings["linked_clone"] = self.uiBaseVMCheckBox.isChecked()
if not node:

View File

@@ -59,7 +59,8 @@ class VMwareVM(Node):
"custom_adapters": VMWARE_VM_SETTINGS["custom_adapters"],
"port_name_format": "Ethernet{0}",
"port_segment_size": 0,
"first_port_name": None}
"first_port_name": None,
"linked_clone": False}
self.settings().update(vmware_vm_settings)