7357: Adding link to a "Html code" note using the "Link" button has no effect

This commit is contained in:
Doug Blank 2014-01-07 10:48:56 -05:00
parent dfc78901c4
commit 0ff5aa88ad
2 changed files with 15 additions and 6 deletions

View File

@ -107,7 +107,7 @@ class DocBackend(object):
SUPPORTED_MARKUP = [] SUPPORTED_MARKUP = []
ESCAPE_FUNC = lambda x: noescape ESCAPE_FUNC = lambda: noescape
#Map between styletypes and internally used values. This map is needed #Map between styletypes and internally used values. This map is needed
# to make TextDoc officially independant of gen.lib.styledtexttag # to make TextDoc officially independant of gen.lib.styledtexttag
STYLETYPE_MAP = { STYLETYPE_MAP = {
@ -265,7 +265,7 @@ class DocBackend(object):
return None return None
return ('', '') return ('', '')
def add_markup_from_styled(self, text, s_tags, split=''): def add_markup_from_styled(self, text, s_tags, split='', escape=True):
""" """
Input is plain text, output is text with markup added according to the Input is plain text, output is text with markup added according to the
s_tags which are assumed to be styledtexttags. s_tags which are assumed to be styledtexttags.
@ -289,6 +289,9 @@ class DocBackend(object):
returned is <b>text</b><i><b> here</b> not</i> returned is <b>text</b><i><b> here</b> not</i>
overwrite this method if this complexity is not needed. overwrite this method if this complexity is not needed.
""" """
if not escape:
escape_func = self.ESCAPE_FUNC
self.ESCAPE_FUNC = lambda: (lambda text: text)
#unicode text must be sliced correctly #unicode text must be sliced correctly
text = cuni(text) text = cuni(text)
FIRST = 0 FIRST = 0
@ -380,7 +383,8 @@ class DocBackend(object):
otext += opentag[1] otext += opentag[1]
else: else:
otext += self.ESCAPE_FUNC()(text[start:end]) otext += self.ESCAPE_FUNC()(text[start:end])
if not escape:
self.ESCAPE_FUNC = escape_func
return otext return otext
def format_link(self, value): def format_link(self, value):

View File

@ -908,12 +908,17 @@ class BasePage(object):
return '' return ''
s_tags = styledtext.get_tags() s_tags = styledtext.get_tags()
markuptext = self._backend.add_markup_from_styled(text, s_tags,
split='\n')
htmllist = Html("div", class_="grampsstylednote") htmllist = Html("div", class_="grampsstylednote")
if contains_html: if contains_html:
htmllist += text markuptext = self._backend.add_markup_from_styled(text,
s_tags,
split='\n',
escape=False)
htmllist += markuptext
else: else:
markuptext = self._backend.add_markup_from_styled(text,
s_tags,
split='\n')
linelist = [] linelist = []
linenb = 1 linenb = 1
for line in markuptext.split('\n'): for line in markuptext.split('\n'):