Refresh novel view on count method change

This commit is contained in:
Veronica Berglyd Olsen
2025-04-29 23:45:05 +02:00
parent 53e60c7b59
commit 6d2e9d8a04
4 changed files with 15 additions and 7 deletions
+10 -5
View File
@@ -80,6 +80,7 @@ class GuiNovelView(QWidget):
# Function Mappings
self.setActive = self.novelBar.setActive
self.getSelectedHandle = self.novelTree.getSelectedHandle
self.refreshCurrentTree = self.novelBar.forceRefreshNovelTree
return
@@ -209,7 +210,7 @@ class GuiNovelToolBar(QWidget):
# Refresh Button
self.tbRefresh = NIconToolButton(self, iSz)
self.tbRefresh.setToolTip(self.tr("Refresh"))
self.tbRefresh.clicked.connect(self._forceRefreshNovelTree)
self.tbRefresh.clicked.connect(self.forceRefreshNovelTree)
# More Options Menu
self.mMore = QMenu(self)
@@ -274,7 +275,7 @@ class GuiNovelToolBar(QWidget):
self.novelValue.updateTheme()
self.tbNovel.setVisible(self.novelValue.count() > 1)
self._forceRefreshNovelTree()
self.forceRefreshNovelTree()
return
@@ -305,7 +306,7 @@ class GuiNovelToolBar(QWidget):
self.aLastCol[colType].setChecked(True)
self.novelView.novelTree.setLastColType(colType)
if doRefresh:
self._forceRefreshNovelTree()
self.forceRefreshNovelTree()
self.novelView.novelTree.resizeColumns()
return
@@ -323,11 +324,11 @@ class GuiNovelToolBar(QWidget):
return
##
# Private Slots
# Public Slots
##
@pyqtSlot()
def _forceRefreshNovelTree(self) -> None:
def forceRefreshNovelTree(self) -> None:
"""Rebuild the current tree."""
if tHandle := self.novelValue.handle:
self.novelView.setCurrentNovel(tHandle)
@@ -335,6 +336,10 @@ class GuiNovelToolBar(QWidget):
self._refresh[tHandle] = False
return
##
# Private Slots
##
@pyqtSlot(str)
def _refreshNovelTree(self, tHandle: str) -> None:
"""Refresh or schedule refresh of a novel tree."""
+3 -1
View File
@@ -1048,8 +1048,10 @@ class GuiMain(QMainWindow):
self.initMain()
self.saveDocument()
if tree:
if tree and not theme:
# These are also updated by a theme refresh
SHARED.project.tree.refreshAllItems()
self.novelView.refreshCurrentTree()
if theme:
SHARED.theme.loadTheme()
+1
View File
@@ -184,6 +184,7 @@ def testGuiMain_UpdateTheme(qtbot, nwGUI):
CONFIG.guiSyntax = "default_dark"
mainTheme.loadTheme()
mainTheme.loadSyntax()
nwGUI._processConfigChanges(False, True, False, False)
nwGUI._processConfigChanges(True, True, True, True)
syntax = SHARED.theme.syntaxTheme
+1 -1
View File
@@ -93,7 +93,7 @@ def testGuiNovelView_Content(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
assert novelTree._getModel() is None
# Reload
novelBar._forceRefreshNovelTree()
novelView.refreshCurrentTree()
model = novelTree._getModel()
assert isinstance(model, NovelModel)