Add back extra column content
This commit is contained in:
@@ -30,7 +30,7 @@ from PyQt6.QtCore import QAbstractTableModel, QModelIndex, Qt
|
||||
from PyQt6.QtGui import QIcon, QPixmap
|
||||
|
||||
from novelwriter import SHARED
|
||||
from novelwriter.constants import nwKeyWords, nwStyles
|
||||
from novelwriter.constants import nwKeyWords, nwLabels, nwStyles, trConst
|
||||
from novelwriter.core.indexdata import IndexHeading, IndexNode
|
||||
from novelwriter.enum import nwNovelExtra
|
||||
from novelwriter.error import logException
|
||||
@@ -52,7 +52,7 @@ T_NodeData = str | tuple[str, str] | QIcon | QPixmap | Qt.AlignmentFlag | None
|
||||
|
||||
class NovelModel(QAbstractTableModel):
|
||||
|
||||
__slots__ = ("_rows", "_header", "_more", "_columns", "_extra")
|
||||
__slots__ = ("_rows", "_header", "_more", "_columns", "_extraKey", "_extraLabel")
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
@@ -60,7 +60,8 @@ class NovelModel(QAbstractTableModel):
|
||||
self._header: list[QSize] = []
|
||||
self._more = SHARED.theme.getIcon("more_arrow")
|
||||
self._columns = 3
|
||||
self._extra = ""
|
||||
self._extraKey = ""
|
||||
self._extraLabel = ""
|
||||
return
|
||||
|
||||
def __del__(self) -> None: # pragma: no cover
|
||||
@@ -85,16 +86,20 @@ class NovelModel(QAbstractTableModel):
|
||||
match extra:
|
||||
case nwNovelExtra.HIDDEN:
|
||||
self._columns = 3
|
||||
self._extra = ""
|
||||
self._extraKey = ""
|
||||
self._extraLabel = ""
|
||||
case nwNovelExtra.POV:
|
||||
self._columns = 4
|
||||
self._extra = nwKeyWords.POV_KEY
|
||||
self._extraKey = nwKeyWords.POV_KEY
|
||||
self._extraLabel = trConst(nwLabels.KEY_NAME[nwKeyWords.POV_KEY])
|
||||
case nwNovelExtra.FOCUS:
|
||||
self._columns = 4
|
||||
self._extra = nwKeyWords.FOCUS_KEY
|
||||
self._extraKey = nwKeyWords.FOCUS_KEY
|
||||
self._extraLabel = trConst(nwLabels.KEY_NAME[nwKeyWords.FOCUS_KEY])
|
||||
case nwNovelExtra.PLOT:
|
||||
self._columns = 4
|
||||
self._extra = nwKeyWords.PLOT_KEY
|
||||
self._extraKey = nwKeyWords.PLOT_KEY
|
||||
self._extraLabel = trConst(nwLabels.KEY_NAME[nwKeyWords.PLOT_KEY])
|
||||
return
|
||||
|
||||
##
|
||||
@@ -209,6 +214,7 @@ class NovelModel(QAbstractTableModel):
|
||||
"""Generate a cache entry."""
|
||||
iLevel = nwStyles.H_LEVEL.get(heading.level, 0)
|
||||
data = {}
|
||||
data[C_FACTOR*0 | R_TIP] = heading.title
|
||||
data[C_FACTOR*0 | R_TEXT] = heading.title
|
||||
data[C_FACTOR*0 | R_ICON] = SHARED.theme.getHeaderDecoration(iLevel)
|
||||
data[C_FACTOR*1 | R_TEXT] = f"{heading.mainCount:n}"
|
||||
@@ -216,8 +222,10 @@ class NovelModel(QAbstractTableModel):
|
||||
if self._columns == 3:
|
||||
data[C_FACTOR*2 | R_ICON] = self._more
|
||||
else:
|
||||
data[C_FACTOR*2 | R_TIP] = "Hello World"
|
||||
data[C_FACTOR*2 | R_TEXT] = "Hello World"
|
||||
if self._extraKey and (refs := heading.getReferencesByKeyword(self._extraKey)):
|
||||
text = ", ".join(refs)
|
||||
data[C_FACTOR*2 | R_TEXT] = text
|
||||
data[C_FACTOR*2 | R_TIP] = f"<b>{self._extraLabel}:</b> {text}"
|
||||
data[C_FACTOR*3 | R_ICON] = self._more
|
||||
data[R_HANDLE] = handle
|
||||
data[R_KEY] = key
|
||||
|
||||
Reference in New Issue
Block a user