Move all handling of spell check instance to shared class

This commit is contained in:
Veronica Berglyd Olsen
2023-08-24 22:33:53 +02:00
parent b54f81355a
commit a72c824d8b
7 changed files with 23 additions and 45 deletions
+16 -1
View File
@@ -65,6 +65,10 @@ class SharedData(QObject):
self._idleRefTime = time()
return
##
# Properties
##
@property
def mainGui(self) -> GuiMain:
"""Return the Main GUI instance."""
@@ -141,7 +145,7 @@ class SharedData(QObject):
self._lockedBy = self.project.lockStatus
self._resetProject()
self.spelling.loadUserWordList()
self.updateSpellCheckLanguage(reload=True)
self._resetIdleTimer()
return status
@@ -160,6 +164,16 @@ class SharedData(QObject):
self._resetIdleTimer()
return
def updateSpellCheckLanguage(self, reload: bool = False) -> None:
"""Update the active spell check langauge from settings."""
from novelwriter import CONFIG
language = self.project.data.spellLang or CONFIG.spellLanguage
if language != self.spelling.spellLanguage or reload:
self.spelling.setLanguage(language)
_, provider = self.spelling.describeDict()
self.spellLanguageChanged.emit(language, provider)
return
def updateIdleTime(self, currTime: float, userIdle: bool) -> None:
"""Update the idle time record. If the userIdle flag is True,
the user idle counter is updated with the time difference since
@@ -239,6 +253,7 @@ class SharedData(QObject):
del self._spelling
self._project = NWProject()
self._spelling = NWSpellEnchant(self._project)
self.updateSpellCheckLanguage()
return
def _resetIdleTimer(self) -> None: