From 96a5b9e4aefaec875e0595ce8ba5bcf61fa3edfa Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Sun, 4 Oct 2020 21:21:30 +0200 Subject: [PATCH] More descriptive spell check tooltip --- nw/gui/doceditor.py | 8 ++++++-- nw/gui/dochighlight.py | 4 ++-- nw/gui/statusbar.py | 6 +++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/nw/gui/doceditor.py b/nw/gui/doceditor.py index 1410c7b4..e231a1bb 100644 --- a/nw/gui/doceditor.py +++ b/nw/gui/doceditor.py @@ -455,7 +455,11 @@ class GuiDocEditor(QTextEdit): theLang = self.theProject.projLang self.theDict.setLanguage(theLang, self.theProject.projDict) - self.theParent.statusBar.setLanguage(self.theDict.spellLanguage) + + aLang, aName = self.theDict.describeDict() + self.theParent.statusBar.setLanguage( + aLang, "%s/%s" % (self.mainConf.spellTool, aName) + ) if not self.bigDoc: self.spellCheckDocument() @@ -802,7 +806,7 @@ class GuiDocEditor(QTextEdit): mnuHead = QAction("Spelling Suggestion(s)", mnuContext) mnuContext.addAction(mnuHead) - theSuggest = self.theDict.suggestWords(theWord) + theSuggest = self.theDict.suggestWords(theWord)[:15] if len(theSuggest) > 0: for aWord in theSuggest: mnuWord = QAction("%s %s" % (nwUnicode.U_ENDASH, aWord), mnuContext) diff --git a/nw/gui/dochighlight.py b/nw/gui/dochighlight.py index 9a8fcd46..05266b91 100644 --- a/nw/gui/dochighlight.py +++ b/nw/gui/dochighlight.py @@ -198,7 +198,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): # Build a QRegExp for spell checker # Include additional characters that the highlighter should # consider to be word separators - wordSep = r"-_\+/" + wordSep = r"\-_\+/" wordSep += nwUnicode.U_ENDASH wordSep += nwUnicode.U_EMDASH self.spellRx = QRegularExpression(r"\b[^\s"+wordSep+r"]+\b") @@ -314,7 +314,7 @@ class GuiDocHighlighter(QSyntaxHighlighter): while rxSpell.hasNext(): rxMatch = rxSpell.next() if not self.theDict.checkWord(rxMatch.captured(0)): - if rxMatch.captured(0).isupper(): + if rxMatch.captured(0).isupper() or rxMatch.captured(0).isnumeric(): continue xPos = rxMatch.capturedStart(0) xLen = rxMatch.capturedLength(0) diff --git a/nw/gui/statusbar.py b/nw/gui/statusbar.py index 914fedae..c43c3f6f 100644 --- a/nw/gui/statusbar.py +++ b/nw/gui/statusbar.py @@ -152,13 +152,17 @@ class GuiMainStatus(QStatusBar): qApp.processEvents() return - def setLanguage(self, theLanguage): + def setLanguage(self, theLanguage, theProvider=""): """Set the language code for the spell checker. """ if theLanguage is None: self.langText.setText("None") + self.langText.setToolTip("") else: self.langText.setText(NWSpellCheck.expandLanguage(theLanguage)) + self.langText.setToolTip( + "Provider: %s" % (theProvider if theProvider else "unknown") + ) return def setProjectStatus(self, isChanged):