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_EB = 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):)(.+?)(?<!\\)(\])"
|
||||
|
||||
# Pre-Compiled RegEx
|
||||
@@ -86,6 +86,8 @@ class nwShortcode:
|
||||
STRIKE_C = "[/s]"
|
||||
ULINE_O = "[u]"
|
||||
ULINE_C = "[/u]"
|
||||
MARK_O = "[m]"
|
||||
MARK_C = "[/m]"
|
||||
SUP_O = "[sup]"
|
||||
SUP_C = "[/sup]"
|
||||
SUB_O = "[sub]"
|
||||
|
||||
@@ -74,10 +74,12 @@ class Tokenizer(ABC):
|
||||
FMT_D_E = 6 # End strikeout
|
||||
FMT_U_B = 7 # Begin underline
|
||||
FMT_U_E = 8 # End underline
|
||||
FMT_SUP_B = 9 # Begin superscript
|
||||
FMT_SUP_E = 10 # End superscript
|
||||
FMT_SUB_B = 11 # Begin subscript
|
||||
FMT_SUB_E = 12 # End subscript
|
||||
FMT_M_B = 9 # Begin mark
|
||||
FMT_M_E = 10 # End mark
|
||||
FMT_SUP_B = 11 # Begin superscript
|
||||
FMT_SUP_E = 12 # End superscript
|
||||
FMT_SUB_B = 13 # Begin subscript
|
||||
FMT_SUB_E = 14 # End subscript
|
||||
|
||||
# Block Type
|
||||
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.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.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.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_STRIKE = 32
|
||||
SC_ULINE = 33
|
||||
SC_SUP = 34
|
||||
SC_SUB = 35
|
||||
SC_MARK = 34
|
||||
SC_SUP = 35
|
||||
SC_SUB = 36
|
||||
|
||||
# END Enum nwDocAction
|
||||
|
||||
|
||||
@@ -769,6 +769,8 @@ class GuiDocEditor(QPlainTextEdit):
|
||||
self._wrapSelection(nwShortcode.STRIKE_O, nwShortcode.STRIKE_C)
|
||||
elif action == nwDocAction.SC_ULINE:
|
||||
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:
|
||||
self._wrapSelection(nwShortcode.SUP_O, nwShortcode.SUP_C)
|
||||
elif action == nwDocAction.SC_SUB:
|
||||
@@ -2313,6 +2315,13 @@ class GuiDocToolBar(QWidget):
|
||||
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.setIconSize(iconSize)
|
||||
self.tbSuperscript.setToolTip(self.tr("Shortcode Superscript"))
|
||||
@@ -2339,6 +2348,7 @@ class GuiDocToolBar(QWidget):
|
||||
self.outerBox.addWidget(self.tbItalic)
|
||||
self.outerBox.addWidget(self.tbStrike)
|
||||
self.outerBox.addWidget(self.tbUnderline)
|
||||
self.outerBox.addWidget(self.tbMark)
|
||||
self.outerBox.addWidget(self.tbSuperscript)
|
||||
self.outerBox.addWidget(self.tbSubscript)
|
||||
self.outerBox.setContentsMargins(cM, cM, cM, cM)
|
||||
|
||||
@@ -672,6 +672,12 @@ class GuiMainMenu(QMenuBar):
|
||||
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
|
||||
self.aScSuper = self.mShortcodes.addAction(self.tr("Superscript"))
|
||||
self.aScSuper.triggered.connect(
|
||||
|
||||
Reference in New Issue
Block a user