Refresh novel view on count method change
This commit is contained in:
@@ -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."""
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user