diff --git a/gns3/console_view.py b/gns3/console_view.py index 23aaa1af..417e5580 100644 --- a/gns3/console_view.py +++ b/gns3/console_view.py @@ -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. diff --git a/gns3/main.py b/gns3/main.py index b112d141..77406d33 100644 --- a/gns3/main.py +++ b/gns3/main.py @@ -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 diff --git a/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py b/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py index 63faa091..df0f977b 100644 --- a/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py +++ b/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py @@ -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)) diff --git a/gns3/modules/iou/__init__.py b/gns3/modules/iou/__init__.py index 0e1181a3..c1887936 100644 --- a/gns3/modules/iou/__init__.py +++ b/gns3/modules/iou/__init__.py @@ -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): diff --git a/gns3/modules/iou/iou_device.py b/gns3/modules/iou/iou_device.py index 2780b5dc..4cac08d1 100644 --- a/gns3/modules/iou/iou_device.py +++ b/gns3/modules/iou/iou_device.py @@ -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, diff --git a/gns3/modules/iou/pages/iou_device_configuration_page.py b/gns3/modules/iou/pages/iou_device_configuration_page.py index bc5a09b7..1aba4d24 100644 --- a/gns3/modules/iou/pages/iou_device_configuration_page.py +++ b/gns3/modules/iou/pages/iou_device_configuration_page.py @@ -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() diff --git a/gns3/modules/iou/pages/iou_device_preferences_page.py b/gns3/modules/iou/pages/iou_device_preferences_page.py index ba9049c7..b7825e37 100644 --- a/gns3/modules/iou/pages/iou_device_preferences_page.py +++ b/gns3/modules/iou/pages/iou_device_preferences_page.py @@ -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} diff --git a/gns3/modules/iou/ui/iou_device_configuration_page.ui b/gns3/modules/iou/ui/iou_device_configuration_page.ui index 5e10f537..4b2b7513 100755 --- a/gns3/modules/iou/ui/iou_device_configuration_page.ui +++ b/gns3/modules/iou/ui/iou_device_configuration_page.ui @@ -6,177 +6,223 @@ 0 0 - 403 - 461 + 405 + 468 IOU device configuration - - - - - Name: + + + + + + + General + + + + + + Name: + + + + + + + + + + IOU image: + + + + + + + + + + Startup-config: + + + + + + + + + + + + ... + + + Qt::ToolButtonTextOnly + + + + + + + + + Console port: + + + + + + + 65535 + + + + - - - - - - - IOU image: + + + + Memories + + + + + Use default IOU values + + + true + + + + + + + RAM size: + + + + + + + false + + + + 0 + 0 + + + + MB + + + 4096 + + + 4 + + + 128 + + + + + + + NVRAM size: + + + + + + + false + + + + 0 + 0 + + + + KB + + + 4096 + + + 4 + + + 128 + + + + - - - - - - - Startup-config: + + + + Adapters + + + + + Ethernet adapters: + + + + + + + + 0 + 0 + + + + 16 + + + 2 + + + + + + + Serial adapters: + + + + + + + + 0 + 0 + + + + 16 + + + 2 + + + + - - - - - - - - - ... - - - Qt::ToolButtonTextOnly - - - - - - - - - Console port: - - - - - - - 65535 - - - - - - - RAM size: - - - - - - - - 0 - 0 - - - - MiB - - - 4096 - - - 4 - - - 128 - - - - - - - NVRAM size: - - - - - - - - 0 - 0 - - - - KiB - - - 4096 - - - 4 - - - 128 - - - - - - - Ethernet adapters: - - - - - - - - 0 - 0 - - - - 16 - - - 2 - - - - - - - Serial adapters: - - - - - - - - 0 - 0 - - - - 16 - - - 2 - - - - + Qt::Vertical diff --git a/gns3/modules/iou/ui/iou_device_configuration_page_ui.py b/gns3/modules/iou/ui/iou_device_configuration_page_ui.py index 62ced25e..e36afc1e 100644 --- a/gns3/modules/iou/ui/iou_device_configuration_page_ui.py +++ b/gns3/modules/iou/ui/iou_device_configuration_page_ui.py @@ -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)) diff --git a/gns3/modules/iou/ui/iou_device_preferences_page.ui b/gns3/modules/iou/ui/iou_device_preferences_page.ui index 3752487d..b34ee01d 100755 --- a/gns3/modules/iou/ui/iou_device_preferences_page.ui +++ b/gns3/modules/iou/ui/iou_device_preferences_page.ui @@ -6,8 +6,8 @@ 0 0 - 404 - 487 + 411 + 544 @@ -26,52 +26,25 @@ IOU images - - - - - - - Test settings - - - - - - - Save - - - - - - - false - - - Delete - - - - + + + + + + File + + + + + Server + + + - - - - Qt::Horizontal - - - - 76 - 20 - - - - - - + + - Settings + General @@ -122,38 +95,43 @@ - - + + + + + + + Memories + + + + - NVRAM: + Use default IOU values + + + true - - - - KB - - - 16 - - - 65535 - - - 128 - - - - + RAM: - + + + false + + + + 0 + 0 + + MB @@ -168,22 +146,81 @@ + + + + NVRAM: + + + + + + + false + + + + 0 + 0 + + + + KB + + + 16 + + + 65535 + + + 128 + + + - - - - - File - - - - - Server - - - + + + + Qt::Horizontal + + + + 76 + 20 + + + + + + + + + + Test settings + + + + + + + Save + + + + + + + false + + + Delete + + + + diff --git a/gns3/modules/iou/ui/iou_device_preferences_page_ui.py b/gns3/modules/iou/ui/iou_device_preferences_page_ui.py index 3a36ee2a..4ba66e6e 100644 --- a/gns3/modules/iou/ui/iou_device_preferences_page_ui.py +++ b/gns3/modules/iou/ui/iou_device_preferences_page_ui.py @@ -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)) diff --git a/scripts/build_pyqt.py b/scripts/build_pyqt.py index 988eb6e2..7cd210ed 100755 --- a/scripts/build_pyqt.py +++ b/scripts/build_pyqt.py @@ -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"))