Option to use default IOU RAM & NVRAM values. Avoid to silently not

display exceptions before the GUI has started.
This commit is contained in:
grossmj
2014-05-07 15:54:08 -06:00
parent 9f11d9eac5
commit ddfdfb3d04
12 changed files with 568 additions and 382 deletions

View File

@@ -75,6 +75,14 @@ class ConsoleView(PyCutExt, ConsoleCmd):
instance = module.instance()
instance.notification_signal.connect(self.writeNotification)
def isatty(self):
"""
For exception handling purposes
(see exception hook in the program entry point).
"""
return False
def onKeyPress_Tab(self):
"""
Imitate cmd.Cmd.complete(self, text, state) function.

View File

@@ -92,15 +92,20 @@ def main():
lines = traceback.format_exception(exception, value, tb)
print("****** Exception detected, traceback information saved in {} ******".format(exception_file_path))
print("\n----> PLEASE REPORT ON http://forum.gns3.net/development-f14.html OR http://github.com/GNS3/gns3-gui/issues\n")
print("\n" . join(lines))
print("".join(lines))
try:
curdate = time.strftime("%d %b %Y %H:%M:%S")
logfile = open(exception_file_path, "a")
logfile.write("=== GNS3 {} traceback on {} ===\n".format(__version__, curdate))
logfile.write("\n" . join(lines))
logfile.write("".join(lines))
logfile.close()
except OSError as e:
print("Could not save traceback to {}: {}".format(exception_file_path, e))
if not sys.stdout.isatty():
# if stdout is not a tty (redirected to the console view),
# then print the exception on stderr too.
print("".join(lines), file=sys.stderr)
# catch exceptions to write them in a file
sys.excepthook = exceptionHook

View File

@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/dynamips/ui/dynamips_preferences_page.ui'
# Form implementation generated from reading ui file '/home/grossmj/git/gns3-gui/gns3/modules/dynamips/ui/dynamips_preferences_page.ui'
#
# Created: Wed Apr 30 18:10:08 2014
# by: PyQt4 UI code generator 4.10
# Created: Wed May 7 13:39:06 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
@@ -54,28 +54,13 @@ class Ui_DynamipsPreferencesPageWidget(object):
self.uiDynamipsPathToolButton.setObjectName(_fromUtf8("uiDynamipsPathToolButton"))
self.horizontalLayout.addWidget(self.uiDynamipsPathToolButton)
self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 2)
self.uiAuxPortRangeGroupBox = QtGui.QGroupBox(self.uiGeneralSettingsTabWidget)
self.uiAuxPortRangeGroupBox.setObjectName(_fromUtf8("uiAuxPortRangeGroupBox"))
self.horizontalLayout_6 = QtGui.QHBoxLayout(self.uiAuxPortRangeGroupBox)
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
self.uiAuxStartPortSpinBox = QtGui.QSpinBox(self.uiAuxPortRangeGroupBox)
self.uiAuxStartPortSpinBox.setSuffix(_fromUtf8(" TCP"))
self.uiAuxStartPortSpinBox.setMaximum(65535)
self.uiAuxStartPortSpinBox.setProperty("value", 2501)
self.uiAuxStartPortSpinBox.setObjectName(_fromUtf8("uiAuxStartPortSpinBox"))
self.horizontalLayout_6.addWidget(self.uiAuxStartPortSpinBox)
self.uiAuxPortRangeLabel = QtGui.QLabel(self.uiAuxPortRangeGroupBox)
self.uiAuxPortRangeLabel.setObjectName(_fromUtf8("uiAuxPortRangeLabel"))
self.horizontalLayout_6.addWidget(self.uiAuxPortRangeLabel)
self.uiAuxEndPortSpinBox = QtGui.QSpinBox(self.uiAuxPortRangeGroupBox)
self.uiAuxEndPortSpinBox.setSuffix(_fromUtf8(" TCP"))
self.uiAuxEndPortSpinBox.setMaximum(65535)
self.uiAuxEndPortSpinBox.setProperty("value", 3000)
self.uiAuxEndPortSpinBox.setObjectName(_fromUtf8("uiAuxEndPortSpinBox"))
self.horizontalLayout_6.addWidget(self.uiAuxEndPortSpinBox)
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem)
self.gridLayout.addWidget(self.uiAuxPortRangeGroupBox, 3, 0, 1, 1)
self.uiDynamipsPathLabel = QtGui.QLabel(self.uiGeneralSettingsTabWidget)
self.uiDynamipsPathLabel.setObjectName(_fromUtf8("uiDynamipsPathLabel"))
self.gridLayout.addWidget(self.uiDynamipsPathLabel, 0, 0, 1, 2)
spacerItem = QtGui.QSpacerItem(164, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 4, 1, 1, 1)
spacerItem1 = QtGui.QSpacerItem(390, 193, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem1, 5, 0, 1, 2)
self.uiConsolePortRangeGroupBox = QtGui.QGroupBox(self.uiGeneralSettingsTabWidget)
self.uiConsolePortRangeGroupBox.setObjectName(_fromUtf8("uiConsolePortRangeGroupBox"))
self.horizontalLayout_5 = QtGui.QHBoxLayout(self.uiConsolePortRangeGroupBox)
@@ -95,16 +80,31 @@ class Ui_DynamipsPreferencesPageWidget(object):
self.uiConsoleEndPortSpinBox.setProperty("value", 2500)
self.uiConsoleEndPortSpinBox.setObjectName(_fromUtf8("uiConsoleEndPortSpinBox"))
self.horizontalLayout_5.addWidget(self.uiConsoleEndPortSpinBox)
spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem1)
self.gridLayout.addWidget(self.uiConsolePortRangeGroupBox, 2, 0, 1, 1)
self.uiDynamipsPathLabel = QtGui.QLabel(self.uiGeneralSettingsTabWidget)
self.uiDynamipsPathLabel.setObjectName(_fromUtf8("uiDynamipsPathLabel"))
self.gridLayout.addWidget(self.uiDynamipsPathLabel, 0, 0, 1, 2)
spacerItem2 = QtGui.QSpacerItem(164, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem2, 4, 1, 1, 1)
spacerItem3 = QtGui.QSpacerItem(390, 193, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem3, 5, 0, 1, 2)
spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem2)
self.gridLayout.addWidget(self.uiConsolePortRangeGroupBox, 2, 0, 1, 2)
self.uiAuxPortRangeGroupBox = QtGui.QGroupBox(self.uiGeneralSettingsTabWidget)
self.uiAuxPortRangeGroupBox.setObjectName(_fromUtf8("uiAuxPortRangeGroupBox"))
self.horizontalLayout_6 = QtGui.QHBoxLayout(self.uiAuxPortRangeGroupBox)
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
self.uiAuxStartPortSpinBox = QtGui.QSpinBox(self.uiAuxPortRangeGroupBox)
self.uiAuxStartPortSpinBox.setSuffix(_fromUtf8(" TCP"))
self.uiAuxStartPortSpinBox.setMaximum(65535)
self.uiAuxStartPortSpinBox.setProperty("value", 2501)
self.uiAuxStartPortSpinBox.setObjectName(_fromUtf8("uiAuxStartPortSpinBox"))
self.horizontalLayout_6.addWidget(self.uiAuxStartPortSpinBox)
self.uiAuxPortRangeLabel = QtGui.QLabel(self.uiAuxPortRangeGroupBox)
self.uiAuxPortRangeLabel.setObjectName(_fromUtf8("uiAuxPortRangeLabel"))
self.horizontalLayout_6.addWidget(self.uiAuxPortRangeLabel)
self.uiAuxEndPortSpinBox = QtGui.QSpinBox(self.uiAuxPortRangeGroupBox)
self.uiAuxEndPortSpinBox.setSuffix(_fromUtf8(" TCP"))
self.uiAuxEndPortSpinBox.setMaximum(65535)
self.uiAuxEndPortSpinBox.setProperty("value", 3000)
self.uiAuxEndPortSpinBox.setObjectName(_fromUtf8("uiAuxEndPortSpinBox"))
self.horizontalLayout_6.addWidget(self.uiAuxEndPortSpinBox)
spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(spacerItem3)
self.gridLayout.addWidget(self.uiAuxPortRangeGroupBox, 3, 0, 1, 2)
self.uiTabWidget.addTab(self.uiGeneralSettingsTabWidget, _fromUtf8(""))
self.uiServerSettingsTabWidget = QtGui.QWidget()
self.uiServerSettingsTabWidget.setObjectName(_fromUtf8("uiServerSettingsTabWidget"))
@@ -239,11 +239,11 @@ class Ui_DynamipsPreferencesPageWidget(object):
self.uiTestSettingsPushButton.setText(_translate("DynamipsPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("DynamipsPreferencesPageWidget", "Restore defaults", None))
self.uiDynamipsPathToolButton.setText(_translate("DynamipsPreferencesPageWidget", "...", None))
self.uiAuxPortRangeGroupBox.setTitle(_translate("DynamipsPreferencesPageWidget", "Auxiliary console port range for routers", None))
self.uiAuxPortRangeLabel.setText(_translate("DynamipsPreferencesPageWidget", "to", None))
self.uiDynamipsPathLabel.setText(_translate("DynamipsPreferencesPageWidget", "Path to Dynamips:", None))
self.uiConsolePortRangeGroupBox.setTitle(_translate("DynamipsPreferencesPageWidget", "Console port range for routers", None))
self.uiConsolePortRangeLabel.setText(_translate("DynamipsPreferencesPageWidget", "to", None))
self.uiDynamipsPathLabel.setText(_translate("DynamipsPreferencesPageWidget", "Path to Dynamips:", None))
self.uiAuxPortRangeGroupBox.setTitle(_translate("DynamipsPreferencesPageWidget", "Auxiliary console port range for routers", None))
self.uiAuxPortRangeLabel.setText(_translate("DynamipsPreferencesPageWidget", "to", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiGeneralSettingsTabWidget), _translate("DynamipsPreferencesPageWidget", "General settings", None))
self.uiUseLocalServercheckBox.setText(_translate("DynamipsPreferencesPageWidget", "Use the local server", None))
self.uiRemoteServersGroupBox.setTitle(_translate("DynamipsPreferencesPageWidget", "Remote servers", None))

View File

@@ -90,6 +90,7 @@ class IOU(Module):
path = settings.value("path", "")
image = settings.value("image", "")
startup_config = settings.value("startup_config", "")
use_default_iou_values = settings.value("use_default_iou_values", True, type=bool)
ram = settings.value("ram", 256, type=int)
nvram = settings.value("nvram", 128, type=int)
server = settings.value("server", "local")
@@ -97,6 +98,7 @@ class IOU(Module):
self._iou_images[key] = {"path": path,
"image": image,
"startup_config": startup_config,
"use_default_iou_values": use_default_iou_values,
"ram": ram,
"nvram": nvram,
"server": server}
@@ -374,11 +376,14 @@ class IOU(Module):
startup_config = self._iou_images[iouimage]["startup_config"]
iou_path = self._iou_images[iouimage]["path"]
use_default_iou_values = self._iou_images[iouimage]["use_default_iou_values"]
settings = {}
if startup_config:
settings["startup_config"] = startup_config
settings["ram"] = self._iou_images[iouimage]["ram"]
settings["nvram"] = self._iou_images[iouimage]["nvram"]
settings["use_default_iou_values"] = use_default_iou_values
if not use_default_iou_values:
settings["ram"] = self._iou_images[iouimage]["ram"]
settings["nvram"] = self._iou_images[iouimage]["nvram"]
node.setup(iou_path, initial_settings=settings)
def reset(self):

View File

@@ -51,6 +51,7 @@ class IOUDevice(Node):
self._settings = {"name": "",
"path": "",
"startup_config": "",
"use_default_iou_values": True,
"ram": 256,
"nvram": 128,
"ethernet_adapters": 2,

View File

@@ -37,6 +37,19 @@ class iouDeviceConfigurationPage(QtGui.QWidget, Ui_iouDeviceConfigPageWidget):
QtGui.QWidget.__init__(self)
self.setupUi(self)
self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
self.uiDefaultValuesCheckBox.stateChanged.connect(self._useDefaultValuesSlot)
def _useDefaultValuesSlot(self, state):
"""
Slot to enable or not the RAM and NVRAM spin boxes.
"""
if state:
self.uiRamSpinBox.setEnabled(False)
self.uiNvramSpinBox.setEnabled(False)
else:
self.uiRamSpinBox.setEnabled(True)
self.uiNvramSpinBox.setEnabled(True)
def _startupConfigBrowserSlot(self):
"""
@@ -92,7 +105,8 @@ class iouDeviceConfigurationPage(QtGui.QWidget, Ui_iouDeviceConfigPageWidget):
self.uiStartupConfigLineEdit.hide()
self.uiStartupConfigToolButton.hide()
# load the memories and disks settings
# load the memories settings
self.uiDefaultValuesCheckBox.setChecked(settings["use_default_iou_values"])
self.uiRamSpinBox.setValue(settings["ram"])
self.uiNvramSpinBox.setValue(settings["nvram"])
@@ -130,7 +144,8 @@ class iouDeviceConfigurationPage(QtGui.QWidget, Ui_iouDeviceConfigPageWidget):
del settings["name"]
del settings["console"]
# save the memories and disks settings
# save the memories settings
settings["use_default_iou_values"] = self.uiDefaultValuesCheckBox.isChecked()
settings["ram"] = self.uiRamSpinBox.value()
settings["nvram"] = self.uiNvramSpinBox.value()

View File

@@ -45,6 +45,19 @@ class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget)
self.uiIOUPathToolButton.clicked.connect(self._iouImageBrowserSlot)
self.uiStartupConfigToolButton.clicked.connect(self._startupConfigBrowserSlot)
self.uiIOUImageTestSettingsPushButton.clicked.connect(self._testSettingsSlot)
self.uiDefaultValuesCheckBox.stateChanged.connect(self._useDefaultValuesSlot)
def _useDefaultValuesSlot(self, state):
"""
Slot to enable or not the RAM and NVRAM spin boxes.
"""
if state:
self.uiRAMSpinBox.setEnabled(False)
self.uiNVRAMSpinBox.setEnabled(False)
else:
self.uiRAMSpinBox.setEnabled(True)
self.uiNVRAMSpinBox.setEnabled(True)
def _iouImageClickedSlot(self, item, column):
"""
@@ -61,6 +74,7 @@ class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget)
self.uiIOUPathLineEdit.setText(iou_image["path"])
self.uiStartupConfigLineEdit.setText(iou_image["startup_config"])
self.uiDefaultValuesCheckBox.setChecked(iou_image["use_default_iou_values"])
self.uiRAMSpinBox.setValue(iou_image["ram"])
self.uiNVRAMSpinBox.setValue(iou_image["nvram"])
@@ -82,6 +96,7 @@ class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget)
path = self.uiIOUPathLineEdit.text()
startup_config = self.uiStartupConfigLineEdit.text()
use_default_iou_values = self.uiDefaultValuesCheckBox.isChecked()
nvram = self.uiNVRAMSpinBox.value()
ram = self.uiRAMSpinBox.value()
@@ -120,6 +135,7 @@ class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget)
self._iou_images[key] = {"path": path,
"image": image,
"startup_config": startup_config,
"use_default_iou_values": use_default_iou_values,
"ram": ram,
"nvram": nvram,
"server": server}

View File

@@ -6,177 +6,223 @@
<rect>
<x>0</x>
<y>0</y>
<width>403</width>
<height>461</height>
<width>405</width>
<height>468</height>
</rect>
</property>
<property name="windowTitle">
<string>IOU device configuration</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="uiNameLabel">
<property name="text">
<string>Name:</string>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="uiGeneralgroupBox">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="title">
<string>General</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="uiNameLabel">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="uiNameLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiIOUImageLabel">
<property name="text">
<string>IOU image:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="uiIOUImageComboBox"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiStartupConfigLabel">
<property name="text">
<string>Startup-config:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="uiStartupConfigLineEdit"/>
</item>
<item>
<widget class="QToolButton" name="uiStartupConfigToolButton">
<property name="text">
<string>...</string>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiConsolePortLabel">
<property name="text">
<string>Console port:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiConsolePortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="uiNameLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiIOUImageLabel">
<property name="text">
<string>IOU image:</string>
<item>
<widget class="QGroupBox" name="uiMemoriesGroupBox">
<property name="title">
<string>Memories</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="uiDefaultValuesCheckBox">
<property name="text">
<string>Use default IOU values</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiRamLabel">
<property name="text">
<string>RAM size:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="uiRamSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> MB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiNvramLabel">
<property name="text">
<string>NVRAM size:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiNvramSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> KB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="uiIOUImageComboBox"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiStartupConfigLabel">
<property name="text">
<string>Startup-config:</string>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Adapters</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="uiEthernetAdaptersLabel">
<property name="text">
<string>Ethernet adapters:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="uiEthernetAdaptersSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="singleStep">
<number>2</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="uiSerialAdaptersLabel">
<property name="text">
<string>Serial adapters:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="uiSerialAdaptersSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="singleStep">
<number>2</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="uiStartupConfigLineEdit"/>
</item>
<item>
<widget class="QToolButton" name="uiStartupConfigToolButton">
<property name="text">
<string>...</string>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QLabel" name="uiConsolePortLabel">
<property name="text">
<string>Console port:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiConsolePortSpinBox">
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="uiRamLabel">
<property name="text">
<string>RAM size:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="uiRamSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> MiB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="uiNvramLabel">
<property name="text">
<string>NVRAM size:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="uiNvramSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> KiB</string>
</property>
<property name="maximum">
<number>4096</number>
</property>
<property name="singleStep">
<number>4</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="uiEthernetAdaptersLabel">
<property name="text">
<string>Ethernet adapters:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="uiEthernetAdaptersSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="singleStep">
<number>2</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="uiSerialAdaptersLabel">
<property name="text">
<string>Serial adapters:</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QSpinBox" name="uiSerialAdaptersSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="singleStep">
<number>2</number>
</property>
</widget>
</item>
<item row="8" column="1">
<item>
<spacer name="spacer">
<property name="orientation">
<enum>Qt::Vertical</enum>

View File

@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/iou/ui/iou_device_configuration_page.ui'
# Form implementation generated from reading ui file '/home/grossmj/git/gns3-gui/gns3/modules/iou/ui/iou_device_configuration_page.ui'
#
# Created: Fri Mar 21 10:37:58 2014
# by: PyQt4 UI code generator 4.10
# Created: Wed May 7 15:37:55 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
@@ -26,45 +26,60 @@ except AttributeError:
class Ui_iouDeviceConfigPageWidget(object):
def setupUi(self, iouDeviceConfigPageWidget):
iouDeviceConfigPageWidget.setObjectName(_fromUtf8("iouDeviceConfigPageWidget"))
iouDeviceConfigPageWidget.resize(403, 461)
self.gridLayout = QtGui.QGridLayout(iouDeviceConfigPageWidget)
iouDeviceConfigPageWidget.resize(405, 468)
self.verticalLayout = QtGui.QVBoxLayout(iouDeviceConfigPageWidget)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.uiGeneralgroupBox = QtGui.QGroupBox(iouDeviceConfigPageWidget)
self.uiGeneralgroupBox.setStyleSheet(_fromUtf8(""))
self.uiGeneralgroupBox.setObjectName(_fromUtf8("uiGeneralgroupBox"))
self.gridLayout = QtGui.QGridLayout(self.uiGeneralgroupBox)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.uiNameLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.uiNameLabel = QtGui.QLabel(self.uiGeneralgroupBox)
self.uiNameLabel.setObjectName(_fromUtf8("uiNameLabel"))
self.gridLayout.addWidget(self.uiNameLabel, 0, 0, 1, 1)
self.uiNameLineEdit = QtGui.QLineEdit(iouDeviceConfigPageWidget)
self.uiNameLineEdit = QtGui.QLineEdit(self.uiGeneralgroupBox)
self.uiNameLineEdit.setObjectName(_fromUtf8("uiNameLineEdit"))
self.gridLayout.addWidget(self.uiNameLineEdit, 0, 1, 1, 1)
self.uiIOUImageLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.uiIOUImageLabel = QtGui.QLabel(self.uiGeneralgroupBox)
self.uiIOUImageLabel.setObjectName(_fromUtf8("uiIOUImageLabel"))
self.gridLayout.addWidget(self.uiIOUImageLabel, 1, 0, 1, 1)
self.uiIOUImageComboBox = QtGui.QComboBox(iouDeviceConfigPageWidget)
self.uiIOUImageComboBox = QtGui.QComboBox(self.uiGeneralgroupBox)
self.uiIOUImageComboBox.setObjectName(_fromUtf8("uiIOUImageComboBox"))
self.gridLayout.addWidget(self.uiIOUImageComboBox, 1, 1, 1, 1)
self.uiStartupConfigLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.uiStartupConfigLabel = QtGui.QLabel(self.uiGeneralgroupBox)
self.uiStartupConfigLabel.setObjectName(_fromUtf8("uiStartupConfigLabel"))
self.gridLayout.addWidget(self.uiStartupConfigLabel, 2, 0, 1, 1)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.uiStartupConfigLineEdit = QtGui.QLineEdit(iouDeviceConfigPageWidget)
self.uiStartupConfigLineEdit = QtGui.QLineEdit(self.uiGeneralgroupBox)
self.uiStartupConfigLineEdit.setObjectName(_fromUtf8("uiStartupConfigLineEdit"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigLineEdit)
self.uiStartupConfigToolButton = QtGui.QToolButton(iouDeviceConfigPageWidget)
self.uiStartupConfigToolButton = QtGui.QToolButton(self.uiGeneralgroupBox)
self.uiStartupConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiStartupConfigToolButton.setObjectName(_fromUtf8("uiStartupConfigToolButton"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigToolButton)
self.gridLayout.addLayout(self.horizontalLayout_4, 2, 1, 1, 1)
self.uiConsolePortLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.uiConsolePortLabel = QtGui.QLabel(self.uiGeneralgroupBox)
self.uiConsolePortLabel.setObjectName(_fromUtf8("uiConsolePortLabel"))
self.gridLayout.addWidget(self.uiConsolePortLabel, 3, 0, 1, 1)
self.uiConsolePortSpinBox = QtGui.QSpinBox(iouDeviceConfigPageWidget)
self.uiConsolePortSpinBox = QtGui.QSpinBox(self.uiGeneralgroupBox)
self.uiConsolePortSpinBox.setMaximum(65535)
self.uiConsolePortSpinBox.setObjectName(_fromUtf8("uiConsolePortSpinBox"))
self.gridLayout.addWidget(self.uiConsolePortSpinBox, 3, 1, 1, 1)
self.uiRamLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.verticalLayout.addWidget(self.uiGeneralgroupBox)
self.uiMemoriesGroupBox = QtGui.QGroupBox(iouDeviceConfigPageWidget)
self.uiMemoriesGroupBox.setObjectName(_fromUtf8("uiMemoriesGroupBox"))
self.gridLayout_2 = QtGui.QGridLayout(self.uiMemoriesGroupBox)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.uiDefaultValuesCheckBox = QtGui.QCheckBox(self.uiMemoriesGroupBox)
self.uiDefaultValuesCheckBox.setChecked(True)
self.uiDefaultValuesCheckBox.setObjectName(_fromUtf8("uiDefaultValuesCheckBox"))
self.gridLayout_2.addWidget(self.uiDefaultValuesCheckBox, 0, 0, 1, 2)
self.uiRamLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiRamLabel.setObjectName(_fromUtf8("uiRamLabel"))
self.gridLayout.addWidget(self.uiRamLabel, 4, 0, 1, 1)
self.uiRamSpinBox = QtGui.QSpinBox(iouDeviceConfigPageWidget)
self.gridLayout_2.addWidget(self.uiRamLabel, 1, 0, 1, 1)
self.uiRamSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
self.uiRamSpinBox.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -74,11 +89,12 @@ class Ui_iouDeviceConfigPageWidget(object):
self.uiRamSpinBox.setSingleStep(4)
self.uiRamSpinBox.setProperty("value", 128)
self.uiRamSpinBox.setObjectName(_fromUtf8("uiRamSpinBox"))
self.gridLayout.addWidget(self.uiRamSpinBox, 4, 1, 1, 1)
self.uiNvramLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.gridLayout_2.addWidget(self.uiRamSpinBox, 1, 1, 1, 1)
self.uiNvramLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiNvramLabel.setObjectName(_fromUtf8("uiNvramLabel"))
self.gridLayout.addWidget(self.uiNvramLabel, 5, 0, 1, 1)
self.uiNvramSpinBox = QtGui.QSpinBox(iouDeviceConfigPageWidget)
self.gridLayout_2.addWidget(self.uiNvramLabel, 2, 0, 1, 1)
self.uiNvramSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
self.uiNvramSpinBox.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -88,11 +104,16 @@ class Ui_iouDeviceConfigPageWidget(object):
self.uiNvramSpinBox.setSingleStep(4)
self.uiNvramSpinBox.setProperty("value", 128)
self.uiNvramSpinBox.setObjectName(_fromUtf8("uiNvramSpinBox"))
self.gridLayout.addWidget(self.uiNvramSpinBox, 5, 1, 1, 1)
self.uiEthernetAdaptersLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.gridLayout_2.addWidget(self.uiNvramSpinBox, 2, 1, 1, 1)
self.verticalLayout.addWidget(self.uiMemoriesGroupBox)
self.groupBox = QtGui.QGroupBox(iouDeviceConfigPageWidget)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.gridLayout_3 = QtGui.QGridLayout(self.groupBox)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.uiEthernetAdaptersLabel = QtGui.QLabel(self.groupBox)
self.uiEthernetAdaptersLabel.setObjectName(_fromUtf8("uiEthernetAdaptersLabel"))
self.gridLayout.addWidget(self.uiEthernetAdaptersLabel, 6, 0, 1, 1)
self.uiEthernetAdaptersSpinBox = QtGui.QSpinBox(iouDeviceConfigPageWidget)
self.gridLayout_3.addWidget(self.uiEthernetAdaptersLabel, 0, 0, 1, 1)
self.uiEthernetAdaptersSpinBox = QtGui.QSpinBox(self.groupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -101,11 +122,11 @@ class Ui_iouDeviceConfigPageWidget(object):
self.uiEthernetAdaptersSpinBox.setMaximum(16)
self.uiEthernetAdaptersSpinBox.setSingleStep(2)
self.uiEthernetAdaptersSpinBox.setObjectName(_fromUtf8("uiEthernetAdaptersSpinBox"))
self.gridLayout.addWidget(self.uiEthernetAdaptersSpinBox, 6, 1, 1, 1)
self.uiSerialAdaptersLabel = QtGui.QLabel(iouDeviceConfigPageWidget)
self.gridLayout_3.addWidget(self.uiEthernetAdaptersSpinBox, 0, 1, 1, 1)
self.uiSerialAdaptersLabel = QtGui.QLabel(self.groupBox)
self.uiSerialAdaptersLabel.setObjectName(_fromUtf8("uiSerialAdaptersLabel"))
self.gridLayout.addWidget(self.uiSerialAdaptersLabel, 7, 0, 1, 1)
self.uiSerialAdaptersSpinBox = QtGui.QSpinBox(iouDeviceConfigPageWidget)
self.gridLayout_3.addWidget(self.uiSerialAdaptersLabel, 1, 0, 1, 1)
self.uiSerialAdaptersSpinBox = QtGui.QSpinBox(self.groupBox)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -114,24 +135,29 @@ class Ui_iouDeviceConfigPageWidget(object):
self.uiSerialAdaptersSpinBox.setMaximum(16)
self.uiSerialAdaptersSpinBox.setSingleStep(2)
self.uiSerialAdaptersSpinBox.setObjectName(_fromUtf8("uiSerialAdaptersSpinBox"))
self.gridLayout.addWidget(self.uiSerialAdaptersSpinBox, 7, 1, 1, 1)
self.gridLayout_3.addWidget(self.uiSerialAdaptersSpinBox, 1, 1, 1, 1)
self.verticalLayout.addWidget(self.groupBox)
spacerItem = QtGui.QSpacerItem(263, 212, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 8, 1, 1, 1)
self.verticalLayout.addItem(spacerItem)
self.retranslateUi(iouDeviceConfigPageWidget)
QtCore.QMetaObject.connectSlotsByName(iouDeviceConfigPageWidget)
def retranslateUi(self, iouDeviceConfigPageWidget):
iouDeviceConfigPageWidget.setWindowTitle(_translate("iouDeviceConfigPageWidget", "IOU device configuration", None))
self.uiGeneralgroupBox.setTitle(_translate("iouDeviceConfigPageWidget", "General", None))
self.uiNameLabel.setText(_translate("iouDeviceConfigPageWidget", "Name:", None))
self.uiIOUImageLabel.setText(_translate("iouDeviceConfigPageWidget", "IOU image:", None))
self.uiStartupConfigLabel.setText(_translate("iouDeviceConfigPageWidget", "Startup-config:", None))
self.uiStartupConfigToolButton.setText(_translate("iouDeviceConfigPageWidget", "...", None))
self.uiConsolePortLabel.setText(_translate("iouDeviceConfigPageWidget", "Console port:", None))
self.uiMemoriesGroupBox.setTitle(_translate("iouDeviceConfigPageWidget", "Memories", None))
self.uiDefaultValuesCheckBox.setText(_translate("iouDeviceConfigPageWidget", "Use default IOU values", None))
self.uiRamLabel.setText(_translate("iouDeviceConfigPageWidget", "RAM size:", None))
self.uiRamSpinBox.setSuffix(_translate("iouDeviceConfigPageWidget", " MiB", None))
self.uiRamSpinBox.setSuffix(_translate("iouDeviceConfigPageWidget", " MB", None))
self.uiNvramLabel.setText(_translate("iouDeviceConfigPageWidget", "NVRAM size:", None))
self.uiNvramSpinBox.setSuffix(_translate("iouDeviceConfigPageWidget", " KiB", None))
self.uiNvramSpinBox.setSuffix(_translate("iouDeviceConfigPageWidget", " KB", None))
self.groupBox.setTitle(_translate("iouDeviceConfigPageWidget", "Adapters", None))
self.uiEthernetAdaptersLabel.setText(_translate("iouDeviceConfigPageWidget", "Ethernet adapters:", None))
self.uiSerialAdaptersLabel.setText(_translate("iouDeviceConfigPageWidget", "Serial adapters:", None))

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>404</width>
<height>487</height>
<width>411</width>
<height>544</height>
</rect>
</property>
<property name="windowTitle">
@@ -26,52 +26,25 @@
<attribute name="title">
<string>IOU images</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="uiIOUImageTestSettingsPushButton">
<property name="text">
<string>Test settings</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uiSaveIOUImagePushButton">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uiDeleteIOUImagePushButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Delete</string>
</property>
</widget>
</item>
</layout>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTreeWidget" name="uiIOUImagesTreeWidget">
<column>
<property name="text">
<string>File</string>
</property>
</column>
<column>
<property name="text">
<string>Server</string>
</property>
</column>
</widget>
</item>
<item row="2" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>76</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<item>
<widget class="QGroupBox" name="uiGeneralGroupBox">
<property name="title">
<string>Settings</string>
<string>General</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
@@ -122,38 +95,43 @@
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiNVRAMLabel">
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="uiMemoriesGroupBox">
<property name="title">
<string>Memories</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="uiDefaultValuesCheckBox">
<property name="text">
<string>NVRAM:</string>
<string>Use default IOU values</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiNVRAMSpinBox">
<property name="suffix">
<string> KB</string>
</property>
<property name="minimum">
<number>16</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
<item row="3" column="0">
<item row="1" column="0">
<widget class="QLabel" name="uiRAMLabel">
<property name="text">
<string>RAM:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="1" column="1">
<widget class="QSpinBox" name="uiRAMSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> MB</string>
</property>
@@ -168,22 +146,81 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="uiNVRAMLabel">
<property name="text">
<string>NVRAM:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="uiNVRAMSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string> KB</string>
</property>
<property name="minimum">
<number>16</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QTreeWidget" name="uiIOUImagesTreeWidget">
<column>
<property name="text">
<string>File</string>
</property>
</column>
<column>
<property name="text">
<string>Server</string>
</property>
</column>
</widget>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>76</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="uiIOUImageTestSettingsPushButton">
<property name="text">
<string>Test settings</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uiSaveIOUImagePushButton">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="uiDeleteIOUImagePushButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Delete</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>

View File

@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/home/grossmj/workspace/git/gns3-gui/gns3/modules/iou/ui/iou_device_preferences_page.ui'
# Form implementation generated from reading ui file '/home/grossmj/git/gns3-gui/gns3/modules/iou/ui/iou_device_preferences_page.ui'
#
# Created: Sat Apr 12 14:54:36 2014
# by: PyQt4 UI code generator 4.10
# Created: Wed May 7 13:53:20 2014
# by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!
@@ -26,7 +26,7 @@ except AttributeError:
class Ui_IOUDevicePreferencesPageWidget(object):
def setupUi(self, IOUDevicePreferencesPageWidget):
IOUDevicePreferencesPageWidget.setObjectName(_fromUtf8("IOUDevicePreferencesPageWidget"))
IOUDevicePreferencesPageWidget.resize(404, 487)
IOUDevicePreferencesPageWidget.resize(411, 544)
self.vboxlayout = QtGui.QVBoxLayout(IOUDevicePreferencesPageWidget)
self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
self.uiTabWidget = QtGui.QTabWidget(IOUDevicePreferencesPageWidget)
@@ -34,8 +34,83 @@ class Ui_IOUDevicePreferencesPageWidget(object):
self.uiTabWidget.setObjectName(_fromUtf8("uiTabWidget"))
self.uiIOUDeviceTabWidget = QtGui.QWidget()
self.uiIOUDeviceTabWidget.setObjectName(_fromUtf8("uiIOUDeviceTabWidget"))
self.gridLayout_3 = QtGui.QGridLayout(self.uiIOUDeviceTabWidget)
self.verticalLayout_2 = QtGui.QVBoxLayout(self.uiIOUDeviceTabWidget)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.uiIOUImagesTreeWidget = QtGui.QTreeWidget(self.uiIOUDeviceTabWidget)
self.uiIOUImagesTreeWidget.setObjectName(_fromUtf8("uiIOUImagesTreeWidget"))
self.verticalLayout_2.addWidget(self.uiIOUImagesTreeWidget)
self.uiGeneralGroupBox = QtGui.QGroupBox(self.uiIOUDeviceTabWidget)
self.uiGeneralGroupBox.setObjectName(_fromUtf8("uiGeneralGroupBox"))
self.gridLayout_2 = QtGui.QGridLayout(self.uiGeneralGroupBox)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.uiIOUPathLabel = QtGui.QLabel(self.uiGeneralGroupBox)
self.uiIOUPathLabel.setObjectName(_fromUtf8("uiIOUPathLabel"))
self.gridLayout_2.addWidget(self.uiIOUPathLabel, 0, 0, 1, 1)
self.horizontalLayout_3 = QtGui.QHBoxLayout()
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.uiIOUPathLineEdit = QtGui.QLineEdit(self.uiGeneralGroupBox)
self.uiIOUPathLineEdit.setObjectName(_fromUtf8("uiIOUPathLineEdit"))
self.horizontalLayout_3.addWidget(self.uiIOUPathLineEdit)
self.uiIOUPathToolButton = QtGui.QToolButton(self.uiGeneralGroupBox)
self.uiIOUPathToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiIOUPathToolButton.setObjectName(_fromUtf8("uiIOUPathToolButton"))
self.horizontalLayout_3.addWidget(self.uiIOUPathToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 1, 1, 1)
self.uiStartupConfigLabel = QtGui.QLabel(self.uiGeneralGroupBox)
self.uiStartupConfigLabel.setObjectName(_fromUtf8("uiStartupConfigLabel"))
self.gridLayout_2.addWidget(self.uiStartupConfigLabel, 1, 0, 1, 1)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.uiStartupConfigLineEdit = QtGui.QLineEdit(self.uiGeneralGroupBox)
self.uiStartupConfigLineEdit.setObjectName(_fromUtf8("uiStartupConfigLineEdit"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigLineEdit)
self.uiStartupConfigToolButton = QtGui.QToolButton(self.uiGeneralGroupBox)
self.uiStartupConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiStartupConfigToolButton.setObjectName(_fromUtf8("uiStartupConfigToolButton"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_4, 1, 1, 1, 1)
self.verticalLayout_2.addWidget(self.uiGeneralGroupBox)
self.uiMemoriesGroupBox = QtGui.QGroupBox(self.uiIOUDeviceTabWidget)
self.uiMemoriesGroupBox.setObjectName(_fromUtf8("uiMemoriesGroupBox"))
self.gridLayout_3 = QtGui.QGridLayout(self.uiMemoriesGroupBox)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.uiDefaultValuesCheckBox = QtGui.QCheckBox(self.uiMemoriesGroupBox)
self.uiDefaultValuesCheckBox.setChecked(True)
self.uiDefaultValuesCheckBox.setObjectName(_fromUtf8("uiDefaultValuesCheckBox"))
self.gridLayout_3.addWidget(self.uiDefaultValuesCheckBox, 0, 0, 1, 2)
self.uiRAMLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiRAMLabel.setObjectName(_fromUtf8("uiRAMLabel"))
self.gridLayout_3.addWidget(self.uiRAMLabel, 1, 0, 1, 1)
self.uiRAMSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
self.uiRAMSpinBox.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiRAMSpinBox.sizePolicy().hasHeightForWidth())
self.uiRAMSpinBox.setSizePolicy(sizePolicy)
self.uiRAMSpinBox.setMinimum(16)
self.uiRAMSpinBox.setMaximum(65535)
self.uiRAMSpinBox.setProperty("value", 256)
self.uiRAMSpinBox.setObjectName(_fromUtf8("uiRAMSpinBox"))
self.gridLayout_3.addWidget(self.uiRAMSpinBox, 1, 1, 1, 1)
self.uiNVRAMLabel = QtGui.QLabel(self.uiMemoriesGroupBox)
self.uiNVRAMLabel.setObjectName(_fromUtf8("uiNVRAMLabel"))
self.gridLayout_3.addWidget(self.uiNVRAMLabel, 2, 0, 1, 1)
self.uiNVRAMSpinBox = QtGui.QSpinBox(self.uiMemoriesGroupBox)
self.uiNVRAMSpinBox.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiNVRAMSpinBox.sizePolicy().hasHeightForWidth())
self.uiNVRAMSpinBox.setSizePolicy(sizePolicy)
self.uiNVRAMSpinBox.setMinimum(16)
self.uiNVRAMSpinBox.setMaximum(65535)
self.uiNVRAMSpinBox.setProperty("value", 128)
self.uiNVRAMSpinBox.setObjectName(_fromUtf8("uiNVRAMSpinBox"))
self.gridLayout_3.addWidget(self.uiNVRAMSpinBox, 2, 1, 1, 1)
self.verticalLayout_2.addWidget(self.uiMemoriesGroupBox)
spacerItem = QtGui.QSpacerItem(76, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.verticalLayout_2.addItem(spacerItem)
self.horizontalLayout_5 = QtGui.QHBoxLayout()
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
self.uiIOUImageTestSettingsPushButton = QtGui.QPushButton(self.uiIOUDeviceTabWidget)
@@ -48,61 +123,7 @@ class Ui_IOUDevicePreferencesPageWidget(object):
self.uiDeleteIOUImagePushButton.setEnabled(False)
self.uiDeleteIOUImagePushButton.setObjectName(_fromUtf8("uiDeleteIOUImagePushButton"))
self.horizontalLayout_5.addWidget(self.uiDeleteIOUImagePushButton)
self.gridLayout_3.addLayout(self.horizontalLayout_5, 2, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(76, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout_3.addItem(spacerItem, 2, 1, 1, 1)
self.groupBox = QtGui.QGroupBox(self.uiIOUDeviceTabWidget)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.gridLayout_2 = QtGui.QGridLayout(self.groupBox)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.uiIOUPathLabel = QtGui.QLabel(self.groupBox)
self.uiIOUPathLabel.setObjectName(_fromUtf8("uiIOUPathLabel"))
self.gridLayout_2.addWidget(self.uiIOUPathLabel, 0, 0, 1, 1)
self.horizontalLayout_3 = QtGui.QHBoxLayout()
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.uiIOUPathLineEdit = QtGui.QLineEdit(self.groupBox)
self.uiIOUPathLineEdit.setObjectName(_fromUtf8("uiIOUPathLineEdit"))
self.horizontalLayout_3.addWidget(self.uiIOUPathLineEdit)
self.uiIOUPathToolButton = QtGui.QToolButton(self.groupBox)
self.uiIOUPathToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiIOUPathToolButton.setObjectName(_fromUtf8("uiIOUPathToolButton"))
self.horizontalLayout_3.addWidget(self.uiIOUPathToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 1, 1, 1)
self.uiStartupConfigLabel = QtGui.QLabel(self.groupBox)
self.uiStartupConfigLabel.setObjectName(_fromUtf8("uiStartupConfigLabel"))
self.gridLayout_2.addWidget(self.uiStartupConfigLabel, 1, 0, 1, 1)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.uiStartupConfigLineEdit = QtGui.QLineEdit(self.groupBox)
self.uiStartupConfigLineEdit.setObjectName(_fromUtf8("uiStartupConfigLineEdit"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigLineEdit)
self.uiStartupConfigToolButton = QtGui.QToolButton(self.groupBox)
self.uiStartupConfigToolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.uiStartupConfigToolButton.setObjectName(_fromUtf8("uiStartupConfigToolButton"))
self.horizontalLayout_4.addWidget(self.uiStartupConfigToolButton)
self.gridLayout_2.addLayout(self.horizontalLayout_4, 1, 1, 1, 1)
self.uiNVRAMLabel = QtGui.QLabel(self.groupBox)
self.uiNVRAMLabel.setObjectName(_fromUtf8("uiNVRAMLabel"))
self.gridLayout_2.addWidget(self.uiNVRAMLabel, 2, 0, 1, 1)
self.uiNVRAMSpinBox = QtGui.QSpinBox(self.groupBox)
self.uiNVRAMSpinBox.setMinimum(16)
self.uiNVRAMSpinBox.setMaximum(65535)
self.uiNVRAMSpinBox.setProperty("value", 128)
self.uiNVRAMSpinBox.setObjectName(_fromUtf8("uiNVRAMSpinBox"))
self.gridLayout_2.addWidget(self.uiNVRAMSpinBox, 2, 1, 1, 1)
self.uiRAMLabel = QtGui.QLabel(self.groupBox)
self.uiRAMLabel.setObjectName(_fromUtf8("uiRAMLabel"))
self.gridLayout_2.addWidget(self.uiRAMLabel, 3, 0, 1, 1)
self.uiRAMSpinBox = QtGui.QSpinBox(self.groupBox)
self.uiRAMSpinBox.setMinimum(16)
self.uiRAMSpinBox.setMaximum(65535)
self.uiRAMSpinBox.setProperty("value", 256)
self.uiRAMSpinBox.setObjectName(_fromUtf8("uiRAMSpinBox"))
self.gridLayout_2.addWidget(self.uiRAMSpinBox, 3, 1, 1, 1)
self.gridLayout_3.addWidget(self.groupBox, 1, 0, 1, 2)
self.uiIOUImagesTreeWidget = QtGui.QTreeWidget(self.uiIOUDeviceTabWidget)
self.uiIOUImagesTreeWidget.setObjectName(_fromUtf8("uiIOUImagesTreeWidget"))
self.gridLayout_3.addWidget(self.uiIOUImagesTreeWidget, 0, 0, 1, 2)
self.verticalLayout_2.addLayout(self.horizontalLayout_5)
self.uiTabWidget.addTab(self.uiIOUDeviceTabWidget, _fromUtf8(""))
self.uiIOSRoutersTabWidget = QtGui.QWidget()
self.uiIOSRoutersTabWidget.setEnabled(False)
@@ -135,20 +156,22 @@ class Ui_IOUDevicePreferencesPageWidget(object):
def retranslateUi(self, IOUDevicePreferencesPageWidget):
IOUDevicePreferencesPageWidget.setWindowTitle(_translate("IOUDevicePreferencesPageWidget", "IOU devices", None))
self.uiIOUImageTestSettingsPushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Test settings", None))
self.uiSaveIOUImagePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Save", None))
self.uiDeleteIOUImagePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Delete", None))
self.groupBox.setTitle(_translate("IOUDevicePreferencesPageWidget", "Settings", None))
self.uiIOUImagesTreeWidget.headerItem().setText(0, _translate("IOUDevicePreferencesPageWidget", "File", None))
self.uiIOUImagesTreeWidget.headerItem().setText(1, _translate("IOUDevicePreferencesPageWidget", "Server", None))
self.uiGeneralGroupBox.setTitle(_translate("IOUDevicePreferencesPageWidget", "General", None))
self.uiIOUPathLabel.setText(_translate("IOUDevicePreferencesPageWidget", "IOU path:", None))
self.uiIOUPathToolButton.setText(_translate("IOUDevicePreferencesPageWidget", "...", None))
self.uiStartupConfigLabel.setText(_translate("IOUDevicePreferencesPageWidget", "Startup-config:", None))
self.uiStartupConfigToolButton.setText(_translate("IOUDevicePreferencesPageWidget", "...", None))
self.uiNVRAMLabel.setText(_translate("IOUDevicePreferencesPageWidget", "NVRAM:", None))
self.uiNVRAMSpinBox.setSuffix(_translate("IOUDevicePreferencesPageWidget", " KB", None))
self.uiMemoriesGroupBox.setTitle(_translate("IOUDevicePreferencesPageWidget", "Memories", None))
self.uiDefaultValuesCheckBox.setText(_translate("IOUDevicePreferencesPageWidget", "Use default IOU values", None))
self.uiRAMLabel.setText(_translate("IOUDevicePreferencesPageWidget", "RAM:", None))
self.uiRAMSpinBox.setSuffix(_translate("IOUDevicePreferencesPageWidget", " MB", None))
self.uiIOUImagesTreeWidget.headerItem().setText(0, _translate("IOUDevicePreferencesPageWidget", "File", None))
self.uiIOUImagesTreeWidget.headerItem().setText(1, _translate("IOUDevicePreferencesPageWidget", "Server", None))
self.uiNVRAMLabel.setText(_translate("IOUDevicePreferencesPageWidget", "NVRAM:", None))
self.uiNVRAMSpinBox.setSuffix(_translate("IOUDevicePreferencesPageWidget", " KB", None))
self.uiIOUImageTestSettingsPushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Test settings", None))
self.uiSaveIOUImagePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Save", None))
self.uiDeleteIOUImagePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Delete", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiIOUDeviceTabWidget), _translate("IOUDevicePreferencesPageWidget", "IOU images", None))
self.treeWidget_2.headerItem().setText(0, _translate("IOUDevicePreferencesPageWidget", "IOU device", None))
self.treeWidget_2.headerItem().setText(1, _translate("IOUDevicePreferencesPageWidget", "IOU file", None))

View File

@@ -51,6 +51,10 @@ def recursive(function, path):
if __name__ == '__main__':
if not PYUIC4 or not PYRCC4:
raise RuntimeError("pyuic4 or pyrcc4 could't be found, please install PyQt4 development tools")
cwd = os.path.dirname(os.path.abspath(__file__))
gns3_path = os.path.abspath(os.path.join(cwd, "../gns3/"))
ui_path = os.path.abspath(os.path.join(cwd, "../gns3/ui"))