diff --git a/novelwriter/core/project.py b/novelwriter/core/project.py index be383d0e..bc121b74 100644 --- a/novelwriter/core/project.py +++ b/novelwriter/core/project.py @@ -174,6 +174,7 @@ class NWProject: project entry and a document file if it exists. """ if self._tree.checkType(tHandle, nwItemType.FILE): + SHARED.closeDocument(tHandle) doc = self._storage.getDocument(tHandle) if not doc.deleteDocument(): SHARED.error( diff --git a/novelwriter/shared.py b/novelwriter/shared.py index 7455b834..cdeb7614 100644 --- a/novelwriter/shared.py +++ b/novelwriter/shared.py @@ -175,10 +175,12 @@ class SharedData(QObject): logger.debug("Thread Pool Max Count: %d", QThreadPool.globalInstance().maxThreadCount()) return - def closeEditor(self, tHandle: str | None = None) -> None: + def closeDocument(self, tHandle: str | None = None) -> None: """Close the document editor, optionally a specific document.""" if tHandle is None or tHandle == self.mainGui.docEditor.docHandle: self.mainGui.closeDocument() + if tHandle is None or tHandle == self.mainGui.docViewer.docHandle: + self.mainGui.closeViewerPanel() return def saveEditor(self, tHandle: str | None = None) -> None: diff --git a/tests/mocked.py b/tests/mocked.py index 986fd244..f5df63bf 100644 --- a/tests/mocked.py +++ b/tests/mocked.py @@ -20,7 +20,7 @@ along with this program. If not, see . """ from __future__ import annotations -from PyQt5.QtGui import QIcon, QPixmap +from PyQt5.QtGui import QFont, QIcon, QPixmap from PyQt5.QtWidgets import QWidget @@ -68,6 +68,9 @@ class MockTheme: def __init__(self): self.baseIconHeight = 20 + self.guiFont = QFont() + self.guiFontB = QFont() + self.guiFontBU = QFont() return def getPixmap(self, *a):