Skip to content
Snippets Groups Projects
Commit 194b41cf authored by roidelapluie's avatar roidelapluie
Browse files

Prevent sending xHTML if not needed.

parent 109c9d10
No related branches found
No related tags found
No related merge requests found
...@@ -221,7 +221,9 @@ class MessageTextView(gtk.TextView): ...@@ -221,7 +221,9 @@ class MessageTextView(gtk.TextView):
tags['bold'] = False tags['bold'] = False
iter = buffer.get_start_iter() iter = buffer.get_start_iter()
old = buffer.get_start_iter() old = buffer.get_start_iter()
texte = '' start, finish = buffer.get_bounds()
plaintext = buffer.get_text(start, finish, False)
text = ''
modified = False modified = False
def xhtml_special(text): def xhtml_special(text):
text = text.replace('<', '&lt;') text = text.replace('<', '&lt;')
...@@ -233,11 +235,11 @@ class MessageTextView(gtk.TextView): ...@@ -233,11 +235,11 @@ class MessageTextView(gtk.TextView):
tag_name = tag.get_property('name') tag_name = tag.get_property('name')
if tag_name not in self.begin_tags: if tag_name not in self.begin_tags:
continue continue
texte += self.begin_tags[tag_name] text += 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
texte += xhtml_special(buffer.get_text(old, iter)) text += xhtml_special(buffer.get_text(old, iter))
old.forward_to_tag_toggle(None) old.forward_to_tag_toggle(None)
new_tags = [] new_tags = []
old_tags = [] old_tags = []
...@@ -262,23 +264,24 @@ class MessageTextView(gtk.TextView): ...@@ -262,23 +264,24 @@ class MessageTextView(gtk.TextView):
end_tags.append(tag_name) end_tags.append(tag_name)
for tag in old_tags: for tag in old_tags:
texte += self.end_tags[tag] text += self.end_tags[tag]
for tag in end_tags: for tag in end_tags:
texte += self.end_tags[tag] text += self.end_tags[tag]
for tag in new_tags: for tag in new_tags:
texte += self.begin_tags[tag] text += self.begin_tags[tag]
for tag in old_tags: for tag in old_tags:
texte += self.begin_tags[tag] text += self.begin_tags[tag]
texte += xhtml_special(buffer.get_text(old, buffer.get_end_iter())) text += 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):
tag_name = tag.get_property('name') tag_name = tag.get_property('name')
if tag_name not in self.end_tags: if tag_name not in self.end_tags:
continue continue
texte += self.end_tags[tag_name] text += self.end_tags[tag_name]
if modified: print text, plaintext
return '<p>' + self.make_clickable_urls(texte) + '</p>' if modified and text != plaintext:
return '<p>' + self.make_clickable_urls(text) + '</p>'
else: else:
return None return None
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment