Author: nicfit
Date: 2008-08-22 05:03:15 +0200 (Fri, 22 Aug 2008)
New Revision: 10267
Modified:
trunk/src/chat_control.py
trunk/src/groupchat_control.py
trunk/src/message_window.py
Log:
Make the message control text entry grab focus when new controls are created and each time the tabs
are switched. Fixes #4227
Modified: trunk/src/chat_control.py
===================================================================
--- trunk/src/chat_control.py 2008-08-21 16:05:56 UTC (rev 10266)
+++ trunk/src/chat_control.py 2008-08-22 03:03:15 UTC (rev 10267)
@@ -304,6 +304,7 @@
self.user_nick = None
self.smooth = True
+ self.msg_textview.grab_focus()
def on_msg_textview_populate_popup(self, textview, menu):
'''we override the default context menu and we prepend an option to switch languages'''
@@ -1155,6 +1156,7 @@
self.update_ui()
# restore previous conversation
self.restore_conversation()
+ self.msg_textview.grab_focus()
def update_toolbar(self):
# Add to roster
Modified: trunk/src/groupchat_control.py
===================================================================
--- trunk/src/groupchat_control.py 2008-08-21 16:05:56 UTC (rev 10266)
+++ trunk/src/groupchat_control.py 2008-08-22 03:03:15 UTC (rev 10267)
@@ -367,7 +367,7 @@
gajim.gc_connected[self.account][self.room_jid] = False
# disable win, we are not connected yet
- ChatControlBase.got_disconnected(self)
+ ChatControlBase.got_disconnected(self)
self.update_ui()
self.conv_textview.tv.grab_focus()
@@ -890,6 +890,8 @@
if self.parent_win:
self.parent_win.redraw_tab(self)
+ self.msg_textview.grab_focus()
+
def got_disconnected(self):
self.list_treeview.get_model().clear()
nick_list = gajim.contacts.get_nick_list(self.account, self.room_jid)
Modified: trunk/src/message_window.py
===================================================================
--- trunk/src/message_window.py 2008-08-21 16:05:56 UTC (rev 10266)
+++ trunk/src/message_window.py 2008-08-22 03:03:15 UTC (rev 10267)
@@ -730,6 +730,10 @@
new_ctrl.set_control_active(True)
self.show_title(control = new_ctrl)
+ control = self.get_active_control()
+ if isinstance(control, ChatControlBase):
+ control.msg_textview.grab_focus()
+
def _on_notebook_key_press(self, widget, event):
# Ctrl+PageUP / DOWN has to be handled by notebook
if (event.state & gtk.gdk.CONTROL_MASK and
@@ -986,9 +990,6 @@
if not self.one_window_opened(contact, acct, type):
self._resize_window(win, acct, type)
self._position_window(win, acct, type)
- #FIXME: make sure when first chat tab is shown textview grabs focus
- #this wont work but something close to that should be fine:
- # win.window.grab_focus()
self._windows[win_key] = win
return win