Fix existing tests
This commit is contained in:
@@ -479,7 +479,7 @@ class Index:
|
||||
|
||||
def _generateNovelModel(self, tHandle: str) -> None:
|
||||
"""Generate a novel model for a specific handle."""
|
||||
if (item := SHARED.project.tree[tHandle]) and item.isRootType() and item.isNovelLike():
|
||||
if (item := self._project.tree[tHandle]) and item.isRootType() and item.isNovelLike():
|
||||
model = NovelModel()
|
||||
model.setExtraColumn(self._novelExtra)
|
||||
self._appendSubTreeToModel(tHandle, model)
|
||||
@@ -488,7 +488,7 @@ class Index:
|
||||
|
||||
def _appendSubTreeToModel(self, tHandle: str, model: NovelModel) -> None:
|
||||
"""Append all active novel documents to a novel model."""
|
||||
for handle in SHARED.project.tree.subTree(tHandle):
|
||||
for handle in self._project.tree.subTree(tHandle):
|
||||
if (
|
||||
(node := self._itemIndex[handle])
|
||||
and node.item.isDocumentLayout()
|
||||
|
||||
@@ -25,7 +25,6 @@ from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from PyQt5.QtCore import QSize
|
||||
from PyQt6.QtCore import QAbstractTableModel, QModelIndex, Qt
|
||||
from PyQt6.QtGui import QIcon, QPixmap
|
||||
|
||||
@@ -52,12 +51,11 @@ T_NodeData = str | QIcon | QPixmap | Qt.AlignmentFlag | None
|
||||
|
||||
class NovelModel(QAbstractTableModel):
|
||||
|
||||
__slots__ = ("_rows", "_header", "_more", "_columns", "_extraKey", "_extraLabel")
|
||||
__slots__ = ("_rows", "_more", "_columns", "_extraKey", "_extraLabel")
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self._rows: list[dict[int, T_NodeData]] = []
|
||||
self._header: list[QSize] = []
|
||||
self._more = SHARED.theme.getIcon("more_arrow")
|
||||
self._columns = 3
|
||||
self._extraKey = ""
|
||||
|
||||
@@ -69,10 +69,10 @@ class NWProjectData:
|
||||
self._initCounts = [0, 0]
|
||||
self._currCounts = [0, 0]
|
||||
self._lastHandle: dict[str, str | None] = {
|
||||
"editor": None,
|
||||
"viewer": None,
|
||||
"novelTree": None,
|
||||
"outline": None,
|
||||
"editor": None,
|
||||
"viewer": None,
|
||||
"novel": None,
|
||||
"outline": None,
|
||||
}
|
||||
self._autoReplace: dict[str, str] = {}
|
||||
self._titleFormat: dict[str, str] = {
|
||||
|
||||
@@ -53,8 +53,11 @@ class NovelSelector(QComboBox):
|
||||
##
|
||||
|
||||
@property
|
||||
def handle(self) -> str:
|
||||
return self.currentData()
|
||||
def handle(self) -> str | None:
|
||||
"""Return the selected handle, if any."""
|
||||
if tHandle := self.currentData():
|
||||
return tHandle
|
||||
return None
|
||||
|
||||
@property
|
||||
def firstHandle(self) -> str | None:
|
||||
|
||||
@@ -104,7 +104,7 @@ class GuiNovelView(QWidget):
|
||||
|
||||
def openProjectTasks(self) -> None:
|
||||
"""Run open project tasks."""
|
||||
lastNovel = SHARED.project.data.getLastHandle("novelTree")
|
||||
lastNovel = SHARED.project.data.getLastHandle("novel")
|
||||
if lastNovel and lastNovel not in SHARED.project.tree:
|
||||
lastNovel = SHARED.project.tree.findRoot(nwItemClass.NOVEL)
|
||||
|
||||
@@ -171,14 +171,6 @@ class GuiNovelView(QWidget):
|
||||
self.novelBar.buildNovelRootMenu()
|
||||
return
|
||||
|
||||
@pyqtSlot(str)
|
||||
def updateNovelItemMeta(self, tHandle: str) -> None:
|
||||
"""The meta data of a novel item has changed, and the tree item
|
||||
needs to be refreshed.
|
||||
"""
|
||||
# self.novelTree.refreshHandle(tHandle)
|
||||
return
|
||||
|
||||
|
||||
class GuiNovelToolBar(QWidget):
|
||||
|
||||
@@ -299,8 +291,10 @@ class GuiNovelToolBar(QWidget):
|
||||
|
||||
def setCurrentRoot(self, rootHandle: str | None) -> None:
|
||||
"""Set the current active root handle."""
|
||||
if rootHandle is None:
|
||||
rootHandle = self.novelValue.firstHandle
|
||||
self.novelValue.setHandle(rootHandle)
|
||||
SHARED.project.data.setLastHandle(rootHandle, "novelTree")
|
||||
SHARED.project.data.setLastHandle(rootHandle, "novel")
|
||||
self.novelView.setCurrentNovel(rootHandle)
|
||||
return
|
||||
|
||||
@@ -318,7 +312,11 @@ class GuiNovelToolBar(QWidget):
|
||||
refresh when content structure changes.
|
||||
"""
|
||||
self._active = state
|
||||
if self._active and self._refresh.get(self.novelValue.handle, False):
|
||||
if (
|
||||
self._active
|
||||
and (handle := self.novelValue.handle)
|
||||
and self._refresh.get(handle, False)
|
||||
):
|
||||
self._refreshNovelTree(self.novelValue.handle)
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user