Author: asterix
Date: 2006-05-07 14:23:28 +0200 (Sun, 07 May 2006)
New Revision: 6287
Modified:
trunk/src/groupchat_control.py
Log:
shift + click on a GC occupant print his nick in textview. For #1933
Modified: trunk/src/groupchat_control.py
===================================================================
--- trunk/src/groupchat_control.py 2006-05-06 20:55:52 UTC (rev 6286)
+++ trunk/src/groupchat_control.py 2006-05-07 12:23:28 UTC (rev 6287)
@@ -140,35 +140,35 @@
widget = self.xml.get_widget('muc_window_actions_button')
id = widget.connect('clicked', self.on_actions_button_clicked)
self.handlers[id] = widget
-
+
widget = self.xml.get_widget('list_treeview')
id = widget.connect('row_expanded', self.on_list_treeview_row_expanded)
self.handlers[id] = widget
-
+
id = widget.connect('row_collapsed',
self.on_list_treeview_row_collapsed)
self.handlers[id] = widget
-
+
id = widget.connect('row_activated',
self.on_list_treeview_row_activated)
self.handlers[id] = widget
-
+
id = widget.connect('button_press_event',
self.on_list_treeview_button_press_event)
self.handlers[id] = widget
-
+
id = widget.connect('key_press_event',
self.on_list_treeview_key_press_event)
self.handlers[id] = widget
-
+
id = widget.connect('motion_notify_event',
self.on_list_treeview_motion_notify_event)
self.handlers[id] = widget
-
+
id = widget.connect('leave_notify_event',
self.on_list_treeview_leave_notify_event)
self.handlers[id] = widget
-
+
self.room_jid = self.contact.jid
self.nick = contact.name
self.name = self.room_jid.split('@')[0]
@@ -223,11 +223,11 @@
widget = xm.get_widget('compact_view_menuitem')
id = widget.connect('activate', self._on_compact_view_menuitem_activate)
self.handlers[id] = widget
-
+
widget = xm.get_widget('history_menuitem')
id = widget.connect('activate', self._on_history_menuitem_activate)
self.handlers[id] = widget
-
+
self.gc_popup_menu = xm.get_widget('gc_control_popup_menu')
self.name_label = self.xml.get_widget('banner_name_label')
@@ -1584,6 +1584,22 @@
widget.collapse_row(path)
else:
widget.expand_row(path, False)
+ elif event.state & gtk.gdk.SHIFT_MASK:
+ message_buffer = self.msg_textview.get_buffer()
+ start_iter, end_iter = message_buffer.get_bounds()
+ cursor_position = message_buffer.get_insert()
+ end_iter = message_buffer.get_iter_at_mark(cursor_position)
+ text = message_buffer.get_text(start_iter, end_iter, False)
+ start = ''
+ if text: # Cursor is not at first position
+ if not text[-1] in (' ', '\n', '\t'):
+ start = ' '
+ add = ' '
+ else:
+ add = self.gc_refer_to_nick_char + ' '
+ message_buffer.insert_at_cursor(start + nick + add)
+ self.msg_textview.grab_focus()
+ return True
def on_list_treeview_motion_notify_event(self, widget, event):
model = widget.get_model()