Add text margin settings
This commit is contained in:
@@ -38,7 +38,7 @@ from PyQt5.QtWidgets import (
|
||||
|
||||
from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.common import describeFont
|
||||
from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, trConst
|
||||
from novelwriter.constants import nwHeaders, nwHeadFmt, nwKeyWords, nwLabels, trConst
|
||||
from novelwriter.core.buildsettings import BuildSettings, FilterMode
|
||||
from novelwriter.extensions.configlayout import (
|
||||
NColourLabel, NFixedPage, NScrollableForm, NScrollablePage
|
||||
@@ -1076,6 +1076,98 @@ class _FormattingTab(NScrollableForm):
|
||||
self.addRow(self._build.getLabel("format.firstIndentWidth"), self.indentWidth, unit="em")
|
||||
self.addRow(self._build.getLabel("format.indentFirstPar"), self.indentFirstPar)
|
||||
|
||||
# Text Margins
|
||||
# ============
|
||||
|
||||
title = self._build.getLabel("format.grpMargins")
|
||||
section += 1
|
||||
self._sidebar.addButton(title, section)
|
||||
self.addGroupLabel(title, section)
|
||||
|
||||
# Title
|
||||
self.titleMarginT = NDoubleSpinBox(self)
|
||||
self.titleMarginT.setFixedWidth(dbW)
|
||||
|
||||
self.titleMarginB = NDoubleSpinBox(self)
|
||||
self.titleMarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
trConst(nwHeaders.H_LABEL["H0"]),
|
||||
[trT, self.titleMarginT, 6, trB, self.titleMarginB],
|
||||
)
|
||||
|
||||
# Heading 1
|
||||
self.h1MarginT = NDoubleSpinBox(self)
|
||||
self.h1MarginT.setFixedWidth(dbW)
|
||||
|
||||
self.h1MarginB = NDoubleSpinBox(self)
|
||||
self.h1MarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
trConst(nwHeaders.H_LABEL["H1"]),
|
||||
[trT, self.h1MarginT, 6, trB, self.h1MarginB],
|
||||
)
|
||||
|
||||
# Heading 2
|
||||
self.h2MarginT = NDoubleSpinBox(self)
|
||||
self.h2MarginT.setFixedWidth(dbW)
|
||||
|
||||
self.h2MarginB = NDoubleSpinBox(self)
|
||||
self.h2MarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
trConst(nwHeaders.H_LABEL["H2"]),
|
||||
[trT, self.h2MarginT, 6, trB, self.h2MarginB],
|
||||
)
|
||||
|
||||
# Heading 3
|
||||
self.h3MarginT = NDoubleSpinBox(self)
|
||||
self.h3MarginT.setFixedWidth(dbW)
|
||||
|
||||
self.h3MarginB = NDoubleSpinBox(self)
|
||||
self.h3MarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
trConst(nwHeaders.H_LABEL["H3"]),
|
||||
[trT, self.h3MarginT, 6, trB, self.h3MarginB],
|
||||
)
|
||||
|
||||
# Heading 4
|
||||
self.h4MarginT = NDoubleSpinBox(self)
|
||||
self.h4MarginT.setFixedWidth(dbW)
|
||||
|
||||
self.h4MarginB = NDoubleSpinBox(self)
|
||||
self.h4MarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
trConst(nwHeaders.H_LABEL["H4"]),
|
||||
[trT, self.h4MarginT, 6, trB, self.h4MarginB],
|
||||
)
|
||||
|
||||
# Text
|
||||
self.textMarginT = NDoubleSpinBox(self)
|
||||
self.textMarginT.setFixedWidth(dbW)
|
||||
|
||||
self.textMarginB = NDoubleSpinBox(self)
|
||||
self.textMarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
self._build.getLabel("format.textMargin"),
|
||||
[trT, self.textMarginT, 6, trB, self.textMarginB],
|
||||
)
|
||||
|
||||
# Separator
|
||||
self.sepMarginT = NDoubleSpinBox(self)
|
||||
self.sepMarginT.setFixedWidth(dbW)
|
||||
|
||||
self.sepMarginB = NDoubleSpinBox(self)
|
||||
self.sepMarginB.setFixedWidth(dbW)
|
||||
|
||||
self.addRow(
|
||||
self._build.getLabel("format.sepMargin"),
|
||||
[trT, self.sepMarginT, 6, trB, self.sepMarginB],
|
||||
)
|
||||
|
||||
# Page Layout
|
||||
# ===========
|
||||
|
||||
@@ -1106,7 +1198,7 @@ class _FormattingTab(NScrollableForm):
|
||||
|
||||
self.addRow(
|
||||
self._build.getLabel("format.pageSize"),
|
||||
[self.pageSize, 8, trW, self.pageWidth, trH, self.pageHeight],
|
||||
[self.pageSize, 6, trW, self.pageWidth, 6, trH, self.pageHeight],
|
||||
)
|
||||
|
||||
# Page Margins
|
||||
@@ -1124,11 +1216,11 @@ class _FormattingTab(NScrollableForm):
|
||||
|
||||
self.addRow(
|
||||
self._build.getLabel("format.pageMargins"),
|
||||
[trT, self.topMargin, trB, self.bottomMargin],
|
||||
[trT, self.topMargin, 6, trB, self.bottomMargin],
|
||||
)
|
||||
self.addRow(
|
||||
"",
|
||||
[trL, self.leftMargin, trR, self.rightMargin],
|
||||
[trL, self.leftMargin, 6, trR, self.rightMargin],
|
||||
)
|
||||
|
||||
# Open Document
|
||||
@@ -1220,6 +1312,24 @@ class _FormattingTab(NScrollableForm):
|
||||
self.indentWidth.setValue(self._build.getFloat("format.firstIndentWidth"))
|
||||
self.indentFirstPar.setChecked(self._build.getBool("format.indentFirstPar"))
|
||||
|
||||
# Text Margins
|
||||
# ============
|
||||
|
||||
self.titleMarginT.setValue(self._build.getFloat("format.titleMarginT"))
|
||||
self.titleMarginB.setValue(self._build.getFloat("format.titleMarginB"))
|
||||
self.h1MarginT.setValue(self._build.getFloat("format.h1MarginT"))
|
||||
self.h1MarginB.setValue(self._build.getFloat("format.h1MarginB"))
|
||||
self.h2MarginT.setValue(self._build.getFloat("format.h2MarginT"))
|
||||
self.h2MarginB.setValue(self._build.getFloat("format.h2MarginB"))
|
||||
self.h3MarginT.setValue(self._build.getFloat("format.h3MarginT"))
|
||||
self.h3MarginB.setValue(self._build.getFloat("format.h3MarginB"))
|
||||
self.h4MarginT.setValue(self._build.getFloat("format.h4MarginT"))
|
||||
self.h4MarginB.setValue(self._build.getFloat("format.h4MarginB"))
|
||||
self.textMarginT.setValue(self._build.getFloat("format.textMarginT"))
|
||||
self.textMarginB.setValue(self._build.getFloat("format.textMarginB"))
|
||||
self.sepMarginT.setValue(self._build.getFloat("format.sepMarginT"))
|
||||
self.sepMarginB.setValue(self._build.getFloat("format.sepMarginB"))
|
||||
|
||||
# Page Layout
|
||||
# ===========
|
||||
|
||||
@@ -1290,6 +1400,22 @@ class _FormattingTab(NScrollableForm):
|
||||
self._build.setValue("format.firstIndentWidth", self.indentWidth.value())
|
||||
self._build.setValue("format.indentFirstPar", self.indentFirstPar.isChecked())
|
||||
|
||||
# Text Margins
|
||||
self._build.setValue("format.titleMarginT", self.titleMarginT.value())
|
||||
self._build.setValue("format.titleMarginB", self.titleMarginB.value())
|
||||
self._build.setValue("format.h1MarginT", self.h1MarginT.value())
|
||||
self._build.setValue("format.h1MarginB", self.h1MarginB.value())
|
||||
self._build.setValue("format.h2MarginT", self.h2MarginT.value())
|
||||
self._build.setValue("format.h2MarginB", self.h2MarginB.value())
|
||||
self._build.setValue("format.h3MarginT", self.h3MarginT.value())
|
||||
self._build.setValue("format.h3MarginB", self.h3MarginB.value())
|
||||
self._build.setValue("format.h4MarginT", self.h4MarginT.value())
|
||||
self._build.setValue("format.h4MarginB", self.h4MarginB.value())
|
||||
self._build.setValue("format.textMarginT", self.textMarginT.value())
|
||||
self._build.setValue("format.textMarginB", self.textMarginB.value())
|
||||
self._build.setValue("format.sepMarginT", self.sepMarginT.value())
|
||||
self._build.setValue("format.sepMarginB", self.sepMarginB.value())
|
||||
|
||||
# Page Layout
|
||||
self._build.setValue("format.pageUnit", str(self.pageUnit.currentData()))
|
||||
self._build.setValue("format.pageSize", str(self.pageSize.currentData()))
|
||||
|
||||
Reference in New Issue
Block a user