fix html tag handling. Fixes #4480
This commit is contained in:
parent
daad95ce0b
commit
8a00cf61d8
1 changed files with 21 additions and 6 deletions
|
@ -230,7 +230,10 @@ class MessageTextView(gtk.TextView):
|
||||||
return text
|
return text
|
||||||
|
|
||||||
for tag in iter.get_toggled_tags(True):
|
for tag in iter.get_toggled_tags(True):
|
||||||
texte += self.begin_tags[tag.get_property('name')]
|
tag_name = tag.get_property('name')
|
||||||
|
if tag_name not in self.begin_tags:
|
||||||
|
continue
|
||||||
|
texte += self.begin_tags[tag_name]
|
||||||
modified = True
|
modified = True
|
||||||
while (iter.forward_to_tag_toggle(None) and not iter.is_end()):
|
while (iter.forward_to_tag_toggle(None) and not iter.is_end()):
|
||||||
modified = True
|
modified = True
|
||||||
|
@ -240,14 +243,23 @@ class MessageTextView(gtk.TextView):
|
||||||
old_tags = []
|
old_tags = []
|
||||||
end_tags = []
|
end_tags = []
|
||||||
for tag in iter.get_toggled_tags(True):
|
for tag in iter.get_toggled_tags(True):
|
||||||
new_tags.append(tag.get_property('name'))
|
tag_name = tag.get_property('name')
|
||||||
|
if tag_name not in self.begin_tags:
|
||||||
|
continue
|
||||||
|
new_tags.append(tag_name)
|
||||||
|
|
||||||
for tag in iter.get_tags():
|
for tag in iter.get_tags():
|
||||||
if tag.get_property('name') not in new_tags:
|
tag_name = tag.get_property('name')
|
||||||
old_tags.append(tag.get_property('name'))
|
if tag_name not in self.begin_tags or tag_name not in self.end_tags:
|
||||||
|
continue
|
||||||
|
if tag_name not in new_tags:
|
||||||
|
old_tags.append(tag_name)
|
||||||
|
|
||||||
for tag in iter.get_toggled_tags(False):
|
for tag in iter.get_toggled_tags(False):
|
||||||
end_tags.append(tag.get_property('name'))
|
tag_name = tag.get_property('name')
|
||||||
|
if tag_name not in self.end_tags:
|
||||||
|
continue
|
||||||
|
end_tags.append(tag_name)
|
||||||
|
|
||||||
for tag in old_tags:
|
for tag in old_tags:
|
||||||
texte += self.end_tags[tag]
|
texte += self.end_tags[tag]
|
||||||
|
@ -260,7 +272,10 @@ class MessageTextView(gtk.TextView):
|
||||||
|
|
||||||
texte += xhtml_special(buffer.get_text(old, buffer.get_end_iter()))
|
texte += xhtml_special(buffer.get_text(old, buffer.get_end_iter()))
|
||||||
for tag in iter.get_toggled_tags(False):
|
for tag in iter.get_toggled_tags(False):
|
||||||
texte += self.end_tags[tag.get_property('name')]
|
tag_name = tag.get_property('name')
|
||||||
|
if tag_name not in self.end_tags:
|
||||||
|
continue
|
||||||
|
texte += self.end_tags[tag_name]
|
||||||
|
|
||||||
if modified:
|
if modified:
|
||||||
return '<p>' + self.make_clickable_urls(texte) + '</p>'
|
return '<p>' + self.make_clickable_urls(texte) + '</p>'
|
||||||
|
|
Loading…
Add table
Reference in a new issue