Change page size preset to Custom when values are changed instead of blocking the spin boxes
This commit is contained in:
@@ -1054,10 +1054,12 @@ class _FormatTab(QWidget):
|
|||||||
self.pageWidth = QDoubleSpinBox(self)
|
self.pageWidth = QDoubleSpinBox(self)
|
||||||
self.pageWidth.setFixedWidth(dbW)
|
self.pageWidth.setFixedWidth(dbW)
|
||||||
self.pageWidth.setMaximum(500.0)
|
self.pageWidth.setMaximum(500.0)
|
||||||
|
self.pageWidth.valueChanged.connect(self._pageSizeValueChanged)
|
||||||
|
|
||||||
self.pageHeight = QDoubleSpinBox(self)
|
self.pageHeight = QDoubleSpinBox(self)
|
||||||
self.pageHeight.setFixedWidth(dbW)
|
self.pageHeight.setFixedWidth(dbW)
|
||||||
self.pageHeight.setMaximum(500.0)
|
self.pageHeight.setMaximum(500.0)
|
||||||
|
self.pageHeight.valueChanged.connect(self._pageSizeValueChanged)
|
||||||
|
|
||||||
self.topMargin = QDoubleSpinBox(self)
|
self.topMargin = QDoubleSpinBox(self)
|
||||||
self.topMargin.setFixedWidth(dbW)
|
self.topMargin.setFixedWidth(dbW)
|
||||||
@@ -1206,15 +1208,19 @@ class _FormatTab(QWidget):
|
|||||||
pMax = 500.0 if isMM else 50.0
|
pMax = 500.0 if isMM else 50.0
|
||||||
mMax = 150.0 if isMM else 15.0
|
mMax = 150.0 if isMM else 15.0
|
||||||
|
|
||||||
|
self.pageWidth.blockSignals(True)
|
||||||
self.pageWidth.setDecimals(nDec)
|
self.pageWidth.setDecimals(nDec)
|
||||||
self.pageWidth.setSingleStep(nStep)
|
self.pageWidth.setSingleStep(nStep)
|
||||||
self.pageWidth.setMaximum(pMax)
|
self.pageWidth.setMaximum(pMax)
|
||||||
self.pageWidth.setValue(pageWidth)
|
self.pageWidth.setValue(pageWidth)
|
||||||
|
self.pageWidth.blockSignals(False)
|
||||||
|
|
||||||
|
self.pageHeight.blockSignals(True)
|
||||||
self.pageHeight.setDecimals(nDec)
|
self.pageHeight.setDecimals(nDec)
|
||||||
self.pageHeight.setSingleStep(nStep)
|
self.pageHeight.setSingleStep(nStep)
|
||||||
self.pageHeight.setMaximum(pMax)
|
self.pageHeight.setMaximum(pMax)
|
||||||
self.pageHeight.setValue(pageHeight)
|
self.pageHeight.setValue(pageHeight)
|
||||||
|
self.pageHeight.blockSignals(False)
|
||||||
|
|
||||||
self.topMargin.setDecimals(nDec)
|
self.topMargin.setDecimals(nDec)
|
||||||
self.topMargin.setSingleStep(nStep)
|
self.topMargin.setSingleStep(nStep)
|
||||||
@@ -1237,22 +1243,31 @@ class _FormatTab(QWidget):
|
|||||||
self.rightMargin.setValue(rightMargin)
|
self.rightMargin.setValue(rightMargin)
|
||||||
|
|
||||||
self._unitScale = newScale
|
self._unitScale = newScale
|
||||||
|
self._changePageSize(self.pageSize.currentIndex())
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def _changePageSize(self, index: int) -> None:
|
def _changePageSize(self, index: int) -> None:
|
||||||
"""The page size has changed."""
|
"""The page size has changed."""
|
||||||
self.pageWidth.setEnabled(True)
|
|
||||||
self.pageHeight.setEnabled(True)
|
|
||||||
|
|
||||||
w, h = nwLabels.PAPER_SIZE[self.pageSize.itemData(index)] if index >= 0 else (-1.0, -1.0)
|
w, h = nwLabels.PAPER_SIZE[self.pageSize.itemData(index)] if index >= 0 else (-1.0, -1.0)
|
||||||
if w > 0.0 and h > 0.0:
|
if w > 0.0 and h > 0.0:
|
||||||
self.pageWidth.setEnabled(False)
|
self.pageWidth.blockSignals(True)
|
||||||
self.pageHeight.setEnabled(False)
|
|
||||||
self.pageWidth.setValue(w/self._unitScale)
|
self.pageWidth.setValue(w/self._unitScale)
|
||||||
|
self.pageWidth.blockSignals(False)
|
||||||
|
self.pageHeight.blockSignals(True)
|
||||||
self.pageHeight.setValue(h/self._unitScale)
|
self.pageHeight.setValue(h/self._unitScale)
|
||||||
|
self.pageHeight.blockSignals(False)
|
||||||
|
return
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def _pageSizeValueChanged(self):
|
||||||
|
"""The user has changed the page size spin boxes, so we flip
|
||||||
|
the page size box to Custom.
|
||||||
|
"""
|
||||||
|
index = self.pageSize.findData("Custom")
|
||||||
|
if index >= 0:
|
||||||
|
self.pageSize.setCurrentIndex(index)
|
||||||
return
|
return
|
||||||
|
|
||||||
# END Class _FormatTab
|
# END Class _FormatTab
|
||||||
|
|||||||
Reference in New Issue
Block a user