add catching for links and emots in history window

This commit is contained in:
Nikos Kouremenos 2005-12-12 13:00:46 +00:00
parent 59561d300e
commit 17f28f9388
3 changed files with 12 additions and 40 deletions

View File

@ -624,11 +624,12 @@ class ConversationTextview(gtk.TextView):
self.print_empty_line() self.print_empty_line()
def print_real_text(self, text, text_tags = [], name = None): def print_real_text(self, text, text_tags = [], name = None):
'''/me is replaces by name if name is given''' '''this adds normal and special text. call this to add text'''
buffer = self.get_buffer() buffer = self.get_buffer()
# detect urls formatting and if the user has it on emoticons # /me is replaced by name if name is given
if name and text.startswith('/me ') or text.startswith('/me\n'): if name and text.startswith('/me ') or text.startswith('/me\n'):
text = '* ' + name + text[3:] text = '* ' + name + text[3:]
# detect urls formatting and if the user has it on emoticons
index = self.detect_and_print_special_text(text, text_tags) index = self.detect_and_print_special_text(text, text_tags)
# add the rest of text located in the index and after # add the rest of text located in the index and after

View File

@ -9025,7 +9025,7 @@ Custom</property>
</child> </child>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow16"> <widget class="GtkScrolledWindow" id="scrolledwindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
@ -9034,23 +9034,7 @@ Custom</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property> <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child> <child>
<widget class="GtkTextView" id="history_textview"> <placeholder/>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="overwrite">False</property>
<property name="accepts_tab">True</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_WORD</property>
<property name="cursor_visible">False</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</child> </child>
</widget> </widget>
<packing> <packing>

View File

@ -30,6 +30,7 @@ import time
import calendar import calendar
import gtkgui_helpers import gtkgui_helpers
import conversation_textview
from common import gajim from common import gajim
from common import helpers from common import helpers
@ -65,7 +66,10 @@ class HistoryWindow:
self.window = xml.get_widget('history_window') self.window = xml.get_widget('history_window')
self.calendar = xml.get_widget('calendar') self.calendar = xml.get_widget('calendar')
self.history_buffer = xml.get_widget('history_textview').get_buffer() scrolledwindow = xml.get_widget('scrolledwindow')
self.history_textview = conversation_textview.ConversationTextview(account)
scrolledwindow.add(self.history_textview)
self.history_buffer = self.history_textview.get_buffer()
self.query_entry = xml.get_widget('query_entry') self.query_entry = xml.get_widget('query_entry')
self.search_button = xml.get_widget('search_button') self.search_button = xml.get_widget('search_button')
query_builder_button = xml.get_widget('query_builder_button') query_builder_button = xml.get_widget('query_builder_button')
@ -114,23 +118,6 @@ class HistoryWindow:
# selected month is current month as calendar defaults to selecting # selected month is current month as calendar defaults to selecting
# current date # current date
self.calendar.emit('month-changed') self.calendar.emit('month-changed')
tag = self.history_buffer.create_tag('incoming')
color = gajim.config.get('inmsgcolor')
tag.set_property('foreground', color)
tag = self.history_buffer.create_tag('outgoing')
color = gajim.config.get('outmsgcolor')
tag.set_property('foreground', color)
tag = self.history_buffer.create_tag('status')
color = gajim.config.get('statusmsgcolor')
tag.set_property('foreground', color)
tag = self.history_buffer.create_tag('time_sometimes')
tag.set_property('foreground', 'grey')
tag.set_property('justification', gtk.JUSTIFY_CENTER)
# select and show logs for last date we have logs with contact # select and show logs for last date we have logs with contact
# and if we don't have logs at all, default to today # and if we don't have logs at all, default to today
@ -297,9 +284,9 @@ class HistoryWindow:
message = message + '\n' message = message + '\n'
if tag_msg: if tag_msg:
buf.insert_with_tags_by_name(end_iter, message, tag_msg) self.history_textview.print_real_text(message, tag_msg)
else: else:
buf.insert(end_iter, message) self.history_textview.print_real_text(message)
def set_unset_expand_on_expander(self, widget): def set_unset_expand_on_expander(self, widget):
'''expander has to have expand to TRUE so scrolledwindow resizes properly '''expander has to have expand to TRUE so scrolledwindow resizes properly