Add text highlight mark format
This commit is contained in:
@@ -67,7 +67,7 @@ class nwRegEx:
|
|||||||
FMT_EI = r"(?<![\w\\])(_)(?![\s_])(.+?)(?<![\s\\])(\1)(?!\w)"
|
FMT_EI = r"(?<![\w\\])(_)(?![\s_])(.+?)(?<![\s\\])(\1)(?!\w)"
|
||||||
FMT_EB = r"(?<![\w\\])([\*]{2})(?![\s\*])(.+?)(?<![\s\\])(\1)(?!\w)"
|
FMT_EB = r"(?<![\w\\])([\*]{2})(?![\s\*])(.+?)(?<![\s\\])(\1)(?!\w)"
|
||||||
FMT_ST = r"(?<![\w\\])([~]{2})(?![\s~])(.+?)(?<![\s\\])(\1)(?!\w)"
|
FMT_ST = r"(?<![\w\\])([~]{2})(?![\s~])(.+?)(?<![\s\\])(\1)(?!\w)"
|
||||||
FMT_SC = r"(?i)(?<!\\)(\[[\/\!]?(?:i|b|s|u|sup|sub)\])"
|
FMT_SC = r"(?i)(?<!\\)(\[[\/\!]?(?:i|b|s|u|m|sup|sub)\])"
|
||||||
FMT_SV = r"(?<!\\)(\[(?i)(?:fn|footnote):)(.+?)(?<!\\)(\])"
|
FMT_SV = r"(?<!\\)(\[(?i)(?:fn|footnote):)(.+?)(?<!\\)(\])"
|
||||||
|
|
||||||
# Pre-Compiled RegEx
|
# Pre-Compiled RegEx
|
||||||
@@ -86,6 +86,8 @@ class nwShortcode:
|
|||||||
STRIKE_C = "[/s]"
|
STRIKE_C = "[/s]"
|
||||||
ULINE_O = "[u]"
|
ULINE_O = "[u]"
|
||||||
ULINE_C = "[/u]"
|
ULINE_C = "[/u]"
|
||||||
|
MARK_O = "[m]"
|
||||||
|
MARK_C = "[/m]"
|
||||||
SUP_O = "[sup]"
|
SUP_O = "[sup]"
|
||||||
SUP_C = "[/sup]"
|
SUP_C = "[/sup]"
|
||||||
SUB_O = "[sub]"
|
SUB_O = "[sub]"
|
||||||
|
|||||||
@@ -74,10 +74,12 @@ class Tokenizer(ABC):
|
|||||||
FMT_D_E = 6 # End strikeout
|
FMT_D_E = 6 # End strikeout
|
||||||
FMT_U_B = 7 # Begin underline
|
FMT_U_B = 7 # Begin underline
|
||||||
FMT_U_E = 8 # End underline
|
FMT_U_E = 8 # End underline
|
||||||
FMT_SUP_B = 9 # Begin superscript
|
FMT_M_B = 9 # Begin mark
|
||||||
FMT_SUP_E = 10 # End superscript
|
FMT_M_E = 10 # End mark
|
||||||
FMT_SUB_B = 11 # Begin subscript
|
FMT_SUP_B = 11 # Begin superscript
|
||||||
FMT_SUB_E = 12 # End subscript
|
FMT_SUP_E = 12 # End superscript
|
||||||
|
FMT_SUB_B = 13 # Begin subscript
|
||||||
|
FMT_SUB_E = 14 # End subscript
|
||||||
|
|
||||||
# Block Type
|
# Block Type
|
||||||
T_EMPTY = 1 # Empty line (new paragraph)
|
T_EMPTY = 1 # Empty line (new paragraph)
|
||||||
@@ -187,6 +189,7 @@ class Tokenizer(ABC):
|
|||||||
nwShortcode.BOLD_O: self.FMT_B_B, nwShortcode.BOLD_C: self.FMT_B_E,
|
nwShortcode.BOLD_O: self.FMT_B_B, nwShortcode.BOLD_C: self.FMT_B_E,
|
||||||
nwShortcode.STRIKE_O: self.FMT_D_B, nwShortcode.STRIKE_C: self.FMT_D_E,
|
nwShortcode.STRIKE_O: self.FMT_D_B, nwShortcode.STRIKE_C: self.FMT_D_E,
|
||||||
nwShortcode.ULINE_O: self.FMT_U_B, nwShortcode.ULINE_C: self.FMT_U_E,
|
nwShortcode.ULINE_O: self.FMT_U_B, nwShortcode.ULINE_C: self.FMT_U_E,
|
||||||
|
nwShortcode.MARK_O: self.FMT_M_B, nwShortcode.MARK_C: self.FMT_M_E,
|
||||||
nwShortcode.SUP_O: self.FMT_SUP_B, nwShortcode.SUP_C: self.FMT_SUP_E,
|
nwShortcode.SUP_O: self.FMT_SUP_B, nwShortcode.SUP_C: self.FMT_SUP_E,
|
||||||
nwShortcode.SUB_O: self.FMT_SUB_B, nwShortcode.SUB_C: self.FMT_SUB_E,
|
nwShortcode.SUB_O: self.FMT_SUB_B, nwShortcode.SUB_C: self.FMT_SUB_E,
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -124,8 +124,9 @@ class nwDocAction(Enum):
|
|||||||
SC_BOLD = 31
|
SC_BOLD = 31
|
||||||
SC_STRIKE = 32
|
SC_STRIKE = 32
|
||||||
SC_ULINE = 33
|
SC_ULINE = 33
|
||||||
SC_SUP = 34
|
SC_MARK = 34
|
||||||
SC_SUB = 35
|
SC_SUP = 35
|
||||||
|
SC_SUB = 36
|
||||||
|
|
||||||
# END Enum nwDocAction
|
# END Enum nwDocAction
|
||||||
|
|
||||||
|
|||||||
@@ -769,6 +769,8 @@ class GuiDocEditor(QPlainTextEdit):
|
|||||||
self._wrapSelection(nwShortcode.STRIKE_O, nwShortcode.STRIKE_C)
|
self._wrapSelection(nwShortcode.STRIKE_O, nwShortcode.STRIKE_C)
|
||||||
elif action == nwDocAction.SC_ULINE:
|
elif action == nwDocAction.SC_ULINE:
|
||||||
self._wrapSelection(nwShortcode.ULINE_O, nwShortcode.ULINE_C)
|
self._wrapSelection(nwShortcode.ULINE_O, nwShortcode.ULINE_C)
|
||||||
|
elif action == nwDocAction.SC_MARK:
|
||||||
|
self._wrapSelection(nwShortcode.MARK_O, nwShortcode.MARK_C)
|
||||||
elif action == nwDocAction.SC_SUP:
|
elif action == nwDocAction.SC_SUP:
|
||||||
self._wrapSelection(nwShortcode.SUP_O, nwShortcode.SUP_C)
|
self._wrapSelection(nwShortcode.SUP_O, nwShortcode.SUP_C)
|
||||||
elif action == nwDocAction.SC_SUB:
|
elif action == nwDocAction.SC_SUB:
|
||||||
@@ -2313,6 +2315,13 @@ class GuiDocToolBar(QWidget):
|
|||||||
lambda: self.requestDocAction.emit(nwDocAction.SC_ULINE)
|
lambda: self.requestDocAction.emit(nwDocAction.SC_ULINE)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.tbMark = QToolButton(self)
|
||||||
|
self.tbMark.setIconSize(iconSize)
|
||||||
|
self.tbMark.setToolTip(self.tr("Shortcode Mark"))
|
||||||
|
self.tbMark.clicked.connect(
|
||||||
|
lambda: self.requestDocAction.emit(nwDocAction.SC_MARK)
|
||||||
|
)
|
||||||
|
|
||||||
self.tbSuperscript = QToolButton(self)
|
self.tbSuperscript = QToolButton(self)
|
||||||
self.tbSuperscript.setIconSize(iconSize)
|
self.tbSuperscript.setIconSize(iconSize)
|
||||||
self.tbSuperscript.setToolTip(self.tr("Shortcode Superscript"))
|
self.tbSuperscript.setToolTip(self.tr("Shortcode Superscript"))
|
||||||
@@ -2339,6 +2348,7 @@ class GuiDocToolBar(QWidget):
|
|||||||
self.outerBox.addWidget(self.tbItalic)
|
self.outerBox.addWidget(self.tbItalic)
|
||||||
self.outerBox.addWidget(self.tbStrike)
|
self.outerBox.addWidget(self.tbStrike)
|
||||||
self.outerBox.addWidget(self.tbUnderline)
|
self.outerBox.addWidget(self.tbUnderline)
|
||||||
|
self.outerBox.addWidget(self.tbMark)
|
||||||
self.outerBox.addWidget(self.tbSuperscript)
|
self.outerBox.addWidget(self.tbSuperscript)
|
||||||
self.outerBox.addWidget(self.tbSubscript)
|
self.outerBox.addWidget(self.tbSubscript)
|
||||||
self.outerBox.setContentsMargins(cM, cM, cM, cM)
|
self.outerBox.setContentsMargins(cM, cM, cM, cM)
|
||||||
|
|||||||
@@ -672,6 +672,12 @@ class GuiMainMenu(QMenuBar):
|
|||||||
lambda: self.requestDocAction.emit(nwDocAction.SC_ULINE)
|
lambda: self.requestDocAction.emit(nwDocAction.SC_ULINE)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Shortcode Mark
|
||||||
|
self.aScMark = self.mShortcodes.addAction(self.tr("Mark"))
|
||||||
|
self.aScMark.triggered.connect(
|
||||||
|
lambda: self.requestDocAction.emit(nwDocAction.SC_MARK)
|
||||||
|
)
|
||||||
|
|
||||||
# Shortcode Superscript
|
# Shortcode Superscript
|
||||||
self.aScSuper = self.mShortcodes.addAction(self.tr("Superscript"))
|
self.aScSuper = self.mShortcodes.addAction(self.tr("Superscript"))
|
||||||
self.aScSuper.triggered.connect(
|
self.aScSuper.triggered.connect(
|
||||||
|
|||||||
Reference in New Issue
Block a user