Ctrl+Shift+Tab now works

This commit is contained in:
Yann Leboulanger 2005-04-08 21:51:09 +00:00
parent 45afd619db
commit b1c89d4a6a
2 changed files with 19 additions and 20 deletions

View file

@ -271,12 +271,11 @@ class Chat:
def on_conversation_textview_key_press_event(self, widget, event): def on_conversation_textview_key_press_event(self, widget, event):
"""Do not block these events and send them to the notebook""" """Do not block these events and send them to the notebook"""
''' if (event.state & gtk.gdk.CONTROL_MASK) and \
if event.state & (gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK): (event.state & gtk.gdk.SHIFT_MASK):
if event.keyval == gtk.keysyms.Tab: # CTRL + SHIFT + TAB if event.hardware_keycode == 23: # CTRL + SHIFT + TAB
self.notebook.emit('key_press_event', event) self.notebook.emit('key_press_event', event)
''' elif event.state & gtk.gdk.CONTROL_MASK:
if event.state & gtk.gdk.CONTROL_MASK:
if event.keyval == gtk.keysyms.Tab: # CTRL + TAB if event.keyval == gtk.keysyms.Tab: # CTRL + TAB
self.notebook.emit('key_press_event', event) self.notebook.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Page_Down: # CTRL + PAGE DOWN elif event.keyval == gtk.keysyms.Page_Down: # CTRL + PAGE DOWN
@ -319,25 +318,23 @@ class Chat:
iter = conversation_textview.get_iter_at_location(rect.x, rect.y) iter = conversation_textview.get_iter_at_location(rect.x, rect.y)
conversation_textview.scroll_to_iter(iter, 0.1, True, 0, 1) conversation_textview.scroll_to_iter(iter, 0.1, True, 0, 1)
# or event.keyval == gtk.keysyms.KP_Up # or event.keyval == gtk.keysyms.KP_Up
'''
elif event.keyval == gtk.keysyms.Up: elif event.keyval == gtk.keysyms.Up:
if event.state & gtk.gdk.SHIFT_MASK: # SHIFT + UP if event.state & gtk.gdk.SHIFT_MASK: # SHIFT + UP
print 'be' # FIXME: find a way to to keyUP in scrolledwindow print 'be' # FIXME: find a way to to keyUP in scrolledwindow
conversation_scrolledwindow = self.xml.get_widget('conversation_scrolledwindow') conversation_scrolledwindow = self.xml.get_widget\
conversation_scrolledwindow.emit('scroll-child', gtk.SCROLL_PAGE_BACKWARD, False) ('conversation_scrolledwindow')
''' conversation_scrolledwindow.emit('scroll-child', \
if event.keyval == gtk.keysyms.Tab: gtk.SCROLL_PAGE_BACKWARD, False)
''' elif event.hardware_keycode == 23: # TAB
if event.state & (gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK): if (event.state & gtk.gdk.CONTROL_MASK) and \
print '^shift+tab' (event.state & gtk.gdk.SHIFT_MASK):
# CTRL + SHIFT + TAB # CTRL + SHIFT + TAB
current = self.notebook.get_current_page() current = self.notebook.get_current_page()
if current > 0: if current > 0:
self.notebook.set_current_page(current-1) self.notebook.set_current_page(current-1)
else: else:
self.notebook.set_current_page(0) self.notebook.set_current_page(self.notebook.get_n_pages()-1)
''' elif event.state & gtk.gdk.CONTROL_MASK: # CTRL + TAB
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + TAB
current = self.notebook.get_current_page() current = self.notebook.get_current_page()
if current < (self.notebook.get_n_pages()-1): if current < (self.notebook.get_n_pages()-1):
self.notebook.set_current_page(current+1) self.notebook.set_current_page(current+1)

View file

@ -154,10 +154,12 @@ class Tabbed_chat_window(Chat):
if enter is pressed without the shit key, message (if not empty) is sent if enter is pressed without the shit key, message (if not empty) is sent
and printed in the conversation""" and printed in the conversation"""
jid = self.get_active_jid() jid = self.get_active_jid()
print 'jid', jid
conversation_textview = self.xmls[jid].get_widget('conversation_textview') conversation_textview = self.xmls[jid].get_widget('conversation_textview')
if event.keyval == gtk.keysyms.Tab and \ if event.hardware_keycode == 23: # TAB
(event.state & gtk.gdk.CONTROL_MASK): # CTRL + TAB if (event.state & gtk.gdk.CONTROL_MASK) and \
(event.state & gtk.gdk.SHIFT_MASK): # CTRL + TAB
self.notebook.emit('key_press_event', event)
elif event.state & gtk.gdk.CONTROL_MASK: # CTRL + TAB
self.notebook.emit('key_press_event', event) self.notebook.emit('key_press_event', event)
elif event.keyval == gtk.keysyms.Page_Down: # PAGE DOWN elif event.keyval == gtk.keysyms.Page_Down: # PAGE DOWN
if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE DOWN if event.state & gtk.gdk.CONTROL_MASK: # CTRL + PAGE DOWN