mirror of
https://github.com/GNS3/gns3-gui.git
synced 2026-06-01 08:12:06 +03:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68e9842bd9 | ||
|
|
54552031d8 | ||
|
|
bfabccc60d | ||
|
|
17fe1df029 | ||
|
|
e10ccea86c | ||
|
|
fa470bd8bf |
@@ -354,8 +354,11 @@ class NodeItem(QtSvg.QGraphicsSvgItem):
|
||||
ports_dict = {}
|
||||
for port in ports:
|
||||
if port.slotNumber() is not None:
|
||||
# multiply the slot number by 16 to make the port number unique.
|
||||
ports_dict[(port.slotNumber() * 16) + port.portNumber()] = port
|
||||
# make the port number unique (special case with WICs).
|
||||
port_number = port.portNumber()
|
||||
if port_number >= 16:
|
||||
port_number *= 4
|
||||
ports_dict[(port.slotNumber() * 16) + port_number] = port
|
||||
elif port.portNumber()is not None:
|
||||
ports_dict[port.portNumber()] = port
|
||||
else:
|
||||
|
||||
@@ -195,6 +195,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
# restore packet capture settings
|
||||
Port.loadPacketCaptureSettings()
|
||||
|
||||
# restore the temporary directory location
|
||||
tempfile.tempdir = self._settings["temporary_files_path"]
|
||||
|
||||
def settings(self):
|
||||
"""
|
||||
Returns the general settings.
|
||||
@@ -238,6 +241,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
if not self._setStyle(style):
|
||||
self._setLegacyStyle()
|
||||
|
||||
# set the temporary directory
|
||||
tempfile.tempdir = new_settings["temporary_files_path"]
|
||||
|
||||
# save the settings
|
||||
self._settings.update(new_settings)
|
||||
settings = QtCore.QSettings()
|
||||
|
||||
@@ -51,30 +51,43 @@ class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
|
||||
self.uiInitrdToolButton.clicked.connect(self._initrdBrowserSlot)
|
||||
self.uiKernelImageToolButton.clicked.connect(self._kernelImageBrowserSlot)
|
||||
self.uiActivateCPUThrottlingCheckBox.stateChanged.connect(self._cpuThrottlingChangedSlot)
|
||||
self.uiLegacyNetworkingCheckBox.stateChanged.connect(self._legacyNetworkingChangedSlot)
|
||||
|
||||
qemu_network_devices = OrderedDict([
|
||||
("e1000", "Intel Gigabit Ethernet"),
|
||||
("i82550", "Intel i82550 Ethernet"),
|
||||
("i82551", "Intel i82551 Ethernet"),
|
||||
("i82557a", "Intel i82557A Ethernet"),
|
||||
("i82557b", "Intel i82557B Ethernet"),
|
||||
("i82557c", "Intel i82557C Ethernet"),
|
||||
("i82558a", "Intel i82558A Ethernet"),
|
||||
("i82558b", "Intel i82558B Ethernet"),
|
||||
("i82559a", "Intel i82559A Ethernet"),
|
||||
("i82559b", "Intel i82559B Ethernet"),
|
||||
("i82559c", "Intel i82559C Ethernet"),
|
||||
("i82559er", "Intel i82559ER Ethernet"),
|
||||
("i82562", "Intel i82562 Ethernet"),
|
||||
("i82801", "Intel i82801 Ethernet"),
|
||||
("ne2k_pci", "NE2000 Ethernet"),
|
||||
("pcnet", "AMD PCNet Ethernet"),
|
||||
("rtl8139", "Realtek 8139 Ethernet"),
|
||||
("virtio-net-pci", "Paravirtualized Network I/O"),
|
||||
("vmxnet3", "VMWare Paravirtualized Ethernet v3")])
|
||||
self._legacy_devices = ("e1000", "i82551", "i82557b", "i82559er", "ne2k_pci", "pcnet", "rtl8139", "virtio")
|
||||
self._qemu_network_devices = OrderedDict([("e1000", "Intel Gigabit Ethernet"),
|
||||
("i82550", "Intel i82550 Ethernet"),
|
||||
("i82551", "Intel i82551 Ethernet"),
|
||||
("i82557a", "Intel i82557A Ethernet"),
|
||||
("i82557b", "Intel i82557B Ethernet"),
|
||||
("i82557c", "Intel i82557C Ethernet"),
|
||||
("i82558a", "Intel i82558A Ethernet"),
|
||||
("i82558b", "Intel i82558B Ethernet"),
|
||||
("i82559a", "Intel i82559A Ethernet"),
|
||||
("i82559b", "Intel i82559B Ethernet"),
|
||||
("i82559c", "Intel i82559C Ethernet"),
|
||||
("i82559er", "Intel i82559ER Ethernet"),
|
||||
("i82562", "Intel i82562 Ethernet"),
|
||||
("i82801", "Intel i82801 Ethernet"),
|
||||
("ne2k_pci", "NE2000 Ethernet"),
|
||||
("pcnet", "AMD PCNet Ethernet"),
|
||||
("rtl8139", "Realtek 8139 Ethernet"),
|
||||
("virtio", "Legacy paravirtualized Network I/O"),
|
||||
("virtio-net-pci", "Paravirtualized Network I/O"),
|
||||
("vmxnet3", "VMWare Paravirtualized Ethernet v3")])
|
||||
|
||||
self._refreshQemuNetworkDevices()
|
||||
|
||||
def _refreshQemuNetworkDevices(self, legacy_networking=False):
|
||||
"""
|
||||
Refreshes the Qemu network device list.
|
||||
|
||||
:param legacy_networking: True if legacy networking is enabled.
|
||||
"""
|
||||
|
||||
self.uiAdapterTypesComboBox.clear()
|
||||
for device_name, device_description in qemu_network_devices.items():
|
||||
for device_name, device_description in self._qemu_network_devices.items():
|
||||
if legacy_networking and device_name not in self._legacy_devices:
|
||||
continue
|
||||
self.uiAdapterTypesComboBox.addItem("{} ({})".format(device_description, device_name), device_name)
|
||||
|
||||
@staticmethod
|
||||
@@ -146,7 +159,7 @@ class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
|
||||
Slot to open a file browser and select a QEMU initrd.
|
||||
"""
|
||||
|
||||
path = self._getDiskImage()
|
||||
path = self.getDiskImage(self)
|
||||
if path:
|
||||
self.uiInitrdLineEdit.clear()
|
||||
self.uiInitrdLineEdit.setText(path)
|
||||
@@ -156,7 +169,7 @@ class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
|
||||
Slot to open a file browser and select a QEMU kernel image.
|
||||
"""
|
||||
|
||||
path = self._getDiskImage()
|
||||
path = self.getDiskImage(self)
|
||||
if path:
|
||||
self.uiKernelImageLineEdit.clear()
|
||||
self.uiKernelImageLineEdit.setText(path)
|
||||
@@ -200,6 +213,16 @@ class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
|
||||
else:
|
||||
self.uiCPUThrottlingSpinBox.setEnabled(False)
|
||||
|
||||
def _legacyNetworkingChangedSlot(self, state):
|
||||
"""
|
||||
Slot to enable or not legacy networking.
|
||||
"""
|
||||
|
||||
if state:
|
||||
self._refreshQemuNetworkDevices(legacy_networking=True)
|
||||
else:
|
||||
self._refreshQemuNetworkDevices()
|
||||
|
||||
def loadSettings(self, settings, node=None, group=False):
|
||||
"""
|
||||
Loads the QEMU VM settings.
|
||||
@@ -275,10 +298,10 @@ class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
|
||||
|
||||
self.uiKernelCommandLineEdit.setText(settings["kernel_command_line"])
|
||||
self.uiAdaptersSpinBox.setValue(settings["adapters"])
|
||||
self.uiLegacyNetworkingCheckBox.setChecked(settings["legacy_networking"])
|
||||
index = self.uiAdapterTypesComboBox.findData(settings["adapter_type"])
|
||||
if index != -1:
|
||||
self.uiAdapterTypesComboBox.setCurrentIndex(index)
|
||||
self.uiLegacyNetworkingCheckBox.setChecked(settings["legacy_networking"])
|
||||
self.uiRamSpinBox.setValue(settings["ram"])
|
||||
|
||||
if settings["cpu_throttling"]:
|
||||
|
||||
@@ -52,7 +52,7 @@ class NodesView(QtGui.QTreeWidget):
|
||||
if category is not None and category not in node["categories"]:
|
||||
continue
|
||||
server_type = node.get("server", None)
|
||||
if server_type is not None and server_type != project_type:
|
||||
if server_type is not None and server_type == "cloud" and server_type != project_type:
|
||||
continue
|
||||
item = QtGui.QTreeWidgetItem(self)
|
||||
item.setText(0, node["name"])
|
||||
|
||||
@@ -25,5 +25,5 @@ or negative for a release candidate or beta (after the base version
|
||||
number has been incremented)
|
||||
"""
|
||||
|
||||
__version__ = "1.2.2"
|
||||
__version_info__ = (1, 2, 2, 0)
|
||||
__version__ = "1.2.3"
|
||||
__version_info__ = (1, 2, 3, 0)
|
||||
|
||||
Reference in New Issue
Block a user