send composing only if ctrl or alt key is not present
This commit is contained in:
parent
3227d67666
commit
d29d825ac3
1 changed files with 15 additions and 12 deletions
|
@ -412,8 +412,7 @@ class TabbedChatWindow(chat.Chat):
|
||||||
"""When a key is pressed:
|
"""When a key is pressed:
|
||||||
if enter is pressed without the shift key, message (if not empty) is sent
|
if enter is pressed without the shift key, message (if not empty) is sent
|
||||||
and printed in the conversation"""
|
and printed in the conversation"""
|
||||||
self.kbd_activity_in_last_5_secs = True
|
|
||||||
self.kbd_activity_in_last_30_secs = True
|
|
||||||
jid = self.get_active_jid()
|
jid = self.get_active_jid()
|
||||||
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
|
conversation_textview = self.xmls[jid].get_widget('conversation_textview')
|
||||||
message_buffer = widget.get_buffer()
|
message_buffer = widget.get_buffer()
|
||||||
|
@ -436,6 +435,14 @@ class TabbedChatWindow(chat.Chat):
|
||||||
self.notebook.emit('key_press_event', event)
|
self.notebook.emit('key_press_event', event)
|
||||||
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
|
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
|
||||||
conversation_textview.emit('key_press_event', event)
|
conversation_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())
|
||||||
|
return True # override the default gtk+ thing for ctrl+up
|
||||||
|
elif event.keyval == gtk.keysyms.Down:
|
||||||
|
if event.state & gtk.gdk.CONTROL_MASK: #Ctrl+Down
|
||||||
|
self.sent_messages_scroll(jid, 'down', widget.get_buffer())
|
||||||
|
return True # override the default gtk+ thing for ctrl+down
|
||||||
elif event.keyval == gtk.keysyms.Return or \
|
elif event.keyval == gtk.keysyms.Return or \
|
||||||
event.keyval == gtk.keysyms.KP_Enter: # ENTER
|
event.keyval == gtk.keysyms.KP_Enter: # ENTER
|
||||||
if gajim.config.get('send_on_ctrl_enter'):
|
if gajim.config.get('send_on_ctrl_enter'):
|
||||||
|
@ -453,19 +460,15 @@ class TabbedChatWindow(chat.Chat):
|
||||||
|
|
||||||
message_buffer.set_text('')
|
message_buffer.set_text('')
|
||||||
return True
|
return True
|
||||||
elif event.keyval == gtk.keysyms.Up:
|
|
||||||
if event.state & gtk.gdk.CONTROL_MASK: #Ctrl+UP
|
|
||||||
self.sent_messages_scroll(jid, 'up', widget.get_buffer())
|
|
||||||
return True # override the default gtk+ thing for ctrl+up
|
|
||||||
elif event.keyval == gtk.keysyms.Down:
|
|
||||||
if event.state & gtk.gdk.CONTROL_MASK: #Ctrl+Down
|
|
||||||
self.sent_messages_scroll(jid, 'down', widget.get_buffer())
|
|
||||||
return True # override the default gtk+ thing for ctrl+down
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# chatstates
|
# chatstates
|
||||||
# if composing, send chatstate
|
# if really composing (eg. no Ctrl, or alt modifier, send chatstate
|
||||||
self.send_chatstate('composing')
|
if not (event.state & gtk.gdk.CONTROL_MASK) and not\
|
||||||
|
(event.state & gtk.gdk.MOD1_MASK):
|
||||||
|
self.kbd_activity_in_last_5_secs = True
|
||||||
|
self.kbd_activity_in_last_30_secs = True
|
||||||
|
self.send_chatstate('composing')
|
||||||
|
|
||||||
def send_chatstate(self, state, jid = None):
|
def send_chatstate(self, state, jid = None):
|
||||||
''' sends our chatstate as STANDLONE chat state message (eg. no body)
|
''' sends our chatstate as STANDLONE chat state message (eg. no body)
|
||||||
|
|
Loading…
Add table
Reference in a new issue