Block adding spaces before colon (French language feature) in certain meta data cases
This commit is contained in:
@@ -1982,12 +1982,14 @@ class GuiDocEditor(QTextEdit):
|
|||||||
|
|
||||||
tCheck = tInsert
|
tCheck = tInsert
|
||||||
if tCheck in self.mainConf.fmtPadBefore:
|
if tCheck in self.mainConf.fmtPadBefore:
|
||||||
nDelete = max(nDelete, 1)
|
if self.allowSpaceBeforeColon(theText, tCheck):
|
||||||
tInsert = self._typPadChar + tInsert
|
nDelete = max(nDelete, 1)
|
||||||
|
tInsert = self._typPadChar + tInsert
|
||||||
|
|
||||||
if tCheck in self.mainConf.fmtPadAfter:
|
if tCheck in self.mainConf.fmtPadAfter:
|
||||||
nDelete = max(nDelete, 1)
|
if self.allowSpaceBeforeColon(theText, tCheck):
|
||||||
tInsert = tInsert + self._typPadChar
|
nDelete = max(nDelete, 1)
|
||||||
|
tInsert = tInsert + self._typPadChar
|
||||||
|
|
||||||
if nDelete > 0:
|
if nDelete > 0:
|
||||||
theCursor.movePosition(QTextCursor.Left, QTextCursor.KeepAnchor, nDelete)
|
theCursor.movePosition(QTextCursor.Left, QTextCursor.KeepAnchor, nDelete)
|
||||||
@@ -1995,6 +1997,20 @@ class GuiDocEditor(QTextEdit):
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _allowSpaceBeforeColon(text, char):
|
||||||
|
"""Special checker function only used by the insert space
|
||||||
|
feature for French, Spanish, etc, so it doesn't insert a
|
||||||
|
sapce before colons in meta data lines.
|
||||||
|
"""
|
||||||
|
if char == ":" and len(text) > 1:
|
||||||
|
if text[0] == "@":
|
||||||
|
return False
|
||||||
|
if text[0] == "%":
|
||||||
|
if text[1:].lstrip()[:9].lower() == "synopsis:":
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def _updateHeaders(self, checkPos=False, checkLevel=False):
|
def _updateHeaders(self, checkPos=False, checkLevel=False):
|
||||||
"""Update the headers record and return True if anything
|
"""Update the headers record and return True if anything
|
||||||
changed, if a check flag was provided.
|
changed, if a check flag was provided.
|
||||||
|
|||||||
@@ -1189,7 +1189,7 @@ def testGuiEditor_Tags(qtbot, monkeypatch, nwGUI, nwMinimal, ipsumText):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.gui
|
@pytest.mark.gui
|
||||||
def testGuiEditor_WordCounters(qtbot, monkeypatch, caplog, nwGUI, nwMinimal, ipsumText):
|
def testGuiEditor_WordCounters(qtbot, monkeypatch, nwGUI, nwMinimal, ipsumText):
|
||||||
"""Test saving text from the editor.
|
"""Test saving text from the editor.
|
||||||
"""
|
"""
|
||||||
# Block message box
|
# Block message box
|
||||||
@@ -1488,3 +1488,30 @@ def testGuiEditor_Search(qtbot, monkeypatch, nwGUI, nwLipsum):
|
|||||||
# qtbot.stopForInteraction()
|
# qtbot.stopForInteraction()
|
||||||
|
|
||||||
# END Test testGuiEditor_Search
|
# END Test testGuiEditor_Search
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.gui
|
||||||
|
def testGuiEditor_StaticMethods():
|
||||||
|
"""Test the document editor's static methods.
|
||||||
|
"""
|
||||||
|
# Check the method that decides if it is allowed to insert a space
|
||||||
|
# before a colon using the French, Spanish, etc language feature
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("", "") is True
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("", ":") is True
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("some text", ":") is True
|
||||||
|
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("@:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("@>", ">") is True
|
||||||
|
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%", ":") is True
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%:", ":") is True
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%Synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("% synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("% Synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("% synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("% Synopsis:", ":") is False
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%synopsis :", ":") is True
|
||||||
|
assert GuiDocEditor._allowSpaceBeforeColon("%Synopsis :", ":") is True
|
||||||
|
|
||||||
|
# END Test testGuiEditor_MinorMethods
|
||||||
|
|||||||
Reference in New Issue
Block a user