Philipp Hörist pushed to branch master at gajim / gajim
Commits:
18a3258c by Tomasz Miąsko at 2017-01-25T17:05:49+01:00
Fix inserting a newline on shift-enter.
Return false from key-press-event to propagate event to a default
handler that will insert a newline into the entry widget.
- - - - -
ffeeb8f9 by Tomasz Miąsko at 2017-01-25T17:05:49+01:00
Simplify send or insert newline logic.
- - - - -
2e133d25 by Tomasz Miąsko at 2017-01-25T17:05:49+01:00
Fix tab switching with ctrl+page up and ctrl+page down.
- - - - -
0b7d6cc1 by Tomasz Miąsko at 2017-01-25T17:05:49+01:00
Fix moving between lines with up and down arrows.
- - - - -
b678165d by Tomasz Miąsko at 2017-01-25T18:04:12+01:00
Use the same code path for shift-enter as for ctrl-enter.
- - - - -
b1940459 by Philipp Hörist at 2017-01-26T19:17:32+01:00
Merge branch 'fix-gtk3-shortcuts' into 'master'
Fix keyboard shortcuts in GTK3
See merge request !41
- - - - -
2 changed files:
- src/chat_control_base.py
- src/message_window.py
Changes:
=====================================
src/chat_control_base.py
=====================================
--- a/src/chat_control_base.py
+++ b/src/chat_control_base.py
@@ -668,49 +668,37 @@ class ChatControlBase(MessageControl,
ChatCommandProcessor, CommandTools):
self.scroll_messages('up', message_buffer, 'received')
else: # Ctrl+UP
self.scroll_messages('up', message_buffer, 'sent')
- return True
+ return True
elif event.keyval == Gdk.KEY_Down:
if event_state & Gdk.ModifierType.CONTROL_MASK:
if event_state & Gdk.ModifierType.SHIFT_MASK: # Ctrl+Shift+Down
self.scroll_messages('down', message_buffer, 'received')
else: # Ctrl+Down
self.scroll_messages('down', message_buffer, 'sent')
- return True
-
+ return True
elif event.keyval == Gdk.KEY_Return or \
event.keyval == Gdk.KEY_KP_Enter: # ENTER
- if event_state & Gdk.ModifierType.SHIFT_MASK:
- return True
message_textview = widget
message_buffer = message_textview.get_buffer()
start_iter, end_iter = message_buffer.get_bounds()
message = message_buffer.get_text(start_iter, end_iter, False)
xhtml = self.msg_textview.get_xhtml()
- if gajim.config.get('send_on_ctrl_enter'):
- if event_state & Gdk.ModifierType.CONTROL_MASK: # CTRL + ENTER
- send_message = True
- else:
- end_iter = message_buffer.get_end_iter()
- message_buffer.insert_at_cursor('\n')
- send_message = False
-
- else: # send on Enter, do newline on Ctrl Enter
- if event_state & Gdk.ModifierType.CONTROL_MASK: # Ctrl + ENTER
- end_iter = message_buffer.get_end_iter()
- message_buffer.insert_at_cursor('\n')
- send_message = False
- else: # ENTER
- send_message = True
-
- if gajim.connections[self.account].connected < 2 and send_message:
+ if event_state & Gdk.ModifierType.SHIFT_MASK:
+ send_message = False
+ else:
+ is_ctrl_enter = bool(event_state &
Gdk.ModifierType.CONTROL_MASK)
+ send_message = is_ctrl_enter ==
gajim.config.get('send_on_ctrl_enter')
+
+ if send_message and gajim.connections[self.account].connected < 2:
# we are not connected
dialogs.ErrorDialog(_('A connection is not available'),
- _('Your message can not be sent until you are
connected.'))
- send_message = False
+ _('Your message can not be sent until you are connected.'))
+ elif send_message:
+ self.send_message(message, xhtml=xhtml)
+ else:
+ message_buffer.insert_at_cursor('\n')
- if send_message:
- self.send_message(message, xhtml=xhtml) # send the message
return True
elif event.keyval == Gdk.KEY_z: # CTRL+z
if event_state & Gdk.ModifierType.CONTROL_MASK:
=====================================
src/message_window.py
=====================================
--- a/src/message_window.py
+++ b/src/message_window.py
@@ -401,7 +401,7 @@ class MessageWindow(object):
elif keyval in (Gdk.KEY_Page_Up, Gdk.KEY_Page_Down):
# CTRL + PageUp | PageDown
# Create event and send it to notebook
- event = Gdk.Event(Gdk.EventType.KEY_PRESS)
+ event = Gdk.Event.new(Gdk.EventType.KEY_PRESS)
event.window = self.window.get_window()
event.time = int(time.time())
event.state = Gdk.ModifierType.CONTROL_MASK
View it on GitLab:
https://dev.gajim.org/gajim/gajim/compare/179777239e17ae9917051e8ab218c4d48932eb5c...b1940459e2025bcc71ea81d2cfdead76e8bfba94
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits