Update build dialog and make doc build class compatible with build settings

This commit is contained in:
Veronica Berglyd Olsen
2023-05-22 21:58:05 +02:00
parent 854cc77220
commit 2592423637
4 changed files with 161 additions and 81 deletions
+46 -10
View File
@@ -30,8 +30,8 @@ from typing import TYPE_CHECKING
from PyQt5.QtCore import Qt, pyqtSlot
from PyQt5.QtWidgets import (
QDialog, QHBoxLayout, QListWidget, QListWidgetItem, QPushButton, QSplitter,
QTextBrowser, QVBoxLayout, QWidget, qApp
QDialog, QHBoxLayout, QListWidget, QListWidgetItem, QMenu, QProgressBar,
QPushButton, QSplitter, QTextBrowser, QVBoxLayout, QWidget, qApp
)
from novelwriter import CONFIG
@@ -69,8 +69,8 @@ class GuiBuildManuscript(QDialog):
CONFIG.pxInt(pOptions.getInt("GuiBuildManuscript", "winHeight", hWin))
)
# Controls
# ========
# Build Controls
# ==============
self.buildList = QListWidget()
@@ -80,21 +80,57 @@ class GuiBuildManuscript(QDialog):
self.btnEdit = QPushButton(self.tr("Edit"))
self.btnEdit.clicked.connect(self._editSelectedBuild)
self.btnDel = QPushButton(self.tr("Delete"))
self.btnDelete = QPushButton(self.tr("Delete"))
self.buttonBox = QHBoxLayout()
self.buttonBox.addWidget(self.btnNew)
self.buttonBox.addWidget(self.btnEdit)
self.buttonBox.addWidget(self.btnDel)
# Process Controls
# ================
self.buildProgress = QProgressBar()
self.btnPreview = QPushButton(self.tr("Build Preview"))
self.manPreview = GuiManuscriptPreview(self)
self.menuPrint = QMenu(self)
self.aPrintSend = self.menuPrint.addAction(self.tr("Print Preview"))
self.aPrintFile = self.menuPrint.addAction(self.tr("Print to PDF"))
self.menuSave = QMenu(self)
self.aSaveODT = self.menuSave.addAction(self.tr("Open Document (.odt)"))
self.aSaveFODT = self.menuSave.addAction(self.tr("Flat Open Document (.fodt)"))
self.aSaveHTM = self.menuSave.addAction(self.tr("novelWriter HTML (.htm)"))
self.aSaveNWD = self.menuSave.addAction(self.tr("novelWriter Markdown (.nwd)"))
self.aSaveMD = self.menuSave.addAction(self.tr("Standard Markdown (.md)"))
self.aSaveGH = self.menuSave.addAction(self.tr("GitHub Markdown (.md)"))
self.aSaveJsonH = self.menuSave.addAction(self.tr("JSON + novelWriter HTML (.json)"))
self.aSaveJsonM = self.menuSave.addAction(self.tr("JSON + novelWriter Markdown (.json)"))
self.btnPrint = QPushButton(self.tr("Print"))
self.btnPrint.setMenu(self.menuPrint)
self.btnSave = QPushButton(self.tr("Save As"))
self.btnSave.setMenu(self.menuSave)
self.btnClose = QPushButton(self.tr("Close"))
# Assemble GUI
# ============
self.buildBox = QHBoxLayout()
self.buildBox.addWidget(self.btnNew)
self.buildBox.addWidget(self.btnEdit)
self.buildBox.addWidget(self.btnDelete)
self.processBox = QHBoxLayout()
self.processBox.addWidget(self.btnSave)
self.processBox.addWidget(self.btnPrint)
self.processBox.addWidget(self.btnClose)
self.controlBox = QVBoxLayout()
self.controlBox.addWidget(self.buildList)
self.controlBox.addLayout(self.buttonBox)
self.controlBox.addLayout(self.buildBox)
self.controlBox.addWidget(self.buildProgress)
self.controlBox.addWidget(self.btnPreview)
self.controlBox.addLayout(self.processBox)
self.controlBox.setContentsMargins(0, 0, 0, 0)
self.optsWidget = QWidget()
self.optsWidget.setLayout(self.controlBox)
+10 -10
View File
@@ -457,19 +457,19 @@ class GuiBuildFilterTab(QWidget):
self.mainTheme.getIcon("proj_scene"),
self._build.getLabel("filter.includeNovel"),
"doc:filter.includeNovel",
default=self._build.getValue("filter.includeNovel") or False
default=self._build.getBool("filter.includeNovel")
)
self.filterOpt.addItem(
self.mainTheme.getIcon("proj_note"),
self._build.getLabel("filter.includeNotes"),
"doc:filter.includeNotes",
default=self._build.getValue("filter.includeNotes") or False
default=self._build.getBool("filter.includeNotes")
)
self.filterOpt.addItem(
self.mainTheme.getIcon("unchecked"),
self._build.getLabel("filter.includeInactive"),
"doc:filter.includeInactive",
default=self._build.getValue("filter.includeInactive") or False
default=self._build.getBool("filter.includeInactive")
)
self.filterOpt.addSeparator()
@@ -708,13 +708,13 @@ class GuiBuildHeadingsTab(QWidget):
def loadContent(self):
"""Populate the widgets.
"""
self.fmtTitle.setText(str(self._build.getValue("headings.fmtTitle")))
self.fmtChapter.setText(str(self._build.getValue("headings.fmtChapter")))
self.fmtUnnumbered.setText(str(self._build.getValue("headings.fmtUnnumbered")))
self.fmtScene.setText(str(self._build.getValue("headings.fmtScene")))
self.fmtSection.setText(str(self._build.getValue("headings.fmtSection")))
self.swtScene.setChecked(bool(self._build.getValue("headings.hideScene")))
self.swtSection.setChecked(bool(self._build.getValue("headings.hideSection")))
self.fmtTitle.setText(self._build.getStr("headings.fmtTitle"))
self.fmtChapter.setText(self._build.getStr("headings.fmtChapter"))
self.fmtUnnumbered.setText(self._build.getStr("headings.fmtUnnumbered"))
self.fmtScene.setText(self._build.getStr("headings.fmtScene"))
self.fmtSection.setText(self._build.getStr("headings.fmtSection"))
self.swtScene.setChecked(self._build.getBool("headings.hideScene"))
self.swtSection.setChecked(self._build.getBool("headings.hideSection"))
return
##