From 1738247d12d96f870b0f795183fd003a19cab7fd Mon Sep 17 00:00:00 2001 From: Julien Pivotto Date: Thu, 22 Jan 2009 20:43:15 +0000 Subject: [PATCH] better xhtml-gui code --- src/gajim.py | 3 +++ src/message_textview.py | 32 +++++++++++--------------------- 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/gajim.py b/src/gajim.py index 0d65803ee..24f7972e0 100644 --- a/src/gajim.py +++ b/src/gajim.py @@ -2494,6 +2494,9 @@ class Interface: # basic matches that may occur earlier self.emot_and_basic = basic_pattern + emoticons_pattern + # needed for xhtml display + self.emot_only = emoticons_pattern + # at least one character in 3 parts (before @, after @, after .) self.sth_at_sth_dot_sth = r'\S+@\S+\.\S*[^\s)?]' diff --git a/src/message_textview.py b/src/message_textview.py index 3cd5b3729..71a6d5da2 100644 --- a/src/message_textview.py +++ b/src/message_textview.py @@ -4,6 +4,7 @@ ## Copyright (C) 2003-2007 Yann Leboulanger ## Copyright (C) 2005-2007 Nikos Kouremenos ## Copyright (C) 2006 Dimitur Kirov +## Copyright (C) 2008-2009 Julien Pivotto ## ## This file is part of Gajim. ## @@ -104,23 +105,24 @@ class MessageTextView(gtk.TextView): def get_active_tags(self): buffer = self.get_buffer() - return_val = buffer.get_selection_bounds() - if return_val: # if sth was selected - start, finish = return_val[0], return_val[1] - else: - start, finish = buffer.get_bounds() + start, finish = self.get_active_iters() active_tags = [] for tag in start.get_tags(): active_tags.append(tag.get_property('name')) return active_tags - def set_tag(self, widget, tag): + def get_active_iters(self): buffer = self.get_buffer() return_val = buffer.get_selection_bounds() if return_val: # if sth was selected start, finish = return_val[0], return_val[1] else: start, finish = buffer.get_bounds() + return (start, finish) + + def set_tag(self, widget, tag): + buffer = self.get_buffer() + start, finish = self.get_active_iters() if start.has_tag(self.other_tags[tag]): buffer.remove_tag_by_name(tag, start, finish) else: @@ -132,11 +134,7 @@ class MessageTextView(gtk.TextView): def clear_tags(self, widget): buffer = self.get_buffer() - return_val = buffer.get_selection_bounds() - if return_val: # if sth was selected - start, finish = return_val[0], return_val[1] - else: - start, finish = buffer.get_bounds() + start, finish = self.get_active_iters() buffer.remove_all_tags(start, finish) def color_set(self, widget, response, color): @@ -155,11 +153,7 @@ class MessageTextView(gtk.TextView): self.end_tags[tag_name] = '' self.color_tags.append(tag_name) - return_val = buffer.get_selection_bounds() - if return_val: # if sth was selected - start, finish = return_val[0], return_val[1] - else: - start, finish = buffer.get_bounds() + start, finish = self.get_active_iters() for tag in self.color_tags: buffer.remove_tag_by_name(tag, start, finish) @@ -193,11 +187,7 @@ class MessageTextView(gtk.TextView): self.end_tags[tag_name] = '' self.fonts_tags.append(tag_name) - return_val = buffer.get_selection_bounds() - if return_val: # if sth was selected - start, finish = return_val[0], return_val[1] - else: - start, finish = buffer.get_bounds() + start, finish = self.get_active_iters() for tag in self.fonts_tags: buffer.remove_tag_by_name(tag, start, finish)