diff --git a/novelwriter/tools/manuscript.py b/novelwriter/tools/manuscript.py index 782a7109..f84dfa1a 100644 --- a/novelwriter/tools/manuscript.py +++ b/novelwriter/tools/manuscript.py @@ -28,16 +28,15 @@ import logging from datetime import datetime from time import time -from typing import TYPE_CHECKING -from PyQt5.QtCore import QTimer, QUrl, Qt, pyqtSignal, pyqtSlot +from PyQt5.QtCore import Qt, QTimer, QUrl, pyqtSignal, pyqtSlot from PyQt5.QtGui import QCloseEvent, QColor, QCursor, QFont, QPalette, QResizeEvent -from PyQt5.QtPrintSupport import QPrintPreviewDialog, QPrinter +from PyQt5.QtPrintSupport import QPrinter, QPrintPreviewDialog from PyQt5.QtWidgets import ( QAbstractItemView, QApplication, QDialog, QFormLayout, QGridLayout, - QHBoxLayout, QLabel, QListWidget, QListWidgetItem, QPushButton, - QSplitter, QStackedWidget, QTabWidget, QTextBrowser, QTreeWidget, - QTreeWidgetItem, QVBoxLayout, QWidget + QHBoxLayout, QLabel, QListWidget, QListWidgetItem, QPushButton, QSplitter, + QStackedWidget, QTabWidget, QTextBrowser, QTreeWidget, QTreeWidgetItem, + QVBoxLayout, QWidget ) from novelwriter import CONFIG, SHARED @@ -57,9 +56,6 @@ from novelwriter.types import ( QtSizeExpanding, QtSizeIgnored, QtUserRole ) -if TYPE_CHECKING: # pragma: no cover - from novelwriter.guimain import GuiMain - logger = logging.getLogger(__name__) @@ -73,16 +69,14 @@ class GuiManuscript(QDialog): D_KEY = QtUserRole - def __init__(self, mainGui: GuiMain) -> None: - super().__init__(parent=mainGui) + def __init__(self, parent: QWidget) -> None: + super().__init__(parent=parent) logger.debug("Create: GuiManuscript") self.setObjectName("GuiManuscript") if CONFIG.osDarwin: self.setWindowFlag(Qt.WindowType.Tool) - self.mainGui = mainGui - self._builds = BuildCollection(SHARED.project) self._buildMap: dict[str, QListWidgetItem] = {} @@ -280,7 +274,7 @@ class GuiManuscript(QDialog): dialog open. """ self._saveSettings() - for obj in self.mainGui.children(): + for obj in SHARED.mainGui.children(): # Make sure we don't have any settings windows open if isinstance(obj, GuiBuildSettings) and obj.isVisible(): obj.close() @@ -467,7 +461,7 @@ class GuiManuscript(QDialog): def _openSettingsDialog(self, build: BuildSettings) -> None: """Open the build settings dialog.""" - for obj in self.mainGui.children(): + for obj in SHARED.mainGui.children(): # Don't open a second dialog if one exists if isinstance(obj, GuiBuildSettings): if obj.buildID == build.buildID: @@ -476,7 +470,7 @@ class GuiManuscript(QDialog): obj.raise_() return - dlgSettings = GuiBuildSettings(self.mainGui, build) + dlgSettings = GuiBuildSettings(SHARED.mainGui, build) dlgSettings.setModal(False) dlgSettings.show() dlgSettings.raise_() diff --git a/novelwriter/tools/manussettings.py b/novelwriter/tools/manussettings.py index a27c011f..cd9ac72e 100644 --- a/novelwriter/tools/manussettings.py +++ b/novelwriter/tools/manussettings.py @@ -25,8 +25,6 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING - from PyQt5.QtCore import QEvent, Qt, pyqtSignal, pyqtSlot from PyQt5.QtGui import QFont, QIcon, QSyntaxHighlighter, QTextCharFormat, QTextDocument from PyQt5.QtWidgets import ( @@ -51,9 +49,6 @@ from novelwriter.types import ( QtRoleApply, QtRoleReject, QtUserRole ) -if TYPE_CHECKING: # pragma: no cover - from novelwriter.guimain import GuiMain - logger = logging.getLogger(__name__) @@ -72,8 +67,8 @@ class GuiBuildSettings(QDialog): newSettingsReady = pyqtSignal(BuildSettings) - def __init__(self, mainGui: GuiMain, build: BuildSettings) -> None: - super().__init__(parent=mainGui) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) logger.debug("Create: GuiBuildSettings") self.setObjectName("GuiBuildSettings") @@ -296,8 +291,8 @@ class _FilterTab(NFixedPage): F_INCLUDED = 2 F_EXCLUDED = 3 - def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None: - super().__init__(parent=buildMain) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) self._treeMap: dict[str, QTreeWidgetItem] = {} self._build = build @@ -586,8 +581,8 @@ class _HeadingsTab(NScrollablePage): EDIT_HSCENE = 5 EDIT_SECTION = 6 - def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None: - super().__init__(parent=buildMain) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) self._build = build self._editing = 0 @@ -972,8 +967,8 @@ class _HeadingSyntaxHighlighter(QSyntaxHighlighter): class _ContentTab(NScrollableForm): - def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None: - super().__init__(parent=buildMain) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) self._build = build @@ -1057,8 +1052,8 @@ class _ContentTab(NScrollableForm): class _FormatTab(NScrollableForm): - def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None: - super().__init__(parent=buildMain) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) self._build = build self._unitScale = 1.0 @@ -1324,8 +1319,8 @@ class _FormatTab(NScrollableForm): class _OutputTab(NScrollableForm): - def __init__(self, buildMain: GuiBuildSettings, build: BuildSettings) -> None: - super().__init__(parent=buildMain) + def __init__(self, parent: QWidget, build: BuildSettings) -> None: + super().__init__(parent=parent) self._build = build diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 37feacec..40d46cee 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,6 +1,6 @@ - - + + Sample Project Jane Smith