diff --git a/plugins/gtkgui/groupchat_window.py b/plugins/gtkgui/groupchat_window.py
index 5848d7c52..62c9f923b 100644
--- a/plugins/gtkgui/groupchat_window.py
+++ b/plugins/gtkgui/groupchat_window.py
@@ -45,6 +45,7 @@ class Groupchat_window(Chat):
self.subjects = {}
self.new_group(room_jid, nick)
self.show_title()
+ print "self.xml.get_widget('message_textview') is", self.xml.get_widget('message_textview'), "!!"
self.xml.signal_connect('on_groupchat_window_destroy', \
self.on_groupchat_window_destroy)
self.xml.signal_connect('on_groupchat_window_delete_event', \
@@ -240,9 +241,12 @@ class Groupchat_window(Chat):
and printed in the conversation. Tab does autocompete in nickames"""
jid = self.get_active_jid()
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
- if event.keyval == gtk.keysyms.Tab and \
- (event.state & gtk.gdk.CONTROL_MASK): # CTRL + TAB
- self.notebook.emit('key_press_event', event)
+ if event.hardware_keycode == 23: # TAB
+ if (event.state & gtk.gdk.CONTROL_MASK) and \
+ (event.state & gtk.gdk.SHIFT_MASK): # CTRL + SHIFT + TAB
+ self.notebook.emit('key_press_event', event)
+ elif event.state & gtk.gdk.CONTROL_MASK: # CTRL + TAB
+ self.notebook.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Page_Down: # PAGE DOWN
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE DOWN
self.notebook.emit('key_press_event', event)
@@ -256,7 +260,7 @@ class Groupchat_window(Chat):
elif event.keyval == gtk.keysyms.Return or \
event.keyval == gtk.keysyms.KP_Enter: # ENTER
if (event.state & gtk.gdk.SHIFT_MASK):
- return 0
+ return False
message_buffer = widget.get_buffer()
start_iter = message_buffer.get_start_iter()
end_iter = message_buffer.get_end_iter()
@@ -266,7 +270,7 @@ class Groupchat_window(Chat):
self.plugin.send('GC_MSG', self.account, (room_jid, txt))
message_buffer.set_text('', -1)
widget.grab_focus()
- return 1
+ return True
elif event.keyval == gtk.keysyms.Tab: # TAB
room_jid = self.get_active_jid()
list_nick = self.get_nick_list(room_jid)
@@ -276,18 +280,18 @@ class Groupchat_window(Chat):
end_iter = message_buffer.get_iter_at_mark(cursor_position)
text = message_buffer.get_text(start_iter, end_iter, 0)
if not text:
- return 0
- splited_text = text.split()
- begin = splited_text[-1]
+ return False
+ splitted_text = text.split()
+ begin = splitted_text[-1] #how is this the begin? This is the end! NO?
for nick in list_nick:
- if nick.find(begin) == 0:
- if len(splited_text) == 1:
+ if nick.find(begin) != -1:
+ if len(splitted_text) == 1:
add = ': '
else:
add = ' '
message_buffer.insert_at_cursor(nick[len(begin):] + add)
- return 1
- return 0
+ return True
+ return False
def print_conversation(self, text, room_jid, contact = '', tim = None):
"""Print a line in the conversation :
diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade
index 5c1ea0e4b..cdedd7d48 100644
--- a/plugins/gtkgui/gtkgui.glade
+++ b/plugins/gtkgui/gtkgui.glade
@@ -7862,6 +7862,7 @@ Custom
+ 200
True
GTK_POLICY_AUTOMATIC
GTK_POLICY_AUTOMATIC
@@ -7891,7 +7892,7 @@ Custom
- True
+ False
True
@@ -7918,7 +7919,7 @@ Custom
True
True
False
- True
+ False
GTK_JUSTIFY_LEFT
GTK_WRAP_WORD
True
diff --git a/plugins/gtkgui/tabbed_chat_window.py b/plugins/gtkgui/tabbed_chat_window.py
index 043f50c30..bddb41fb7 100644
--- a/plugins/gtkgui/tabbed_chat_window.py
+++ b/plugins/gtkgui/tabbed_chat_window.py
@@ -157,7 +157,7 @@ class Tabbed_chat_window(Chat):
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
if event.hardware_keycode == 23: # TAB
if (event.state & gtk.gdk.CONTROL_MASK) and \
- (event.state & gtk.gdk.SHIFT_MASK): # CTRL + TAB
+ (event.state & gtk.gdk.SHIFT_MASK): # CTRL + SHIFT + TAB
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.CONTROL_MASK: # CTRL + TAB
self.notebook.emit('key_press_event', event)