We should read back the language dictionary setting from the spell class before updating status bar

This commit is contained in:
Veronica K. B. Olsen
2019-11-15 21:39:06 +01:00
parent 653c7bbe80
commit e841e0211a
5 changed files with 14 additions and 7 deletions
+1 -1
View File
@@ -315,7 +315,7 @@ class GuiDocEditor(QTextEdit):
def setDictionaries(self):
self.theDict.setLanguage(self.mainConf.spellLanguage, self.theProject.projDict)
self.theParent.statusBar.setLanguage(self.mainConf.spellLanguage)
self.theParent.statusBar.setLanguage(self.theDict.spellLanguage)
return True
def setSpellCheck(self, theMode):
+4 -1
View File
@@ -116,7 +116,10 @@ class GuiMainStatus(QStatusBar):
return
def setLanguage(self, theLanguage):
self.langBox.setText(NWSpellCheck.expandLanguage(theLanguage))
if theLanguage is None:
self.langBox.setText("None")
else:
self.langBox.setText(NWSpellCheck.expandLanguage(theLanguage))
return
def setProjectStatus(self, isChanged):
+4 -4
View File
@@ -29,6 +29,7 @@ class NWSpellCheck():
def __init__(self):
self.mainConf = nw.CONFIG
self.projectDict = None
self.spellLanguage = None
return
def setLanguage(self, theLang, projectDict=None):
@@ -45,11 +46,10 @@ class NWSpellCheck():
newWord = newWord.strip()
self.PROJW.append(newWord)
try:
with open(self.projectDict,mode="w+",encoding="utf-8") as outFile:
for pWord in self.PROJW:
outFile.write("%s\n" % pWord)
with open(self.projectDict,mode="a+",encoding="utf-8") as outFile:
outFile.write("%s\n" % newWord)
except Exception as e:
logger.error("Failed to write to project word list at %s" % str(self.projectDict))
logger.error("Failed to add word to project word list %s" % str(self.projectDict))
logger.error(str(e))
return
+2
View File
@@ -32,10 +32,12 @@ class NWSpellEnchant(NWSpellCheck):
"""
try:
self.theDict = enchant.Dict(theLang)
self.spellLanguage = theLang
logger.debug("Enchant spell checking for language %s loaded" % theLang)
except:
logger.error("Failed to load enchant spell checking for language %s" % theLang)
self.theDict = NWSpellEnchantDummy()
self.spellLanguage = None
self._readProjectDictionary(projectDict)
for pWord in self.PROJW:
+3 -1
View File
@@ -41,9 +41,11 @@ class NWSpellSimple(NWSpellCheck):
self.WORDS.append(theLine.strip().lower())
logger.debug("Spell check word list for language %s loaded" % theLang)
logger.debug("Word list contains %d words" % len(self.WORDS))
self.spellLanguage = theLang
except Exception as e:
logger.error("Failed to load spell check word list for language %s" % theLang)
logger.error(str(e))
self.spellLanguage = None
self._readProjectDictionary(projectDict)
for pWord in self.PROJW:
@@ -104,7 +106,7 @@ class NWSpellSimple(NWSpellCheck):
if theBits[1] != ".dict":
continue
spName = "%s [nternal]" % self.expandLanguage(theBits[0])
spName = "%s [Internal]" % self.expandLanguage(theBits[0])
retList.append((theBits[0], spName))
return retList