ctrl+enter no longers sends message and all work as they should. damn bindings
This commit is contained in:
parent
dd03ac29a5
commit
9b5a55ea7d
|
@ -710,7 +710,6 @@ class Chat:
|
||||||
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
|
elif event.state & gtk.gdk.SHIFT_MASK: # SHIFT + PAGE UP
|
||||||
conv_textview.emit('key_press_event', event)
|
conv_textview.emit('key_press_event', event)
|
||||||
|
|
||||||
|
|
||||||
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:
|
if event.state & gtk.gdk.CONTROL_MASK:
|
||||||
|
|
|
@ -604,28 +604,42 @@ class TabbedChatWindow(chat.Chat):
|
||||||
elif event.keyval == gtk.keysyms.Up:
|
elif event.keyval == gtk.keysyms.Up:
|
||||||
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl+UP
|
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl+UP
|
||||||
self.sent_messages_scroll(jid, 'up', widget.get_buffer())
|
self.sent_messages_scroll(jid, 'up', widget.get_buffer())
|
||||||
return True # override the default gtk+ thing for ctrl+up
|
return
|
||||||
elif event.keyval == gtk.keysyms.Down:
|
elif event.keyval == gtk.keysyms.Down:
|
||||||
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl+Down
|
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl+Down
|
||||||
self.sent_messages_scroll(jid, 'down', widget.get_buffer())
|
self.sent_messages_scroll(jid, 'down', widget.get_buffer())
|
||||||
return True # override the default gtk+ thing for ctrl+down
|
return
|
||||||
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
|
||||||
|
# NOTE: SHIFT + ENTER is not needed to be emulated as it is not
|
||||||
|
# binding at all (textview's default action is newline)
|
||||||
|
|
||||||
if gajim.config.get('send_on_ctrl_enter'):
|
if gajim.config.get('send_on_ctrl_enter'):
|
||||||
if not (event.state & gtk.gdk.CONTROL_MASK):
|
# here, we emulate GTK default action on ENTER (add new line)
|
||||||
return False
|
# normally I would add in keypress but it gets way to complex
|
||||||
elif (event.state & gtk.gdk.SHIFT_MASK):
|
# to get instant result on changing this advanced setting
|
||||||
return False
|
if event.state == 0: # no ctrl, no shift just ENTER add newline
|
||||||
|
end_iter = message_buffer.get_end_iter()
|
||||||
|
message_buffer.insert(end_iter, '\n')
|
||||||
|
send_message = False
|
||||||
|
elif event.state & gtk.gdk.CONTROL_MASK: # CTRL + ENTER
|
||||||
|
send_message = True
|
||||||
|
else: # send on Enter, do newline on Ctrl Enter
|
||||||
|
if event.state & gtk.gdk.CONTROL_MASK: # Ctrl + ENTER
|
||||||
|
end_iter = message_buffer.get_end_iter()
|
||||||
|
message_buffer.insert(end_iter, '\n')
|
||||||
|
send_message = False
|
||||||
|
else: # ENTER
|
||||||
|
send_message = True
|
||||||
|
|
||||||
if gajim.connections[self.account].connected < 2: # we are not connected
|
if gajim.connections[self.account].connected < 2: # we are not connected
|
||||||
dialogs.ErrorDialog(_('A connection is not available'),
|
dialogs.ErrorDialog(_('A connection is not available'),
|
||||||
_('Your message can not be sent until you are connected.')).get_response()
|
_('Your message can not be sent until you are connected.')).get_response()
|
||||||
return True
|
send_message = False
|
||||||
|
|
||||||
# send the message
|
if send_message:
|
||||||
self.send_message(message)
|
self.send_message(message) # send the message
|
||||||
|
message_buffer.set_text('') # clear msg buffer (and tv of course)
|
||||||
message_buffer.set_text('')
|
|
||||||
return True
|
|
||||||
|
|
||||||
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…
Reference in New Issue