Rename symbols: *.normal.svg to *.svg

This commit is contained in:
grossmj
2015-06-22 17:30:23 -06:00
parent 332b04d640
commit 8d7e161662
87 changed files with 141987 additions and 143035 deletions

View File

@@ -19,6 +19,8 @@
Dialog to change node symbols.
"""
import os
from ..qt import QtSvg, QtCore, QtGui, QtWidgets
from ..ui.symbol_selection_dialog_ui import Ui_SymbolSelectionDialog
@@ -55,8 +57,8 @@ class SymbolSelectionDialog(QtWidgets.QDialog, Ui_SymbolSelectionDialog):
self.uiSymbolListWidget.setIconSize(QtCore.QSize(64, 64))
symbol_resources = QtCore.QResource(":/symbols")
for symbol in symbol_resources.children():
if symbol.endswith(".normal.svg"):
name = symbol[:-11]
if symbol.endswith(".svg"):
name = os.path.splitext(symbol)[0]
item = QtWidgets.QListWidgetItem(self.uiSymbolListWidget)
item.setText(name)
resource_path = ":/symbols/" + symbol
@@ -78,7 +80,7 @@ class SymbolSelectionDialog(QtWidgets.QDialog, Ui_SymbolSelectionDialog):
current = self.uiSymbolListWidget.currentItem()
if current:
name = current.text()
path = ":/symbols/{}.normal.svg".format(name)
path = ":/symbols/{}.svg".format(name)
renderer = QtSvg.QSvgRenderer(path)
renderer.setObjectName(path)
for item in self._items:
@@ -89,7 +91,7 @@ class SymbolSelectionDialog(QtWidgets.QDialog, Ui_SymbolSelectionDialog):
if self.uiSymbolListWidget.isEnabled():
current = self.uiSymbolListWidget.currentItem()
name = current.text()
normal_symbol = ":/symbols/{}.normal.svg".format(name)
normal_symbol = ":/symbols/{}.svg".format(name)
else:
normal_symbol = self.uiSymbolLineEdit.text()
return normal_symbol

View File

@@ -1424,10 +1424,10 @@ class GraphicsView(QtWidgets.QGraphicsView):
node.error_signal.connect(self._main_window.uiConsoleTextEdit.writeError)
node.warning_signal.connect(self._main_window.uiConsoleTextEdit.writeWarning)
node.server_error_signal.connect(self._main_window.uiConsoleTextEdit.writeServerError)
if QtSvg.QSvgRenderer(node_data["default_symbol"]).isValid():
node_item = SvgNodeItem(node, node_data["default_symbol"])
if QtSvg.QSvgRenderer(node_data["symbol"]).isValid():
node_item = SvgNodeItem(node, node_data["symbol"])
else:
node_item = PixmapNodeItem(node, node_data["default_symbol"])
node_item = PixmapNodeItem(node, node_data["symbol"])
node_module.setupNode(node, node_data["name"])
except ModuleError as e:
QtWidgets.QMessageBox.critical(self, "Node creation", "{}".format(e))

View File

@@ -19,7 +19,7 @@
Built-in module implementation.
"""
from gns3.qt import QtGui, QtWidgets
from gns3.qt import QtWidgets
from gns3.servers import Servers
from ..module import Module
from ..module_error import ModuleError
@@ -204,7 +204,7 @@ class Builtin(Module):
{"class": node_class.__name__,
"name": node_class.symbolName(),
"categories": node_class.categories(),
"default_symbol": node_class.defaultSymbol()}
"symbol": node_class.defaultSymbol()}
)
return nodes

View File

@@ -432,17 +432,7 @@ This is a pseudo-device for external connections
:returns: symbol path (or resource).
"""
return ":/symbols/cloud.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when the cloud is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/cloud.selected.svg"
return ":/symbols/cloud.svg"
@staticmethod
def symbolName():

View File

@@ -87,17 +87,7 @@ class Host(Cloud):
:returns: symbol path (or resource).
"""
return ":/symbols/computer.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when the host is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/computer.selected.svg"
return ":/symbols/computer.svg"
@staticmethod
def symbolName():

View File

@@ -143,12 +143,15 @@ class Dynamips(Module):
for router in settings[self.__class__.__name__]["routers"]:
name = router.get("name")
server = router.get("server")
router["image"] = router.get("path", router["image"]) # for compatibility before version 1.3
router["image"] = router.get("path", router["image"]) # for backward compatibility before version 1.3
key = "{server}:{name}".format(server=server, name=name)
if key in self._ios_routers or not name or not server:
continue
router_settings = IOS_ROUTER_SETTINGS.copy()
router_settings.update(router)
# for backward compatibility before version 1.4
router_settings["symbol"] = router_settings.get("default_symbol", router_settings["symbol"])
router_settings["symbol"] = router_settings["symbol"][:-11] + ".svg" if router_settings["symbol"].endswith("normal.svg") else router_settings["symbol"]
self._ios_routers[key] = router_settings
def _saveIOSRouters(self):
@@ -416,7 +419,7 @@ class Dynamips(Module):
"name": node_class.symbolName(),
"server": server,
"categories": node_class.categories(),
"default_symbol": node_class.defaultSymbol()}
"symbol": node_class.defaultSymbol()}
)
for ios_router in self._ios_routers.values():
@@ -426,7 +429,7 @@ class Dynamips(Module):
"name": ios_router["name"],
"ram": ios_router["ram"],
"server": ios_router["server"],
"default_symbol": ios_router["default_symbol"],
"symbol": ios_router["symbol"],
"categories": [ios_router["category"]]}
)

View File

@@ -69,7 +69,7 @@ class IOSRouterWizard(VMWizard, Ui_IOSRouterWizard):
def __init__(self, ios_routers, parent):
super().__init__(parent)
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.svg"))
self.uiTestIOSImagePushButton.clicked.connect(self._testIOSImageSlot)
self.uiIdlePCFinderPushButton.clicked.connect(self._idlePCFinderSlot)
@@ -482,7 +482,7 @@ class IOSRouterWizard(VMWizard, Ui_IOSRouterWizard):
if self.uiEtherSwitchCheckBox.isChecked():
settings["startup_config"] = get_default_base_config(self._base_etherswitch_startup_config_template)
settings["default_symbol"] = ":/symbols/multilayer_switch.normal.svg"
settings["symbol"] = ":/symbols/multilayer_switch.svg"
settings["disk0"] = 1 # adds 1MB disk to store vlan.dat
settings["category"] = Node.switches
else:

View File

@@ -349,17 +349,7 @@ class ATMSwitch(Device):
:returns: symbol path (or resource).
"""
return ":/symbols/atm_switch.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/atm_switch.selected.svg"
return ":/symbols/atm_switch.svg"
@staticmethod
def symbolName():

View File

@@ -295,17 +295,7 @@ class EthernetHub(Device):
:returns: symbol path (or resource).
"""
return ":/symbols/hub.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/hub.selected.svg"
return ":/symbols/hub.svg"
@staticmethod
def symbolName():

View File

@@ -327,17 +327,7 @@ class EthernetSwitch(Device):
:returns: symbol path (or resource).
"""
return ":/symbols/ethernet_switch.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/ethernet_switch.selected.svg"
return ":/symbols/ethernet_switch.svg"
@staticmethod
def symbolName():

View File

@@ -56,17 +56,7 @@ class EtherSwitchRouter(Router):
:returns: symbol path (or resource).
"""
return ":/symbols/multilayer_switch.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/multilayer_switch.selected.svg"
return ":/symbols/multilayer_switch.svg"
@staticmethod
def categories():

View File

@@ -331,17 +331,7 @@ class FrameRelaySwitch(Device):
:returns: symbol path (or resource).
"""
return ":/symbols/frame_relay_switch.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/frame_relay_switch.selected.svg"
return ":/symbols/frame_relay_switch.svg"
@staticmethod
def symbolName():

View File

@@ -997,17 +997,7 @@ class Router(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/router.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when the router is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/router.selected.svg"
return ":/symbols/router.svg"
@staticmethod
def categories():

View File

@@ -287,7 +287,7 @@ class IOSRouterConfigurationPage(QtWidgets.QWidget, Ui_iosRouterConfigPageWidget
self.uiPrivateConfigLineEdit.setText(settings["private_config"])
# load the symbol
self.uiSymbolLineEdit.setText(settings["default_symbol"])
self.uiSymbolLineEdit.setText(settings["symbol"])
# load the category
index = self.uiCategoryComboBox.findData(settings["category"])
@@ -540,7 +540,7 @@ class IOSRouterConfigurationPage(QtWidgets.QWidget, Ui_iosRouterConfigPageWidget
if pixmap.isNull():
QtWidgets.QMessageBox.critical(self, "Symbol", "Invalid file or format not supported")
else:
settings["default_symbol"] = symbol_path
settings["symbol"] = symbol_path
settings["category"] = self.uiCategoryComboBox.itemData(self.uiCategoryComboBox.currentIndex())

View File

@@ -147,7 +147,7 @@ class IOSRouterPreferencesPage(QtWidgets.QWidget, Ui_IOSRouterPreferencesPageWid
self._ios_routers[key].update(ios_settings)
item = QtWidgets.QTreeWidgetItem(self.uiIOSRoutersTreeWidget)
item.setText(0, self._ios_routers[key]["name"])
item.setIcon(0, QtGui.QIcon(self._ios_routers[key]["default_symbol"]))
item.setIcon(0, QtGui.QIcon(self._ios_routers[key]["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)
self.uiIOSRoutersTreeWidget.setCurrentItem(item)
@@ -165,7 +165,7 @@ class IOSRouterPreferencesPage(QtWidgets.QWidget, Ui_IOSRouterPreferencesPageWid
dialog.show()
if dialog.exec_():
# update the icon
item.setIcon(0, QtGui.QIcon(ios_router["default_symbol"]))
item.setIcon(0, QtGui.QIcon(ios_router["symbol"]))
if ios_router["name"] != item.text(0):
# rename the IOS router
new_key = "{server}:{name}".format(server=ios_router["server"], name=ios_router["name"])
@@ -426,7 +426,7 @@ class IOSRouterPreferencesPage(QtWidgets.QWidget, Ui_IOSRouterPreferencesPageWid
for key, ios_router in self._ios_routers.items():
item = QtWidgets.QTreeWidgetItem(self.uiIOSRoutersTreeWidget)
item.setText(0, ios_router["name"])
item.setIcon(0, QtGui.QIcon(ios_router["default_symbol"]))
item.setIcon(0, QtGui.QIcon(ios_router["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)

View File

@@ -33,7 +33,7 @@ DYNAMIPS_SETTINGS = {
IOS_ROUTER_SETTINGS = {
"name": "",
"image": "",
"default_symbol": ":/symbols/router.normal.svg",
"symbol": ":/symbols/router.svg",
"category": Node.routers,
"startup_config": "",
"private_config": "",

View File

@@ -103,9 +103,10 @@ class IOU(Module):
continue
device_settings = IOU_DEVICE_SETTINGS.copy()
device_settings.update(device)
if "initial_config" in device_settings:
# transfer initial-config (post version 1.4) to startup-config
device_settings["startup_config"] = device_settings["initial_config"]
# for backward compatibility before version 1.4
device_settings["symbol"] = device_settings.get("default_symbol", device_settings["symbol"])
device_settings["symbol"] = device_settings["symbol"][:-11] + ".svg" if device_settings["symbol"].endswith("normal.svg") else device_settings["symbol"]
device_settings["startup_config"] = device_settings.get("initial_config", device_settings["startup_config"])
self._iou_devices[key] = device_settings
def _saveIOUDevices(self):
@@ -350,7 +351,7 @@ class IOU(Module):
"name": iou_device["name"],
"ram": iou_device["ram"],
"server": iou_device["server"],
"default_symbol": iou_device["default_symbol"],
"symbol": iou_device["symbol"],
"categories": [iou_device["category"]]
}
)

View File

@@ -44,7 +44,7 @@ class IOUDeviceWizard(VMWizard, Ui_IOUDeviceWizard):
def __init__(self, iou_devices, parent):
super().__init__(parent)
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/multilayer_switch.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/multilayer_switch.svg"))
self.uiTypeComboBox.currentIndexChanged[str].connect(self._typeChangedSlot)
@@ -95,10 +95,10 @@ class IOUDeviceWizard(VMWizard, Ui_IOUDeviceWizard):
if image_type == "L2 image":
# L2 image
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/multilayer_switch.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/multilayer_switch.svg"))
else:
# L3 image
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.svg"))
def initializePage(self, page_id):
@@ -143,7 +143,7 @@ class IOUDeviceWizard(VMWizard, Ui_IOUDeviceWizard):
default_base_config = get_default_base_config(self._base_iou_l2_config_template)
if default_base_config:
startup_config = default_base_config
default_symbol = ":/symbols/multilayer_switch.normal.svg"
symbol = ":/symbols/multilayer_switch.svg"
category = Node.switches
ethernet_adapters = 4
serial_adapters = 0
@@ -152,7 +152,7 @@ class IOUDeviceWizard(VMWizard, Ui_IOUDeviceWizard):
default_base_config = get_default_base_config(self._base_iou_l3_config_template)
if default_base_config:
startup_config = default_base_config
default_symbol = ":/symbols/router.normal.svg"
symbol = ":/symbols/router.svg"
category = Node.routers
ethernet_adapters = 2
serial_adapters = 2
@@ -174,7 +174,7 @@ class IOUDeviceWizard(VMWizard, Ui_IOUDeviceWizard):
"startup_config": startup_config,
"ethernet_adapters": ethernet_adapters,
"serial_adapters": serial_adapters,
"default_symbol": default_symbol,
"symbol": symbol,
"category": category,
"server": server,
}

View File

@@ -698,17 +698,7 @@ class IOUDevice(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/multilayer_switch.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/multilayer_switch.selected.svg"
return ":/symbols/multilayer_switch.svg"
@staticmethod
def symbolName():

View File

@@ -175,7 +175,7 @@ class iouDeviceConfigurationPage(QtWidgets.QWidget, Ui_iouDeviceConfigPageWidget
self.uiPrivateConfigLineEdit.setText(settings["private_config"])
# load the symbol
self.uiSymbolLineEdit.setText(settings["default_symbol"])
self.uiSymbolLineEdit.setText(settings["symbol"])
# load the category
index = self.uiCategoryComboBox.findData(settings["category"])
@@ -267,7 +267,7 @@ class iouDeviceConfigurationPage(QtWidgets.QWidget, Ui_iouDeviceConfigPageWidget
if pixmap.isNull():
QtWidgets.QMessageBox.critical(self, "Symbol", "Invalid file or format not supported")
else:
settings["default_symbol"] = symbol_path
settings["symbol"] = symbol_path
settings["category"] = self.uiCategoryComboBox.itemData(self.uiCategoryComboBox.currentIndex())

View File

@@ -131,7 +131,7 @@ class IOUDevicePreferencesPage(QtWidgets.QWidget, Ui_IOUDevicePreferencesPageWid
item = QtWidgets.QTreeWidgetItem(self.uiIOUDevicesTreeWidget)
item.setText(0, self._iou_devices[key]["name"])
item.setIcon(0, QtGui.QIcon(self._iou_devices[key]["default_symbol"]))
item.setIcon(0, QtGui.QIcon(self._iou_devices[key]["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)
self.uiIOUDevicesTreeWidget.setCurrentItem(item)
@@ -171,7 +171,7 @@ class IOUDevicePreferencesPage(QtWidgets.QWidget, Ui_IOUDevicePreferencesPageWid
dialog.show()
if dialog.exec_():
# update the icon
item.setIcon(0, QtGui.QIcon(iou_device["default_symbol"]))
item.setIcon(0, QtGui.QIcon(iou_device["symbol"]))
if iou_device["name"] != item.text(0):
new_key = "{server}:{name}".format(server=iou_device["server"], name=iou_device["name"])
if new_key in self._iou_devices:
@@ -208,7 +208,7 @@ class IOUDevicePreferencesPage(QtWidgets.QWidget, Ui_IOUDevicePreferencesPageWid
for key, iou_device in self._iou_devices.items():
item = QtWidgets.QTreeWidgetItem(self.uiIOUDevicesTreeWidget)
item.setText(0, iou_device["name"])
item.setIcon(0, QtGui.QIcon(iou_device["default_symbol"]))
item.setIcon(0, QtGui.QIcon(iou_device["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)

View File

@@ -37,7 +37,7 @@ if not sys.platform.startswith("linux"):
IOU_DEVICE_SETTINGS = {
"name": "",
"path": "",
"default_symbol": ":/symbols/multilayer_switch.normal.svg",
"symbol": ":/symbols/multilayer_switch.svg",
"category": Node.routers,
"image": "",
"startup_config": "",

View File

@@ -82,6 +82,9 @@ class Qemu(Module):
continue
vm_settings = QEMU_VM_SETTINGS.copy()
vm_settings.update(vm)
# for backward compatibility before version 1.4
vm_settings["symbol"] = vm_settings.get("default_symbol", vm_settings["symbol"])
vm_settings["symbol"] = vm_settings["symbol"][:-11] + ".svg" if vm_settings["symbol"].endswith("normal.svg") else vm_settings["symbol"]
self._qemu_vms[key] = vm_settings
def _saveQemuVMs(self):
@@ -273,7 +276,7 @@ class Qemu(Module):
"name": qemu_vm["name"],
"ram": qemu_vm["ram"],
"server": qemu_vm["server"],
"default_symbol": qemu_vm["default_symbol"],
"symbol": qemu_vm["symbol"],
"categories": [qemu_vm["category"]]
}
)

View File

@@ -77,22 +77,22 @@ class QemuVMWizard(VMWizard, Ui_QemuVMWizard):
"""
if vm_type == "IOSv":
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/iosv_virl.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/iosv_virl.svg"))
self.uiNameLineEdit.setText("vIOS")
self.uiHdaDiskImageLabel.setText("IOSv VDMK file:")
elif vm_type == "IOSv-L2":
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/iosv_l2_virl.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/iosv_l2_virl.svg"))
self.uiNameLineEdit.setText("vIOS-L2")
self.uiHdaDiskImageLabel.setText("IOSv-L2 VDMK file:")
elif vm_type == "IOS-XRv":
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/router.svg"))
self.uiNameLineEdit.setText("IOS-XRv")
self.uiHdaDiskImageLabel.setText("IOS-XRv VDMK file:")
elif vm_type == "ASA 8.4(2)":
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/asa.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/asa.svg"))
self.uiNameLineEdit.setText("ASA")
elif vm_type == "IDS":
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/ids.normal.svg"))
self.setPixmap(QtWidgets.QWizard.LogoPixmap, QtGui.QPixmap(":/symbols/ids.svg"))
self.uiNameLineEdit.setText("IDS")
self.uiHdaDiskImageLabel.setText("Disk image (hda):")
else:
@@ -200,17 +200,17 @@ class QemuVMWizard(VMWizard, Ui_QemuVMWizard):
if self.uiTypeComboBox.currentText() == "IOSv":
settings["adapters"] = 8
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text()
settings["default_symbol"] = ":/symbols/iosv_virl.normal.svg"
settings["symbol"] = ":/symbols/iosv_virl.svg"
settings["category"] = Node.routers
elif self.uiTypeComboBox.currentText() == "IOSv-L2":
settings["adapters"] = 8
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text()
settings["default_symbol"] = ":/symbols/iosv_l2_virl.normal.svg"
settings["symbol"] = ":/symbols/iosv_l2_virl.svg"
settings["category"] = Node.switches
elif self.uiTypeComboBox.currentText() == "IOS-XRv":
settings["adapters"] = 16
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text()
settings["default_symbol"] = ":/symbols/router.normal.svg"
settings["symbol"] = ":/symbols/router.svg"
settings["category"] = Node.routers
elif self.uiTypeComboBox.currentText() == "ASA 8.4(2)":
settings["adapters"] = 4
@@ -221,14 +221,14 @@ class QemuVMWizard(VMWizard, Ui_QemuVMWizard):
if not sys.platform.startswith("darwin"):
settings["cpu_throttling"] = 80 # limit to 80% CPU usage
settings["process_priority"] = "low"
settings["default_symbol"] = ":/symbols/asa.normal.svg"
settings["symbol"] = ":/symbols/asa.svg"
settings["category"] = Node.security_devices
elif self.uiTypeComboBox.currentText() == "IDS":
settings["adapters"] = 3
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text()
settings["hdb_disk_image"] = self.uiHdbDiskImageLineEdit.text()
settings["options"] = "-smbios type=1,product=IDS-4215"
settings["default_symbol"] = ":/symbols/ids.normal.svg"
settings["symbol"] = ":/symbols/ids.svg"
settings["category"] = Node.security_devices
else:
settings["hda_disk_image"] = self.uiHdaDiskImageLineEdit.text()

View File

@@ -330,7 +330,7 @@ class QemuVMConfigurationPage(QtWidgets.QWidget, Ui_QemuVMConfigPageWidget):
if not node:
# load the symbol
self.uiSymbolLineEdit.setText(settings["default_symbol"])
self.uiSymbolLineEdit.setText(settings["symbol"])
# load the category
index = self.uiCategoryComboBox.findData(settings["category"])
@@ -429,7 +429,7 @@ class QemuVMConfigurationPage(QtWidgets.QWidget, Ui_QemuVMConfigPageWidget):
if pixmap.isNull():
QtWidgets.QMessageBox.critical(self, "Symbol", "Invalid file or format not supported")
else:
settings["default_symbol"] = symbol_path
settings["symbol"] = symbol_path
settings["category"] = self.uiCategoryComboBox.itemData(self.uiCategoryComboBox.currentIndex())

View File

@@ -161,7 +161,7 @@ class QemuVMPreferencesPage(QtWidgets.QWidget, Ui_QemuVMPreferencesPageWidget):
item = QtWidgets.QTreeWidgetItem(self.uiQemuVMsTreeWidget)
item.setText(0, self._qemu_vms[key]["name"])
item.setIcon(0, QtGui.QIcon(self._qemu_vms[key]["default_symbol"]))
item.setIcon(0, QtGui.QIcon(self._qemu_vms[key]["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)
self.uiQemuVMsTreeWidget.setCurrentItem(item)
@@ -183,7 +183,7 @@ class QemuVMPreferencesPage(QtWidgets.QWidget, Ui_QemuVMPreferencesPageWidget):
dialog.show()
if dialog.exec_():
# update the icon
item.setIcon(0, QtGui.QIcon(qemu_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(qemu_vm["symbol"]))
if qemu_vm["name"] != item.text(0):
new_key = "{server}:{name}".format(server=qemu_vm["server"], name=qemu_vm["name"])
if new_key in self._qemu_vms:
@@ -224,7 +224,7 @@ class QemuVMPreferencesPage(QtWidgets.QWidget, Ui_QemuVMPreferencesPageWidget):
for key, qemu_vm in self._qemu_vms.items():
item = QtWidgets.QTreeWidgetItem(self.uiQemuVMsTreeWidget)
item.setText(0, qemu_vm["name"])
item.setIcon(0, QtGui.QIcon(qemu_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(qemu_vm["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)

View File

@@ -471,17 +471,7 @@ class QemuVM(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/qemu_guest.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/qemu_guest.selected.svg"
return ":/symbols/qemu_guest.svg"
@staticmethod
def symbolName():

View File

@@ -27,7 +27,7 @@ QEMU_SETTINGS = {
QEMU_VM_SETTINGS = {
"name": "",
"default_symbol": ":/symbols/qemu_guest.normal.svg",
"symbol": ":/symbols/qemu_guest.svg",
"category": Node.end_devices,
"qemu_path": "",
"hda_disk_image": "",

View File

@@ -126,6 +126,9 @@ class VirtualBox(Module):
continue
vm_settings = VBOX_VM_SETTINGS.copy()
vm_settings.update(vm)
# for backward compatibility before version 1.4
vm_settings["symbol"] = vm_settings.get("default_symbol", vm_settings["symbol"])
vm_settings["symbol"] = vm_settings["symbol"][:-11] + ".svg" if vm_settings["symbol"].endswith("normal.svg") else vm_settings["symbol"]
self._virtualbox_vms[key] = vm_settings
def _saveVirtualBoxVMs(self):
@@ -304,7 +307,7 @@ class VirtualBox(Module):
{"class": VirtualBoxVM.__name__,
"name": vbox_vm["vmname"],
"server": vbox_vm["server"],
"default_symbol": vbox_vm["default_symbol"],
"symbol": vbox_vm["symbol"],
"categories": [vbox_vm["category"]]}
)
return nodes

View File

@@ -106,7 +106,7 @@ class VirtualBoxVMConfigurationPage(QtWidgets.QWidget, Ui_virtualBoxVMConfigPage
if not node:
# load the symbol
self.uiSymbolLineEdit.setText(settings["default_symbol"])
self.uiSymbolLineEdit.setText(settings["symbol"])
# load the category
index = self.uiCategoryComboBox.findData(settings["category"])
@@ -169,7 +169,7 @@ class VirtualBoxVMConfigurationPage(QtWidgets.QWidget, Ui_virtualBoxVMConfigPage
if pixmap.isNull():
QtWidgets.QMessageBox.critical(self, "Symbol", "Invalid file or format not supported")
else:
settings["default_symbol"] = symbol_path
settings["symbol"] = symbol_path
settings["category"] = self.uiCategoryComboBox.itemData(self.uiCategoryComboBox.currentIndex())

View File

@@ -117,7 +117,7 @@ class VirtualBoxVMPreferencesPage(QtWidgets.QWidget, Ui_VirtualBoxVMPreferencesP
item = QtWidgets.QTreeWidgetItem(self.uiVirtualBoxVMsTreeWidget)
item.setText(0, self._virtualbox_vms[key]["vmname"])
item.setIcon(0, QtGui.QIcon(self._virtualbox_vms[key]["default_symbol"]))
item.setIcon(0, QtGui.QIcon(self._virtualbox_vms[key]["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)
self.uiVirtualBoxVMsTreeWidget.setCurrentItem(item)
@@ -135,7 +135,7 @@ class VirtualBoxVMPreferencesPage(QtWidgets.QWidget, Ui_VirtualBoxVMPreferencesP
dialog.show()
if dialog.exec_():
# update the icon
item.setIcon(0, QtGui.QIcon(vbox_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(vbox_vm["symbol"]))
if vbox_vm["vmname"] != item.text(0):
new_key = "{server}:{vmname}".format(server=vbox_vm["server"], name=vbox_vm["vmname"])
if new_key in self._virtualbox_vms:
@@ -172,7 +172,7 @@ class VirtualBoxVMPreferencesPage(QtWidgets.QWidget, Ui_VirtualBoxVMPreferencesP
for key, vbox_vm in self._virtualbox_vms.items():
item = QtWidgets.QTreeWidgetItem(self.uiVirtualBoxVMsTreeWidget)
item.setText(0, vbox_vm["vmname"])
item.setIcon(0, QtGui.QIcon(vbox_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(vbox_vm["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)

View File

@@ -29,7 +29,7 @@ VBOX_SETTINGS = {
VBOX_VM_SETTINGS = {
"vmname": "",
"default_symbol": ":/symbols/vbox_guest.normal.svg",
"symbol": ":/symbols/vbox_guest.svg",
"category": Node.end_devices,
"adapters": 1,
"ram": 0,

View File

@@ -499,17 +499,7 @@ class VirtualBoxVM(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/vbox_guest.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/vbox_guest.selected.svg"
return ":/symbols/vbox_guest.svg"
@staticmethod
def symbolName():

View File

@@ -132,6 +132,9 @@ class VMware(Module):
continue
vm_settings = VMWARE_VM_SETTINGS.copy()
vm_settings.update(vm)
# for backward compatibility before version 1.4
vm_settings["symbol"] = vm_settings.get("default_symbol", vm_settings["symbol"])
vm_settings["symbol"] = vm_settings["symbol"][:-11] + ".svg" if vm_settings["symbol"].endswith("normal.svg") else vm_settings["symbol"]
self._vmware_vms[key] = vm_settings
def _saveVMwareVMs(self):
@@ -308,7 +311,7 @@ class VMware(Module):
{"class": VMwareVM.__name__,
"name": vmware_vm["name"],
"server": vmware_vm["server"],
"default_symbol": vmware_vm["default_symbol"],
"symbol": vmware_vm["symbol"],
"categories": [vmware_vm["category"]]}
)
return nodes

View File

@@ -104,7 +104,7 @@ class VMwareVMConfigurationPage(QtWidgets.QWidget, Ui_VMwareVMConfigPageWidget):
if not node:
# load the symbol
self.uiSymbolLineEdit.setText(settings["default_symbol"])
self.uiSymbolLineEdit.setText(settings["symbol"])
# load the category
index = self.uiCategoryComboBox.findData(settings["category"])
@@ -166,7 +166,7 @@ class VMwareVMConfigurationPage(QtWidgets.QWidget, Ui_VMwareVMConfigPageWidget):
if pixmap.isNull():
QtWidgets.QMessageBox.critical(self, "Symbol", "Invalid file or format not supported")
else:
settings["default_symbol"] = symbol_path
settings["symbol"] = symbol_path
settings["category"] = self.uiCategoryComboBox.itemData(self.uiCategoryComboBox.currentIndex())

View File

@@ -116,7 +116,7 @@ class VMwareVMPreferencesPage(QtWidgets.QWidget, Ui_VMwareVMPreferencesPageWidge
item = QtWidgets.QTreeWidgetItem(self.uiVMwareVMsTreeWidget)
item.setText(0, self._vmware_vms[key]["name"])
item.setIcon(0, QtGui.QIcon(self._vmware_vms[key]["default_symbol"]))
item.setIcon(0, QtGui.QIcon(self._vmware_vms[key]["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)
self.uiVMwareVMsTreeWidget.setCurrentItem(item)
@@ -134,7 +134,7 @@ class VMwareVMPreferencesPage(QtWidgets.QWidget, Ui_VMwareVMPreferencesPageWidge
dialog.show()
if dialog.exec_():
# update the icon
item.setIcon(0, QtGui.QIcon(vmware_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(vmware_vm["symbol"]))
if vmware_vm["name"] != item.text(0):
new_key = "{server}:{name}".format(server=vmware_vm["server"], name=vmware_vm["name"])
if new_key in self._vmware_vms:
@@ -171,7 +171,7 @@ class VMwareVMPreferencesPage(QtWidgets.QWidget, Ui_VMwareVMPreferencesPageWidge
for key, vmware_vm in self._vmware_vms.items():
item = QtWidgets.QTreeWidgetItem(self.uiVMwareVMsTreeWidget)
item.setText(0, vmware_vm["name"])
item.setIcon(0, QtGui.QIcon(vmware_vm["default_symbol"]))
item.setIcon(0, QtGui.QIcon(vmware_vm["symbol"]))
item.setData(0, QtCore.Qt.UserRole, key)
self._items.append(item)

View File

@@ -37,7 +37,7 @@ VMWARE_SETTINGS = {
VMWARE_VM_SETTINGS = {
"vmx_path": "",
"default_symbol": ":/symbols/vmware_guest.normal.svg",
"symbol": ":/symbols/vmware_guest.svg",
"category": Node.end_devices,
"adapters": 1,
"adapter_type": "default",

View File

@@ -430,17 +430,7 @@ class VMwareVM(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/vmware_guest.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/vmware_guest.selected.svg"
return ":/symbols/vmware_guest.svg"
@staticmethod
def symbolName():

View File

@@ -329,7 +329,7 @@ class VPCS(Module):
"name": node_class.symbolName(),
"server": server,
"categories": node_class.categories(),
"default_symbol": self._settings["default_symbol"]}
"symbol": self._settings["symbol"]}
)
if ENABLE_CLOUD:
nodes.append(
@@ -337,7 +337,7 @@ class VPCS(Module):
"name": node_class.symbolName() + " (cloud)",
"server": "cloud",
"categories": node_class.categories(),
"default_symbol": self._settings["default_symbol"]}
"symbol": self._settings["symbol"]}
)
return nodes

View File

@@ -23,5 +23,5 @@ VPCS_SETTINGS = {
"vpcs_path": "",
"use_local_server": True,
"base_script_file": "",
"default_symbol": ":/symbols/vpcs_guest.normal.svg",
"symbol": ":/symbols/vpcs_guest.svg",
}

View File

@@ -450,17 +450,7 @@ class VPCSDevice(VM):
:returns: symbol path (or resource).
"""
return ":/symbols/computer.normal.svg"
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when this node is hovered.
:returns: symbol path (or resource).
"""
return ":/symbols/computer.selected.svg"
return ":/symbols/computer.svg"
@staticmethod
def symbolName():

View File

@@ -439,17 +439,6 @@ class Node(QtCore.QObject):
raise NotImplementedError()
@staticmethod
def hoverSymbol():
"""
Returns the symbol to use when the node is hovered.
Must be overloaded.
:returns: symbol path (or resource).
"""
raise NotImplementedError()
@staticmethod
def symbolName():
"""

View File

@@ -72,12 +72,12 @@ class NodesView(QtWidgets.QTreeWidget):
image = QtGui.QImage(32, 32, QtGui.QImage.Format_ARGB32)
# Set the ARGB to 0 to prevent rendering artifacts
image.fill(0x00000000)
svg_renderer = QtSvg.QSvgRenderer(node["default_symbol"])
svg_renderer = QtSvg.QSvgRenderer(node["symbol"])
if svg_renderer.isValid():
svg_renderer.render(QtGui.QPainter(image))
else:
#FIXME: Cannot read file '...', because: Encountered incorrectly encoded content. (line 1)
image.load(node["default_symbol"])
image.load(node["symbol"])
if image.isNull():
continue
icon = QtGui.QIcon(QtGui.QPixmap.fromImage(image))

View File

@@ -272,8 +272,7 @@
"id": { "$ref": "#/definitions/numeric_id" },
"device_id": { "$ref": "#/definitions/optional_uuid" },
"label": { "$ref": "#/definitions/label" },
"hover_symbol": { "$ref": "#/definitions/mandatory_string" },
"default_symbol": { "$ref": "#/definitions/mandatory_string" },
"symbol": { "$ref": "#/definitions/mandatory_string" },
"ports": {
"type": "array",
"items": { "$ref": "#/definitions/port" }

View File

@@ -425,7 +425,7 @@ class Topology:
elif isinstance(item, PixmapNodeItem):
symbol_path = item.pixmapSymbolPath()
if symbol_path:
node["default_symbol"] = symbol_path
node["symbol"] = symbol_path
if isinstance(item, LinkItem):
if item.link() is not None:
for link in topology["topology"]["links"]:
@@ -713,15 +713,20 @@ class Topology:
# load the settings
node.load(topology_node)
# for backward compatibility before version 1.4
if "default_symbol" in topology_node:
symbol_path = topology_node["default_symbol"]
topology_node["symbol"] = topology_node["default_symbol"]
topology_node["symbol"] = topology_node["symbol"][:-11] + ".svg" if topology_node["symbol"].endswith("normal.svg") else topology_node["symbol"]
if "symbol" in topology_node:
symbol_path = topology_node["symbol"]
renderer = QtSvg.QSvgRenderer(symbol_path)
if renderer.isValid():
node_item = SvgNodeItem(node, symbol_path)
else:
pixmap = QtGui.QPixmap(topology_node["default_symbol"])
pixmap = QtGui.QPixmap(topology_node["symbol"])
if not pixmap.isNull():
node_item = PixmapNodeItem(node, topology_node["default_symbol"])
node_item = PixmapNodeItem(node, topology_node["symbol"])
else:
node_item = SvgNodeItem(node)
else:

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@
height="59.253815"
id="Andysvg"
inkscape:version="0.48.4 r9939"
sodipodi:docname="qemu_guest.normal.svg"
sodipodi:docname="qemu.svg"
sodipodi:version="0.32"
version="1.0"
width="65.414536"

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,44 +1,44 @@
<RCC>
<qresource>
<file>symbols/router.normal.svg</file>
<file>symbols/gateway.normal.svg</file>
<file>symbols/iosv_virl.normal.svg</file>
<file>symbols/label_switch_router.normal.svg</file>
<file>symbols/optical_router.normal.svg</file>
<file>symbols/edge_label_switch_router.normal.svg</file>
<file>symbols/router_firewall.normal.svg</file>
<file>symbols/router.normal.awp.svg</file>
<file>symbols/PIX_firewall.normal.svg</file>
<file>symbols/computer.normal.svg</file>
<file>symbols/qemu_guest.normal.svg</file>
<file>symbols/vbox_guest.normal.svg</file>
<file>symbols/vpcs_guest.normal.svg</file>
<file>symbols/vmware_guest.normal.svg</file>
<file>symbols/server.normal.svg</file>
<file>symbols/router_netflow.normal.svg</file>
<file>symbols/access_server.normal.svg</file>
<file>symbols/printer.normal.svg</file>
<file>symbols/dslam.normal.svg</file>
<file>symbols/sip_server.normal.svg</file>
<file>symbols/PBX.normal.svg</file>
<file>symbols/ip_phone.normal.svg</file>
<file>symbols/voice_access_server.normal.svg</file>
<file>symbols/call_manager.normal.svg</file>
<file>symbols/voice_router.normal.svg</file>
<file>symbols/ids.normal.svg</file>
<file>symbols/asa.normal.svg</file>
<file>symbols/route_switch_processor.normal.svg</file>
<file>symbols/multilayer_switch.normal.svg</file>
<file>symbols/iosv_l2_virl.normal.svg</file>
<file>symbols/lightweight_ap.normal.svg</file>
<file>symbols/wlan_controller.normal.svg</file>
<file>symbols/atm_switch.normal.svg</file>
<file>symbols/atm_bridge.normal.svg</file>
<file>symbols/frame_relay_switch.normal.svg</file>
<file>symbols/ethernet_switch.normal.svg</file>
<file>symbols/access_point.normal.svg</file>
<file>symbols/cloud.normal.svg</file>
<file>symbols/hub.normal.svg</file>
<file>symbols/router.svg</file>
<file>symbols/gateway.svg</file>
<file>symbols/iosv_virl.svg</file>
<file>symbols/label_switch_router.svg</file>
<file>symbols/optical_router.svg</file>
<file>symbols/edge_label_switch_router.svg</file>
<file>symbols/router_firewall.svg</file>
<file>symbols/router.awp.svg</file>
<file>symbols/PIX_firewall.svg</file>
<file>symbols/computer.svg</file>
<file>symbols/qemu_guest.svg</file>
<file>symbols/vbox_guest.svg</file>
<file>symbols/vpcs_guest.svg</file>
<file>symbols/vmware_guest.svg</file>
<file>symbols/server.svg</file>
<file>symbols/router_netflow.svg</file>
<file>symbols/access_server.svg</file>
<file>symbols/printer.svg</file>
<file>symbols/dslam.svg</file>
<file>symbols/sip_server.svg</file>
<file>symbols/PBX.svg</file>
<file>symbols/ip_phone.svg</file>
<file>symbols/voice_access_server.svg</file>
<file>symbols/call_manager.svg</file>
<file>symbols/voice_router.svg</file>
<file>symbols/ids.svg</file>
<file>symbols/asa.svg</file>
<file>symbols/route_switch_processor.svg</file>
<file>symbols/multilayer_switch.svg</file>
<file>symbols/iosv_l2_virl.svg</file>
<file>symbols/lightweight_ap.svg</file>
<file>symbols/wlan_controller.svg</file>
<file>symbols/atm_switch.svg</file>
<file>symbols/atm_bridge.svg</file>
<file>symbols/frame_relay_switch.svg</file>
<file>symbols/ethernet_switch.svg</file>
<file>symbols/access_point.svg</file>
<file>symbols/cloud.svg</file>
<file>symbols/hub.svg</file>
<file alias="icons/default.svg">icons/cancel.svg</file>
<file>icons/configuration.svg</file>
<file>icons/cancel.svg</file>

View File

@@ -16,7 +16,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docname="PBX.normal.svg"
sodipodi:docname="PBX.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:docbase="X:\symbols">
<title

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -15,8 +15,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="PIX_firewall.normal.svg"
sodipodi:docname="PIX_firewall.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -15,8 +15,7 @@
width="71.851372"
height="32.285366"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="access_point.normal.svg"
sodipodi:docname="access_point.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 254 KiB

View File

@@ -15,8 +15,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="access_server.normal.svg"
sodipodi:docname="access_server.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -16,7 +16,7 @@
width="51.604012"
height="59.644005"
version="1.0"
sodipodi:docname="asa.normal.svg"
sodipodi:docname="asa.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<title
id="title3303">ASA</title>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -15,8 +15,7 @@
width="72.139786"
height="32.198273"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="atm_bridge.normal.svg"
sodipodi:docname="atm_bridge.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -15,8 +15,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="sw_atm.normal.svg"
sodipodi:docname="sw_atm.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -15,8 +15,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="edgelabel_swproc.normal.svg"
sodipodi:docname="edgelabel_swproc.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -15,8 +15,7 @@
width="71.851372"
height="32.285366"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="sw_standard.normal.svg"
sodipodi:docname="sw_standard.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -15,8 +15,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="sw_frame_relay.normal.svg"
sodipodi:docname="sw_frame_relay.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@@ -15,8 +15,7 @@
width="65.937935"
height="55.615818"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="gateway.normal.svg"
sodipodi:docname="gateway.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -15,8 +15,7 @@
width="72.139786"
height="32.198273"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="hub.normal.svg"
sodipodi:docname="hub.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -16,7 +16,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docname="ids.normal.svg"
sodipodi:docname="ids.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<title
id="title2849">IDS</title>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -16,7 +16,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docname="vios_l2.normal.svg"
sodipodi:docname="vios_l2.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -16,7 +16,7 @@
width="65.937935"
height="55.615818"
version="1.0"
sodipodi:docname="vios.normal.svg"
sodipodi:docname="vios.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -15,8 +15,7 @@
width="65.937935"
height="55.615818"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="label_switch_router.normal.svg"
sodipodi:docname="label_switch_router.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -15,8 +15,7 @@
width="71.851372"
height="32.285366"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="lightweight_ap.normal.svg"
sodipodi:docname="lightweight_ap.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 256 KiB

View File

@@ -15,8 +15,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="sw_multilayer.normal.svg"
sodipodi:docname="sw_multilayer.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -15,8 +15,7 @@
width="65.937935"
height="55.615818"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="optical_router.normal.svg"
sodipodi:docname="optical_router.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
id="metadata2003">

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -13,7 +13,7 @@
height="59.253815"
id="Andysvg"
inkscape:version="0.48.2 r9819"
sodipodi:docname="qemu_guest.normal.svg"
sodipodi:docname="qemu_guest.svg"
sodipodi:version="0.32"
version="1.0"
width="65.414536"

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -16,7 +16,7 @@
height="66.033699"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="route_swproc.normal.svg"
sodipodi:docname="route_swproc.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -16,7 +16,7 @@
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="awp_router_normal.svg">
sodipodi:docname="awp_router.svg">
<defs
id="defs4">
<linearGradient

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -15,8 +15,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="rt_standard.normal.svg"
sodipodi:docname="rt_standard.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -15,8 +15,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="rt_firewall.normal.svg"
sodipodi:docname="rt_firewall.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -15,8 +15,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="rt_netflow.normal.svg"
sodipodi:docname="rt_netflow.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -12,8 +12,7 @@
height="69.512581"
id="svg2"
inkscape:version="0.45.1"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="server.normal.svg"
sodipodi:docname="server.svg"
sodipodi:version="0.32"
width="49.476486"
version="1.0"

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -13,7 +13,7 @@
height="59.253815"
id="Andysvg"
inkscape:version="0.48.2 r9819"
sodipodi:docname="vbox_guest.normal.svg"
sodipodi:docname="vbox_guest.svg"
sodipodi:version="0.32"
version="1.0"
width="65.414536"

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 202 KiB

View File

@@ -13,7 +13,7 @@
height="59.253815"
id="Andysvg"
inkscape:version="0.48.4 r9939"
sodipodi:docname="vmware_guest.normal.svg"
sodipodi:docname="vmware_guest.svg"
sodipodi:version="0.32"
version="1.0"
width="65.414536"

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -16,7 +16,7 @@
width="51.358818"
height="47.630692"
version="1.0"
sodipodi:docname="voice_access_server.normal.svg"
sodipodi:docname="voice_access_server.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<title
id="title22009">Voice access server</title>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -16,7 +16,7 @@
width="66.000435"
height="44.5159"
version="1.0"
sodipodi:docname="voice_router.normal.svg"
sodipodi:docname="voice_router.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<title

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -13,7 +13,7 @@
height="59.253815"
id="Andysvg"
inkscape:version="0.48.5 r10040"
sodipodi:docname="vpcs_guest.normal.svg"
sodipodi:docname="vpcs_guest.svg"
sodipodi:version="0.32"
version="1.0"
width="65.414536"

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -15,8 +15,7 @@
width="71.851372"
height="32.285366"
version="1.0"
sodipodi:docbase="/home/grossmj/workspace/gns3-artwork/symbols"
sodipodi:docname="wlan_controller.normal.svg"
sodipodi:docname="wlan_controller.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<metadata

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 255 KiB