Support for differing grid sizes for appliances and drawings. Requires corresponding commit on gns3-server.

This commit is contained in:
Karim Kanso
2018-11-22 09:35:18 +00:00
parent ba59d69536
commit 189852862e
13 changed files with 211 additions and 86 deletions

View File

@@ -36,7 +36,8 @@ class EditProjectDialog(QtWidgets.QDialog, Ui_EditProjectDialog):
self.uiProjectAutoStartCheckBox.setChecked(self._project.autoStart())
self.uiSceneWidthSpinBox.setValue(self._project.sceneWidth())
self.uiSceneHeightSpinBox.setValue(self._project.sceneHeight())
self.uiGridSizeSpinBox.setValue(self._project.gridSize())
self.uiApplianceGridSizeSpinBox.setValue(self._project.applianceGridSize())
self.uiDrawingGridSizeSpinBox.setValue(self._project.drawingGridSize())
self.uiGlobalVariablesGrid.setAlignment(QtCore.Qt.AlignTop)
@@ -113,7 +114,8 @@ class EditProjectDialog(QtWidgets.QDialog, Ui_EditProjectDialog):
self._project.setAutoStart(self.uiProjectAutoStartCheckBox.isChecked())
self._project.setSceneHeight(self.uiSceneHeightSpinBox.value())
self._project.setSceneWidth(self.uiSceneWidthSpinBox.value())
self._project.setGridSize(self.uiGridSizeSpinBox.value())
self._project.setApplianceGridSize(self.uiApplianceGridSizeSpinBox.value())
self._project.setDrawingGridSize(self.uiDrawingGridSizeSpinBox.value())
self._project.setVariables(self._cleanVariables())
self._project.update()
super().done(result)

View File

@@ -89,6 +89,7 @@ class GraphicsView(QtWidgets.QGraphicsView):
self._newlink = None
self._dragging = False
self._grid_size = 75
self._drawing_grid_size = 25
self._last_mouse_position = None
self._topology = Topology.instance()
self._background_warning_msgbox = QtWidgets.QErrorMessage(self)
@@ -125,24 +126,32 @@ class GraphicsView(QtWidgets.QGraphicsView):
factor = zoom / 100.
self.scale(factor, factor)
def setGridSize(self, grid_size):
def setApplianceGridSize(self, grid_size):
"""
Sets the grid size.
:param grid_size: integer
Sets the grid size for appliances
"""
self._grid_size = grid_size
def gridSize(self):
def applianceGridSize(self):
"""
Returns the grid size
:returns: integer
Returns the grid size for appliances
:return: integer
"""
return self._grid_size
def setDrawingGridSize(self, grid_size):
"""
Sets the grid size for drawings
"""
self._drawing_grid_size = grid_size
def drawingGridSize(self):
"""
Returns the grid size for drawings
:return: integer
"""
return self._drawing_grid_size
def setEnabled(self, enabled):
if enabled is False:
@@ -1618,21 +1627,23 @@ class GraphicsView(QtWidgets.QGraphicsView):
def drawBackground(self, painter, rect):
super().drawBackground(painter, rect)
if self._main_window.uiShowGridAction.isChecked():
grid_size = self.gridSize()
grids = [(self.drawingGridSize(),QtGui.QColor(208, 208, 208)),
(self.applianceGridSize(),QtGui.QColor(190, 190, 190))]
painter.save()
painter.setPen(QtGui.QPen(QtGui.QColor(190, 190, 190)))
for (grid,colour) in grids:
painter.setPen(QtGui.QPen(colour))
left = int(rect.left()) - (int(rect.left()) % grid_size)
top = int(rect.top()) - (int(rect.top()) % grid_size)
left = int(rect.left()) - (int(rect.left()) % grid)
top = int(rect.top()) - (int(rect.top()) % grid)
x = left
while x < rect.right():
painter.drawLine(x, rect.top(), x, rect.bottom())
x += grid_size
y = top
while y < rect.bottom():
painter.drawLine(rect.left(), y, rect.right(), y)
y += grid_size
x = left
while x < rect.right():
painter.drawLine(x, rect.top(), x, rect.bottom())
x += grid
y = top
while y < rect.bottom():
painter.drawLine(rect.left(), y, rect.right(), y)
y += grid
painter.restore()
def toggleUiDeviceMenu(self):

View File

@@ -202,7 +202,7 @@ class DrawingItem:
def itemChange(self, change, value):
if change == QtWidgets.QGraphicsItem.ItemPositionHasChanged and self.isActive() and self._main_window.uiSnapToGridAction.isChecked():
grid_size = self._graphics_view.gridSize()
grid_size = self._graphics_view.drawingGridSize()
mid_x = self.boundingRect().width() / 2
tmp_x = (grid_size * round((self.x() + mid_x) / grid_size)) - mid_x
mid_y = self.boundingRect().height() / 2

View File

@@ -110,7 +110,7 @@ class NodeItem(QtSvg.QGraphicsSvgItem):
def _snapToGrid(self):
grid_size = self._main_window.uiGraphicsView.gridSize()
grid_size = self._main_window.uiGraphicsView.applianceGridSize()
mid_x = self.boundingRect().width() / 2
x = (grid_size * round((self.x() + mid_x) / grid_size)) - mid_x
mid_y = self.boundingRect().height() / 2
@@ -468,7 +468,7 @@ class NodeItem(QtSvg.QGraphicsSvgItem):
"""
if change == QtWidgets.QGraphicsItem.ItemPositionChange and self.isActive() and self._main_window.uiSnapToGridAction.isChecked():
grid_size = self._main_window.uiGraphicsView.gridSize()
grid_size = self._main_window.uiGraphicsView.applianceGridSize()
mid_x = self.boundingRect().width() / 2
value.setX((grid_size * round((value.x() + mid_x) / grid_size)) - mid_x)
mid_y = self.boundingRect().height() / 2

View File

@@ -337,7 +337,8 @@ class GeneralPreferencesPage(QtWidgets.QWidget, Ui_GeneralPreferencesPageWidget)
self.uiSceneWidthSpinBox.setValue(settings["scene_width"])
self.uiSceneHeightSpinBox.setValue(settings["scene_height"])
self.uiGridSizeSpinBox.setValue(settings["grid_size"])
self.uiApplianceGridSizeSpinBox.setValue(settings["grid_size"])
self.uiDrawingGridSizeSpinBox.setValue(settings["drawing_grid_size"])
self.uiRectangleSelectedItemCheckBox.setChecked(settings["draw_rectangle_selected_item"])
self.uiDrawLinkStatusPointsCheckBox.setChecked(settings["draw_link_status_points"])
self.uiShowInterfaceLabelsOnNewProject.setChecked(settings["show_interface_labels_on_new_project"])
@@ -411,7 +412,8 @@ class GeneralPreferencesPage(QtWidgets.QWidget, Ui_GeneralPreferencesPageWidget)
new_graphics_view_settings = {"scene_width": self.uiSceneWidthSpinBox.value(),
"scene_height": self.uiSceneHeightSpinBox.value(),
"grid_size": self.uiGridSizeSpinBox.value(),
"grid_size": self.uiApplianceGridSizeSpinBox.value(),
"drawing_grid_size": self.uiDrawingGridSizeSpinBox.value(),
"draw_rectangle_selected_item": self.uiRectangleSelectedItemCheckBox.isChecked(),
"draw_link_status_points": self.uiDrawLinkStatusPointsCheckBox.isChecked(),
"show_interface_labels_on_new_project": self.uiShowInterfaceLabelsOnNewProject.isChecked(),

View File

@@ -71,6 +71,7 @@ class Project(QtCore.QObject):
self._snap_to_grid = graphic_settings.get("snap_to_grid", False)
self._show_grid = graphic_settings.get("show_grid", False)
self._grid_size = graphic_settings.get("grid_size", 75)
self._drawing_grid_size = graphic_settings.get("drawing_grid_size", 25)
self._show_interface_labels = graphic_settings.get("show_interface_labels", False)
self._show_interface_labels_on_new_project = config.showInterfaceLabelsOnNewProject()
self._show_grid_on_new_project = config.showGridOnNewProject()
@@ -185,21 +186,32 @@ class Project(QtCore.QObject):
"""
return self._show_grid
def setGridSize(self, grid_size):
def setApplianceGridSize(self, grid_size):
"""
Sets the grid size
Sets the grid size for appliances
"""
self._grid_size = grid_size
def gridSize(self):
def applianceGridSize(self):
"""
Returns the grid size
Returns the grid size for appliances
:return: integer
"""
return self._grid_size
def setDrawingGridSize(self, grid_size):
"""
Sets the grid size for drawings
"""
self._drawing_grid_size = grid_size
def drawingGridSize(self):
"""
Returns the grid size for drawings
:return: integer
"""
return self._drawing_grid_size
def setShowInterfaceLabels(self, show_interface_labels):
"""
Sets show interface labels mode
@@ -428,6 +440,8 @@ class Project(QtCore.QObject):
body = {
"name": self._name,
"path": self.filesDir(),
"grid_size": self._grid_size,
"drawing_grid_size": self._drawing_grid_size,
"show_grid": self._show_grid_on_new_project,
"snap_to_grid": self._snap_to_grid_on_new_project,
"show_interface_labels": self._show_interface_labels_on_new_project
@@ -450,6 +464,7 @@ class Project(QtCore.QObject):
"snap_to_grid": self._snap_to_grid,
"show_grid": self._show_grid,
"grid_size": self._grid_size,
"drawing_grid_size": self._drawing_grid_size,
"show_interface_labels": self._show_interface_labels,
"variables": self._variables,
"supplier": self._supplier
@@ -499,6 +514,9 @@ class Project(QtCore.QObject):
grid_size = result.get("grid_size", None)
if grid_size:
self._grid_size = grid_size
drawing_grid_size = result.get("drawing_grid_size", None)
if drawing_grid_size:
self._drawing_grid_size = drawing_grid_size
self._show_interface_labels = result.get("show_interface_labels", False)
def load(self, path=None):

View File

@@ -299,6 +299,7 @@ GRAPHICS_VIEW_SETTINGS = {
"scene_width": 2000,
"scene_height": 1000,
"grid_size": 75,
"drawing_grid_size": 25,
"draw_rectangle_selected_item": False,
"draw_link_status_points": True,
"default_label_font": "TypeWriter,10,-1,5,75,0,0,0,0,0",

View File

@@ -142,7 +142,8 @@ class Topology(QtCore.QObject):
self._main_window.setWindowTitle("{name} - GNS3".format(name=self._project.name()))
project_file = os.path.join(self._project.filesDir(), self._project.filename())
self._main_window.uiGraphicsView.setSceneSize(self._project.sceneWidth(), self._project.sceneHeight())
self._main_window.uiGraphicsView.setGridSize(self._project.gridSize())
self._main_window.uiGraphicsView.setApplianceGridSize(self._project.applianceGridSize())
self._main_window.uiGraphicsView.setDrawingGridSize(self._project.drawingGridSize())
self._main_window.uiShowGridAction.setChecked(self._project.showGrid())
self._main_window.showGrid(self._project.showGrid())
if os.path.exists(project_file):
@@ -158,7 +159,8 @@ class Topology(QtCore.QObject):
self._main_window.uiShowLayersAction.setChecked(self._project.showLayers())
self._main_window.showLayers(self._project.showLayers())
self._main_window.uiGraphicsView.setGridSize(self._project.gridSize())
self._main_window.uiGraphicsView.setApplianceGridSize(self._project.applianceGridSize())
self._main_window.uiGraphicsView.setDrawingGridSize(self._project.drawingGridSize())
self._main_window.uiShowGridAction.setChecked(self._project.showGrid())
self._main_window.showGrid(self._project.showGrid())

View File

@@ -65,7 +65,36 @@
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="uiGridSizeSpinBox"/>
<widget class="QSpinBox" name="uiApplianceGridSizeSpinBox">
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>150</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>75</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="uiDrawingGridSizeSpinBox">
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>25</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="uiSceneHeightSpinBox">
@@ -91,9 +120,16 @@
<widget class="QLineEdit" name="uiProjectNameLineEdit"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="uiGridSizeLabel">
<widget class="QLabel" name="uiApplianceGridSizeLabel">
<property name="text">
<string>Grid size:</string>
<string>Appliance grid size:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="uiDrawingGridSizeLabel">
<property name="text">
<string>Drawing grid size:</string>
</property>
</widget>
</item>

View File

@@ -36,9 +36,20 @@ class Ui_EditProjectDialog(object):
self.uiSceneWidthSpinBox.setMaximum(1000000)
self.uiSceneWidthSpinBox.setObjectName("uiSceneWidthSpinBox")
self.uiGeneralGrid.addWidget(self.uiSceneWidthSpinBox, 2, 1, 1, 1)
self.uiGridSizeSpinBox = QtWidgets.QSpinBox(self.uiGeneralTab)
self.uiGridSizeSpinBox.setObjectName("uiGridSizeSpinBox")
self.uiGeneralGrid.addWidget(self.uiGridSizeSpinBox, 4, 1, 1, 1)
self.uiApplianceGridSizeSpinBox = QtWidgets.QSpinBox(self.uiGeneralTab)
self.uiApplianceGridSizeSpinBox.setMinimum(10)
self.uiApplianceGridSizeSpinBox.setMaximum(150)
self.uiApplianceGridSizeSpinBox.setSingleStep(10)
self.uiApplianceGridSizeSpinBox.setProperty("value", 75)
self.uiApplianceGridSizeSpinBox.setObjectName("uiApplianceGridSizeSpinBox")
self.uiGeneralGrid.addWidget(self.uiApplianceGridSizeSpinBox, 4, 1, 1, 1)
self.uiDrawingGridSizeSpinBox = QtWidgets.QSpinBox(self.uiGeneralTab)
self.uiDrawingGridSizeSpinBox.setMinimum(10)
self.uiDrawingGridSizeSpinBox.setMaximum(100)
self.uiDrawingGridSizeSpinBox.setSingleStep(10)
self.uiDrawingGridSizeSpinBox.setProperty("value", 25)
self.uiDrawingGridSizeSpinBox.setObjectName("uiDrawingGridSizeSpinBox")
self.uiGeneralGrid.addWidget(self.uiDrawingGridSizeSpinBox, 5, 1, 1, 1)
self.uiSceneHeightSpinBox = QtWidgets.QSpinBox(self.uiGeneralTab)
self.uiSceneHeightSpinBox.setMinimum(500)
self.uiSceneHeightSpinBox.setMaximum(1000000)
@@ -50,9 +61,12 @@ class Ui_EditProjectDialog(object):
self.uiProjectNameLineEdit = QtWidgets.QLineEdit(self.uiGeneralTab)
self.uiProjectNameLineEdit.setObjectName("uiProjectNameLineEdit")
self.uiGeneralGrid.addWidget(self.uiProjectNameLineEdit, 1, 1, 1, 1)
self.uiGridSizeLabel = QtWidgets.QLabel(self.uiGeneralTab)
self.uiGridSizeLabel.setObjectName("uiGridSizeLabel")
self.uiGeneralGrid.addWidget(self.uiGridSizeLabel, 4, 0, 1, 1)
self.uiApplianceGridSizeLabel = QtWidgets.QLabel(self.uiGeneralTab)
self.uiApplianceGridSizeLabel.setObjectName("uiApplianceGridSizeLabel")
self.uiGeneralGrid.addWidget(self.uiApplianceGridSizeLabel, 4, 0, 1, 1)
self.uiDrawingGridSizeLabel = QtWidgets.QLabel(self.uiGeneralTab)
self.uiDrawingGridSizeLabel.setObjectName("uiDrawingGridSizeLabel")
self.uiGeneralGrid.addWidget(self.uiDrawingGridSizeLabel, 5, 0, 1, 1)
self.uiProjectAutoOpenCheckBox = QtWidgets.QCheckBox(self.uiGeneralTab)
self.uiProjectAutoOpenCheckBox.setObjectName("uiProjectAutoOpenCheckBox")
self.uiGeneralGrid.addWidget(self.uiProjectAutoOpenCheckBox, 7, 0, 1, 3)
@@ -88,7 +102,8 @@ class Ui_EditProjectDialog(object):
self.uiSceneWidthSpinBox.setSuffix(_translate("EditProjectDialog", " px"))
self.uiSceneHeightSpinBox.setSuffix(_translate("EditProjectDialog", " px"))
self.uiSceneHeightLabel.setText(_translate("EditProjectDialog", "Scene height:"))
self.uiGridSizeLabel.setText(_translate("EditProjectDialog", "Grid size:"))
self.uiApplianceGridSizeLabel.setText(_translate("EditProjectDialog", "Appliance grid size:"))
self.uiDrawingGridSizeLabel.setText(_translate("EditProjectDialog", "Drawing grid size:"))
self.uiProjectAutoOpenCheckBox.setText(_translate("EditProjectDialog", "Open this project in the background when GNS3 server starts"))
self.uiProjectAutoStartCheckBox.setText(_translate("EditProjectDialog", "Start all nodes when this project is opened"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.uiGeneralTab), _translate("EditProjectDialog", "General"))

View File

@@ -697,14 +697,37 @@
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="uiGridSizeLabel">
<widget class="QLabel" name="uiApplianceGridSizeLabel">
<property name="text">
<string>Grid size:</string>
<string>Default appliance grid size:</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QSpinBox" name="uiGridSizeSpinBox">
<widget class="QSpinBox" name="uiApplianceGridSizeSpinBox">
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>150</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>75</number>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="uiDrawingGridSizeLabel">
<property name="text">
<string>Default drawing (e.g. labels and rectangles) grid size:</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QSpinBox" name="uiDrawingGridSizeSpinBox">
<property name="minimum">
<number>10</number>
</property>
@@ -715,11 +738,11 @@
<number>10</number>
</property>
<property name="value">
<number>75</number>
<number>25</number>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<item row="8" column="0" colspan="2">
<widget class="QCheckBox" name="uiRectangleSelectedItemCheckBox">
<property name="text">
<string>Draw a rectangle when an item is selected</string>
@@ -729,7 +752,7 @@
</property>
</widget>
</item>
<item row="7" column="0" colspan="2">
<item row="9" column="0" colspan="2">
<widget class="QCheckBox" name="uiDrawLinkStatusPointsCheckBox">
<property name="text">
<string>Draw link status points</string>
@@ -739,35 +762,35 @@
</property>
</widget>
</item>
<item row="8" column="0" colspan="2">
<item row="10" column="0" colspan="2">
<widget class="QCheckBox" name="uiShowInterfaceLabelsOnNewProject">
<property name="text">
<string>Show interface labels on new project</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<item row="11" column="0" colspan="2">
<widget class="QCheckBox" name="uiShowGridOnNewProject">
<property name="text">
<string>Show grid on new project</string>
</property>
</widget>
</item>
<item row="10" column="0" colspan="2">
<item row="12" column="0" colspan="2">
<widget class="QCheckBox" name="uiSnapToGridOnNewProject">
<property name="text">
<string>Snap to grid on new project</string>
</property>
</widget>
</item>
<item row="11" column="0" colspan="2">
<item row="13" column="0" colspan="2">
<widget class="QLabel" name="uiLabelPreviewLabel">
<property name="text">
<string>Default label style:</string>
</property>
</widget>
</item>
<item row="12" column="0" colspan="2">
<item row="14" column="0" colspan="2">
<widget class="QPlainTextEdit" name="uiDefaultLabelStylePlainTextEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
@@ -789,7 +812,7 @@
</property>
</widget>
</item>
<item row="13" column="0" colspan="2">
<item row="15" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="uiDefaultLabelFontPushButton">
@@ -820,14 +843,14 @@
</item>
</layout>
</item>
<item row="14" column="0" colspan="2">
<item row="16" column="0" colspan="2">
<widget class="QLabel" name="uiNotePreviewLabel">
<property name="text">
<string>Default note style:</string>
</property>
</widget>
</item>
<item row="15" column="0" colspan="2">
<item row="17" column="0" colspan="2">
<widget class="QPlainTextEdit" name="uiDefaultNoteStylePlainTextEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
@@ -849,7 +872,7 @@
</property>
</widget>
</item>
<item row="16" column="0" colspan="2">
<item row="18" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_14">
<item>
<widget class="QPushButton" name="uiDefaultNoteFontPushButton">
@@ -880,7 +903,7 @@
</item>
</layout>
</item>
<item row="17" column="1">
<item row="19" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>

View File

@@ -326,36 +326,46 @@ class Ui_GeneralPreferencesPageWidget(object):
self.uiSceneHeightSpinBox.setProperty("value", 1000)
self.uiSceneHeightSpinBox.setObjectName("uiSceneHeightSpinBox")
self.gridLayout_3.addWidget(self.uiSceneHeightSpinBox, 3, 0, 1, 1)
self.uiGridSizeLabel = QtWidgets.QLabel(self.uiSceneTab)
self.uiGridSizeLabel.setObjectName("uiGridSizeLabel")
self.gridLayout_3.addWidget(self.uiGridSizeLabel, 4, 0, 1, 1)
self.uiGridSizeSpinBox = QtWidgets.QSpinBox(self.uiSceneTab)
self.uiGridSizeSpinBox.setMinimum(10)
self.uiGridSizeSpinBox.setMaximum(100)
self.uiGridSizeSpinBox.setSingleStep(10)
self.uiGridSizeSpinBox.setProperty("value", 75)
self.uiGridSizeSpinBox.setObjectName("uiGridSizeSpinBox")
self.gridLayout_3.addWidget(self.uiGridSizeSpinBox, 5, 0, 1, 1)
self.uiApplianceGridSizeLabel = QtWidgets.QLabel(self.uiSceneTab)
self.uiApplianceGridSizeLabel.setObjectName("uiApplianceGridSizeLabel")
self.gridLayout_3.addWidget(self.uiApplianceGridSizeLabel, 4, 0, 1, 1)
self.uiApplianceGridSizeSpinBox = QtWidgets.QSpinBox(self.uiSceneTab)
self.uiApplianceGridSizeSpinBox.setMinimum(10)
self.uiApplianceGridSizeSpinBox.setMaximum(150)
self.uiApplianceGridSizeSpinBox.setSingleStep(10)
self.uiApplianceGridSizeSpinBox.setProperty("value", 75)
self.uiApplianceGridSizeSpinBox.setObjectName("uiApplianceGridSizeSpinBox")
self.gridLayout_3.addWidget(self.uiApplianceGridSizeSpinBox, 5, 0, 1, 1)
self.uiDrawingGridSizeLabel = QtWidgets.QLabel(self.uiSceneTab)
self.uiDrawingGridSizeLabel.setObjectName("uiDrawingGridSizeLabel")
self.gridLayout_3.addWidget(self.uiDrawingGridSizeLabel, 6, 0, 1, 1)
self.uiDrawingGridSizeSpinBox = QtWidgets.QSpinBox(self.uiSceneTab)
self.uiDrawingGridSizeSpinBox.setMinimum(10)
self.uiDrawingGridSizeSpinBox.setMaximum(100)
self.uiDrawingGridSizeSpinBox.setSingleStep(10)
self.uiDrawingGridSizeSpinBox.setProperty("value", 25)
self.uiDrawingGridSizeSpinBox.setObjectName("uiDrawingGridSizeSpinBox")
self.gridLayout_3.addWidget(self.uiDrawingGridSizeSpinBox, 7, 0, 1, 1)
self.uiRectangleSelectedItemCheckBox = QtWidgets.QCheckBox(self.uiSceneTab)
self.uiRectangleSelectedItemCheckBox.setChecked(True)
self.uiRectangleSelectedItemCheckBox.setObjectName("uiRectangleSelectedItemCheckBox")
self.gridLayout_3.addWidget(self.uiRectangleSelectedItemCheckBox, 6, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiRectangleSelectedItemCheckBox, 8, 0, 1, 2)
self.uiDrawLinkStatusPointsCheckBox = QtWidgets.QCheckBox(self.uiSceneTab)
self.uiDrawLinkStatusPointsCheckBox.setChecked(True)
self.uiDrawLinkStatusPointsCheckBox.setObjectName("uiDrawLinkStatusPointsCheckBox")
self.gridLayout_3.addWidget(self.uiDrawLinkStatusPointsCheckBox, 7, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiDrawLinkStatusPointsCheckBox, 9, 0, 1, 2)
self.uiShowInterfaceLabelsOnNewProject = QtWidgets.QCheckBox(self.uiSceneTab)
self.uiShowInterfaceLabelsOnNewProject.setObjectName("uiShowInterfaceLabelsOnNewProject")
self.gridLayout_3.addWidget(self.uiShowInterfaceLabelsOnNewProject, 8, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiShowInterfaceLabelsOnNewProject, 10, 0, 1, 2)
self.uiShowGridOnNewProject = QtWidgets.QCheckBox(self.uiSceneTab)
self.uiShowGridOnNewProject.setObjectName("uiShowGridOnNewProject")
self.gridLayout_3.addWidget(self.uiShowGridOnNewProject, 9, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiShowGridOnNewProject, 11, 0, 1, 2)
self.uiSnapToGridOnNewProject = QtWidgets.QCheckBox(self.uiSceneTab)
self.uiSnapToGridOnNewProject.setObjectName("uiSnapToGridOnNewProject")
self.gridLayout_3.addWidget(self.uiSnapToGridOnNewProject, 10, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiSnapToGridOnNewProject, 12, 0, 1, 2)
self.uiLabelPreviewLabel = QtWidgets.QLabel(self.uiSceneTab)
self.uiLabelPreviewLabel.setObjectName("uiLabelPreviewLabel")
self.gridLayout_3.addWidget(self.uiLabelPreviewLabel, 11, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiLabelPreviewLabel, 13, 0, 1, 2)
self.uiDefaultLabelStylePlainTextEdit = QtWidgets.QPlainTextEdit(self.uiSceneTab)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
@@ -365,7 +375,7 @@ class Ui_GeneralPreferencesPageWidget(object):
self.uiDefaultLabelStylePlainTextEdit.setMaximumSize(QtCore.QSize(16777215, 50))
self.uiDefaultLabelStylePlainTextEdit.setReadOnly(True)
self.uiDefaultLabelStylePlainTextEdit.setObjectName("uiDefaultLabelStylePlainTextEdit")
self.gridLayout_3.addWidget(self.uiDefaultLabelStylePlainTextEdit, 12, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiDefaultLabelStylePlainTextEdit, 14, 0, 1, 2)
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.uiDefaultLabelFontPushButton = QtWidgets.QPushButton(self.uiSceneTab)
@@ -376,10 +386,10 @@ class Ui_GeneralPreferencesPageWidget(object):
self.horizontalLayout_5.addWidget(self.uiDefaultLabelColorPushButton)
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem6)
self.gridLayout_3.addLayout(self.horizontalLayout_5, 13, 0, 1, 2)
self.gridLayout_3.addLayout(self.horizontalLayout_5, 15, 0, 1, 2)
self.uiNotePreviewLabel = QtWidgets.QLabel(self.uiSceneTab)
self.uiNotePreviewLabel.setObjectName("uiNotePreviewLabel")
self.gridLayout_3.addWidget(self.uiNotePreviewLabel, 14, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiNotePreviewLabel, 16, 0, 1, 2)
self.uiDefaultNoteStylePlainTextEdit = QtWidgets.QPlainTextEdit(self.uiSceneTab)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
@@ -389,7 +399,7 @@ class Ui_GeneralPreferencesPageWidget(object):
self.uiDefaultNoteStylePlainTextEdit.setMaximumSize(QtCore.QSize(16777215, 50))
self.uiDefaultNoteStylePlainTextEdit.setReadOnly(True)
self.uiDefaultNoteStylePlainTextEdit.setObjectName("uiDefaultNoteStylePlainTextEdit")
self.gridLayout_3.addWidget(self.uiDefaultNoteStylePlainTextEdit, 15, 0, 1, 2)
self.gridLayout_3.addWidget(self.uiDefaultNoteStylePlainTextEdit, 17, 0, 1, 2)
self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
self.horizontalLayout_14.setObjectName("horizontalLayout_14")
self.uiDefaultNoteFontPushButton = QtWidgets.QPushButton(self.uiSceneTab)
@@ -400,9 +410,9 @@ class Ui_GeneralPreferencesPageWidget(object):
self.horizontalLayout_14.addWidget(self.uiDefaultNoteColorPushButton)
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_14.addItem(spacerItem7)
self.gridLayout_3.addLayout(self.horizontalLayout_14, 16, 0, 1, 2)
self.gridLayout_3.addLayout(self.horizontalLayout_14, 18, 0, 1, 2)
spacerItem8 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_3.addItem(spacerItem8, 17, 1, 1, 1)
self.gridLayout_3.addItem(spacerItem8, 19, 1, 1, 1)
self.uiMiscTabWidget.addTab(self.uiSceneTab, "")
self.uiMiscTab = QtWidgets.QWidget()
self.uiMiscTab.setObjectName("uiMiscTab")
@@ -534,7 +544,8 @@ class Ui_GeneralPreferencesPageWidget(object):
self.uiSceneWidthSpinBox.setSuffix(_translate("GeneralPreferencesPageWidget", " pixels"))
self.uiSceneHeightLabel.setText(_translate("GeneralPreferencesPageWidget", "Default height:"))
self.uiSceneHeightSpinBox.setSuffix(_translate("GeneralPreferencesPageWidget", " pixels"))
self.uiGridSizeLabel.setText(_translate("GeneralPreferencesPageWidget", "Grid size:"))
self.uiApplianceGridSizeLabel.setText(_translate("GeneralPreferencesPageWidget", "Default appliance grid size:"))
self.uiDrawingGridSizeLabel.setText(_translate("GeneralPreferencesPageWidget", "Default drawing (e.g. labels and rectangles) grid size:"))
self.uiRectangleSelectedItemCheckBox.setText(_translate("GeneralPreferencesPageWidget", "Draw a rectangle when an item is selected"))
self.uiDrawLinkStatusPointsCheckBox.setText(_translate("GeneralPreferencesPageWidget", "Draw link status points"))
self.uiShowInterfaceLabelsOnNewProject.setText(_translate("GeneralPreferencesPageWidget", "Show interface labels on new project"))

View File

@@ -42,6 +42,10 @@ def test_project_create(tmpdir, controller):
assert args[1] == "/projects"
assert kwargs["body"] == {"name": "test",
"path": str(tmpdir),
"grid_size": 75,
"drawing_grid_size": 25,
"show_grid": False,
"snap_to_grid": False,
"show_interface_labels": False}
args[2]({"project_id": uuid, "name": "test"})