Add progress bar functions in shared class and use it for index rebuild
This commit is contained in:
@@ -147,14 +147,17 @@ class Index:
|
|||||||
def rebuild(self) -> None:
|
def rebuild(self) -> None:
|
||||||
"""Rebuild the entire index from scratch."""
|
"""Rebuild the entire index from scratch."""
|
||||||
self.clear()
|
self.clear()
|
||||||
|
SHARED.initMainProgress(len(self._project.tree) - 1)
|
||||||
for nwItem in self._project.tree:
|
for nwItem in self._project.tree:
|
||||||
if nwItem.isFileType():
|
if nwItem.isFileType():
|
||||||
text = self._project.storage.getDocumentText(nwItem.itemHandle)
|
text = self._project.storage.getDocumentText(nwItem.itemHandle)
|
||||||
self.scanText(nwItem.itemHandle, text, blockSignal=True)
|
self.scanText(nwItem.itemHandle, text, blockSignal=True)
|
||||||
|
SHARED.incMainProgress()
|
||||||
self._indexBroken = False
|
self._indexBroken = False
|
||||||
SHARED.emitIndexAvailable(self._project)
|
SHARED.emitIndexAvailable(self._project)
|
||||||
for tHandle in self._novelModels:
|
for tHandle in self._novelModels:
|
||||||
self.refreshNovelModel(tHandle)
|
self.refreshNovelModel(tHandle)
|
||||||
|
SHARED.clearMainProgress()
|
||||||
return
|
return
|
||||||
|
|
||||||
def deleteHandle(self, tHandle: str) -> None:
|
def deleteHandle(self, tHandle: str) -> None:
|
||||||
|
|||||||
+10
-4
@@ -269,10 +269,11 @@ class SharedData(QObject):
|
|||||||
self._idleRefTime = currTime
|
self._idleRefTime = currTime
|
||||||
return
|
return
|
||||||
|
|
||||||
def startMainProgress(self, maximum: int) -> None:
|
def initMainProgress(self, maximum: int) -> None:
|
||||||
"""Start a session for the main progress bar."""
|
"""Start a session for the main progress bar."""
|
||||||
if gui := self._gui:
|
if gui := self._gui:
|
||||||
gui.mainProgress.setMaximum(maximum)
|
gui.mainProgress.setMaximum(maximum)
|
||||||
|
gui.mainProgress.setValue(0)
|
||||||
return
|
return
|
||||||
|
|
||||||
def updateMainProgress(self, value: int) -> None:
|
def updateMainProgress(self, value: int) -> None:
|
||||||
@@ -281,11 +282,16 @@ class SharedData(QObject):
|
|||||||
gui.mainProgress.setValue(value)
|
gui.mainProgress.setValue(value)
|
||||||
return
|
return
|
||||||
|
|
||||||
def clearMainProgress(self) -> None:
|
def incMainProgress(self) -> None:
|
||||||
|
"""Increment the value for the main progress bar."""
|
||||||
|
if gui := self._gui:
|
||||||
|
gui.mainProgress.setValue(gui.mainProgress.value() + 1)
|
||||||
|
return
|
||||||
|
|
||||||
|
def clearMainProgress(self, delay: float = 1.0) -> None:
|
||||||
"""Clear the main progress bar."""
|
"""Clear the main progress bar."""
|
||||||
if gui := self._gui:
|
if gui := self._gui:
|
||||||
gui.mainProgress.setMaximum(100)
|
QTimer.singleShot(int(delay*1000), gui.mainProgress.reset)
|
||||||
gui.mainProgress.setValue(0)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def newStatusMessage(self, message: str) -> None:
|
def newStatusMessage(self, message: str) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user