summaryrefslogtreecommitdiff
path: root/src/main/python/utils
diff options
context:
space:
mode:
authorBlaine2020-04-25 12:19:48 +0530
committerBlaine2020-04-25 12:19:48 +0530
commit0477ce548a303c20c33eb7abc8fe6166f18c3359 (patch)
treedf73a3d201e50feeb61f2a6619d8d570ececfd7d /src/main/python/utils
parentfd3c77a435982b82de5fa55f18a814c9644aec30 (diff)
downloadChemical-PFD-0477ce548a303c20c33eb7abc8fe6166f18c3359.tar.gz
Chemical-PFD-0477ce548a303c20c33eb7abc8fe6166f18c3359.tar.bz2
Chemical-PFD-0477ce548a303c20c33eb7abc8fe6166f18c3359.zip
cleanup and reorganize
Diffstat (limited to 'src/main/python/utils')
-rw-r--r--src/main/python/utils/canvas.py48
-rw-r--r--src/main/python/utils/dialogs.py53
2 files changed, 58 insertions, 43 deletions
diff --git a/src/main/python/utils/canvas.py b/src/main/python/utils/canvas.py
index 270cf17..330d3be 100644
--- a/src/main/python/utils/canvas.py
+++ b/src/main/python/utils/canvas.py
@@ -7,11 +7,10 @@ from PyQt5.QtWidgets import (QComboBox, QDialog, QFileDialog, QFormLayout,
QLabel, QMainWindow, QMdiSubWindow, QMenu,
QMessageBox, QTabWidget, QWidget)
-from . import graphics
+from . import graphics, dialogs
from .sizes import paperSizes, ppiList, sheetDimensionList
from .tabs import customTabWidget
-
class canvas(QWidget):
def __init__(self, parent=None, size= 'A4', ppi= '72'):
super(canvas, self).__init__(parent)
@@ -72,30 +71,7 @@ class canvas(QWidget):
menu.exec_(self.mapToGlobal(point))
def adjustCanvasDialog(self):
- dialogBox = QDialog(self)
- dialogBox.setWindowTitle(self.objectName()+":Canvas Size")
- dialogBoxLayout = QFormLayout(dialogBox)
- sizeComboBox = QComboBox()
- sizeComboBox.addItems(sheetDimensionList)
- sizeComboBox.setCurrentIndex(4)
- sizeComboBox.activated[str].connect(self.setCanvasSize)
- sizeLabel = QLabel("Canvas Size")
- sizeLabel.setBuddy(sizeComboBox)
- sizeComboBox.setCurrentIndex(sheetDimensionList.index(self.canvasSize))
- dialogBoxLayout.setWidget(0, QFormLayout.LabelRole, sizeLabel)
- dialogBoxLayout.setWidget(0, QFormLayout.FieldRole, sizeComboBox)
-
- ppiComboBox = QComboBox()
- ppiComboBox.addItems(ppiList)
- ppiComboBox.activated[str].connect(self.setCanvasPPI)
- ppiLabel = QLabel("Canvas ppi")
- ppiLabel.setBuddy(ppiComboBox)
- ppiComboBox.setCurrentIndex(ppiList.index(self.ppi))
- dialogBoxLayout.setWidget(1, QFormLayout.LabelRole, ppiLabel)
- dialogBoxLayout.setWidget(1, QFormLayout.FieldRole, ppiComboBox)
- dialogBox.setLayout(dialogBoxLayout)
-
- dialogBox.exec_()
+ self.canvasSize, self.ppi = dialogs.paperDims(self, self._canvasSize, self._ppi, self.objectName).exec_()
def __getstate__(self) -> dict:
return {
@@ -120,9 +96,6 @@ class fileWindow(QMdiSubWindow):
def __init__(self, parent = None, title = 'New Project', size = 'A4', ppi = '72'):
super(fileWindow, self).__init__(parent)
- self._ppi = ppi
- self._canvasSize = size
-
self.tabber = customTabWidget(self)
self.tabber.setObjectName(title)
self.tabber.tabCloseRequested.connect(self.closeTab)
@@ -158,12 +131,12 @@ class fileWindow(QMdiSubWindow):
pass
def closeTab(self, currentIndex):
- if self.saveEvent():
+ if dialogs.saveEvent(self):
self.tabber.widget(currentIndex).deleteLater()
self.tabber.removeTab(currentIndex)
def newDiagram(self):
- diagram = canvas(self.tabber, size = self._canvasSize, ppi = self._ppi)
+ diagram = canvas(self.tabber)
diagram.setObjectName("New")
self.tabber.addTab(diagram, "New")
@@ -209,19 +182,8 @@ class fileWindow(QMdiSubWindow):
return False
def closeEvent(self, event):
- if self.tabCount==0 or self.saveEvent():
+ if self.tabCount==0 or dialogs.saveEvent(self):
event.accept()
self.deleteLater()
else:
event.ignore()
-
- def saveEvent(self):
- alert = QMessageBox.question(self, self.objectName(), "All unsaved progress will be LOST!",
- QMessageBox.StandardButtons(QMessageBox.Save|QMessageBox.Ignore|QMessageBox.Cancel), QMessageBox.Save)
- if alert == QMessageBox.Cancel:
- return False
- else:
- if alert == QMessageBox.Save:
- if not self.saveProject():
- return False
- return True
diff --git a/src/main/python/utils/dialogs.py b/src/main/python/utils/dialogs.py
new file mode 100644
index 0000000..d2b872c
--- /dev/null
+++ b/src/main/python/utils/dialogs.py
@@ -0,0 +1,53 @@
+from PyQt5.QtWidgets import QDialog, QPushButton, QFormLayout, QComboBox, QLabel, QMessageBox
+from .sizes import sheetDimensionList, ppiList
+
+class paperDims(QDialog):
+ def __init__(self, parent=None, size='A4', ppi='72', name='Canvas Size'):
+ super(paperDims, self).__init__(parent)
+
+ self._canvasSize = size
+ self._ppi = ppi
+
+ self.setWindowTitle(name+":Canvas Size")
+ dialogBoxLayout = QFormLayout(self)
+ sizeComboBox = QComboBox()
+ sizeComboBox.addItems(sheetDimensionList)
+ sizeComboBox.setCurrentIndex(4)
+ sizeComboBox.activated[str].connect(self.setCanvasSize)
+ sizeLabel = QLabel("Canvas Size")
+ sizeLabel.setBuddy(sizeComboBox)
+ sizeComboBox.setCurrentIndex(sheetDimensionList.index(self._canvasSize))
+ dialogBoxLayout.setWidget(0, QFormLayout.LabelRole, sizeLabel)
+ dialogBoxLayout.setWidget(0, QFormLayout.FieldRole, sizeComboBox)
+
+ ppiComboBox = QComboBox()
+ ppiComboBox.addItems(ppiList)
+ ppiComboBox.activated[str].connect(self.setCanvasPPI)
+ ppiLabel = QLabel("Canvas ppi")
+ ppiLabel.setBuddy(ppiComboBox)
+ ppiComboBox.setCurrentIndex(ppiList.index(self._ppi))
+ dialogBoxLayout.setWidget(1, QFormLayout.LabelRole, ppiLabel)
+ dialogBoxLayout.setWidget(1, QFormLayout.FieldRole, ppiComboBox)
+ self.setLayout(dialogBoxLayout)
+ self.resize(400,300)
+
+ def setCanvasSize(self, size):
+ self._canvasSize = size
+
+ def setCanvasPPI(self, ppi):
+ self._ppi = ppi
+
+ def exec_(self):
+ super(paperDims, self).exec_()
+ return self._canvasSize, self._ppi
+
+def saveEvent(parent = None):
+ alert = QMessageBox.question(parent, parent.objectName(), "All unsaved progress will be LOST!",
+ QMessageBox.StandardButtons(QMessageBox.Save|QMessageBox.Ignore|QMessageBox.Cancel), QMessageBox.Save)
+ if alert == QMessageBox.Cancel:
+ return False
+ else:
+ if alert == QMessageBox.Save:
+ if not parent.saveProject():
+ return False
+ return True \ No newline at end of file