Skip to content
Snippets Groups Projects
Commit 0cbb37e8 authored by Yann Leboulanger's avatar Yann Leboulanger
Browse files

here is a new widget: conversation_textview: it displays url, emoticons, ...

parent bf4a1b28
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
This diff is collapsed.
......@@ -201,7 +201,7 @@ class GroupchatWindow(chat.Chat):
return
print_focus_out_line = False
textview = self.xmls[room_jid].get_widget('conversation_textview')
textview = self.conversation_textviews[room_jid]
buffer = textview.get_buffer()
if self.focus_out_end_iter_offset[room_jid] is None:
......@@ -253,7 +253,7 @@ class GroupchatWindow(chat.Chat):
buffer.end_user_action()
# scroll to the end (via idle in case the scrollbar has appeared)
gobject.idle_add(self.scroll_to_end, textview)
gobject.idle_add(textview.scroll_to_end)
def on_chat_notebook_key_press_event(self, widget, event):
chat.Chat.on_chat_notebook_key_press_event(self, widget, event)
......@@ -578,8 +578,7 @@ class GroupchatWindow(chat.Chat):
if enter is pressed without the shift key, message (if not empty) is sent
and printed in the conversation. Tab does autocomplete in nicknames'''
room_jid = self.get_active_jid()
conversation_textview = self.xmls[room_jid].get_widget(
'conversation_textview')
conv_textview = self.conversation_textviews[room_jid]
message_buffer = widget.get_buffer()
start_iter, end_iter = message_buffer.get_bounds()
message = message_buffer.get_text(start_iter, end_iter,
......@@ -667,12 +666,12 @@ class GroupchatWindow(chat.Chat):
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE DOWN
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE DOWN
conversation_textview.emit('key_press_event', event)
conv_textview.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Page_Up: # PAGE UP
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE UP
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
conversation_textview.emit('key_press_event', event)
conv_textview.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Return or \
event.keyval == gtk.keysyms.KP_Enter: # ENTER
if (event.state & gtk.gdk.SHIFT_MASK):
......@@ -714,8 +713,7 @@ class GroupchatWindow(chat.Chat):
room_jid = self.get_active_jid()
message_textview = self.xmls[room_jid].get_widget(
'message_textview')
conversation_textview = self.xmls[room_jid].get_widget(
'conversation_textview')
conv_textview = self.conversation_textviews[room_jid]
message_buffer = message_textview.get_buffer()
if message != '' or message != '\n':
self.save_sent_message(room_jid, message)
......@@ -726,12 +724,12 @@ class GroupchatWindow(chat.Chat):
command = message_array.pop(0).lower()
if command == 'clear':
# clear the groupchat window
self.on_clear(None, conversation_textview)
self.on_clear(None, message_textview)
conv_textview.clear()
self.clear(message_textview)
elif command == 'compact':
# set compact mode
self.set_compact_view(not self.compact_view_current_state)
self.on_clear(None, message_textview)
self.clear(message_textview)
elif command == 'nick':
# example: /nick foo
if len(message_array):
......@@ -1308,8 +1306,7 @@ current room topic.') % command, room_jid)
# FIXME: Find a better indicator that the hpaned has moved.
self.list_treeview[room_jid].connect('size-allocate',
self.on_treeview_size_allocate)
conversation_textview = self.xmls[room_jid].get_widget(
'conversation_textview')
conv_textview = self.conversation_textviews[room_jid]
self.name_labels[room_jid] = self.xmls[room_jid].get_widget(
'banner_name_label')
self.paint_banner(room_jid)
......@@ -1353,7 +1350,7 @@ current room topic.') % command, room_jid)
# set an empty subject to show the room_jid
self.set_subject(room_jid, '')
self.got_disconnected(room_jid) #init some variables
conversation_textview.grab_focus()
conv_textview.grab_focus()
self.childs[room_jid].show_all()
def on_message(self, room_jid, nick, msg, tim):
......
......@@ -9365,28 +9365,7 @@ topic</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
<child>
<widget class="GtkTextView" id="conversation_textview">
<property name="border_width">1</property>
<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">2</property>
<property name="right_margin">2</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
<signal name="motion_notify_event" handler="on_conversation_textview_motion_notify_event" last_modification_time="Sat, 19 Mar 2005 14:59:33 GMT"/>
<signal name="button_press_event" handler="on_conversation_textview_button_press_event" last_modification_time="Sat, 19 Mar 2005 14:59:45 GMT"/>
<signal name="key_press_event" handler="on_conversation_textview_key_press_event" last_modification_time="Sun, 03 Apr 2005 08:53:17 GMT"/>
<signal name="populate_popup" handler="on_conversation_textview_populate_popup" last_modification_time="Wed, 11 May 2005 19:23:10 GMT"/>
</widget>
<placeholder/>
</child>
</widget>
<packing>
......@@ -10937,28 +10916,7 @@ Status message</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
<child>
<widget class="GtkTextView" id="conversation_textview">
<property name="border_width">1</property>
<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">2</property>
<property name="right_margin">2</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
<signal name="motion_notify_event" handler="on_conversation_textview_motion_notify_event" last_modification_time="Thu, 10 Mar 2005 16:07:43 GMT"/>
<signal name="button_press_event" handler="on_conversation_textview_button_press_event" last_modification_time="Thu, 10 Mar 2005 17:54:22 GMT"/>
<signal name="key_press_event" handler="on_conversation_textview_key_press_event" last_modification_time="Thu, 31 Mar 2005 14:50:51 GMT"/>
<signal name="populate_popup" handler="on_conversation_textview_populate_popup" last_modification_time="Wed, 11 May 2005 19:39:04 GMT"/>
</widget>
<placeholder/>
</child>
</widget>
<packing>
......
......@@ -576,7 +576,7 @@ class TabbedChatWindow(chat.Chat):
and printed in the conversation'''
jid = self.get_active_jid()
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
conv_textview = self.conversation_textviews[jid]
message_textview = widget
message_buffer = message_textview.get_buffer()
start_iter, end_iter = message_buffer.get_bounds()
......@@ -592,12 +592,12 @@ class TabbedChatWindow(chat.Chat):
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE DOWN
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE DOWN
conversation_textview.emit('key_press_event', event)
conv_textview.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Page_Up: # PAGE UP
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE UP
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
conversation_textview.emit('key_press_event', event)
conv_textview.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Up:
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl+UP
self.sent_messages_scroll(jid, 'up', widget.get_buffer())
......@@ -699,7 +699,7 @@ class TabbedChatWindow(chat.Chat):
contact.chatstate = state
if contact.chatstate == 'active':
self.reset_kbd_mouse_timeout_vars()
def send_message(self, message):
'''Send the given message to the active tab'''
if not message:
......@@ -716,19 +716,19 @@ class TabbedChatWindow(chat.Chat):
(room, nick)).get_response()
return
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
conv_textview = self.conversation_textviews[jid]
message_textview = self.xmls[jid].get_widget('message_textview')
message_buffer = message_textview.get_buffer()
if message != '' or message != '\n':
self.save_sent_message(jid, message)
if message == '/clear':
self.on_clear(None, conversation_textview) # clear conversation
self.on_clear(None, message_textview) # clear message textview too
conv_textview.clear() # clear conversation
self.clear(message_textview) # clear message textview too
return True
elif message == '/compact':
self.set_compact_view(not self.compact_view_current_state)
self.on_clear(None, message_textview)
self.clear(message_textview)
return True
keyID = ''
encrypted = False
......@@ -938,4 +938,5 @@ class TabbedChatWindow(chat.Chat):
['small'], ['small', 'grey'], ['small', 'grey'], False)
if len(lines):
self.print_empty_line(jid)
conv_textview = self.conversation_textviews[jid]
conv_textview.print_empty_line()
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