Shortcuts: Add shortcuts to move tab left or right
This commit is contained in:
parent
9e25930106
commit
b59d5434f2
|
@ -109,7 +109,7 @@
|
|||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">1</property>
|
||||
<property name="accelerator"><alt>Left <ctrl>Page_Up</property>
|
||||
<property name="accelerator"><alt>Left <ctrl>Page_Up</property>
|
||||
<property name="title" translatable="yes">Switch to the previous tab</property>
|
||||
</object>
|
||||
</child>
|
||||
|
@ -141,6 +141,20 @@
|
|||
<property name="title" translatable="yes">Switch to the next unread tab</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">1</property>
|
||||
<property name="accelerator"><ctrl><shift>Page_Up</property>
|
||||
<property name="title" translatable="yes">Move tab to the left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">1</property>
|
||||
<property name="accelerator"><ctrl><shift>Page_Down</property>
|
||||
<property name="title" translatable="yes">Move tab to the right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="visible">1</property>
|
||||
|
|
|
@ -121,6 +121,7 @@ class MessageWindow:
|
|||
keys = ['<Control>f', '<Control>g', '<Control>h', '<Control>i',
|
||||
'<Control>l', '<Control>L', '<Control><Shift>n', '<Control>u',
|
||||
'<Control>b', '<Control>F4',
|
||||
'<Control><Shift>Page_Up', '<Control><Shift>Page_Down',
|
||||
'<Control>w', '<Control>Page_Up', '<Control>Page_Down', '<Alt>Right',
|
||||
'<Alt>Left', '<Alt>d', '<Alt>c', '<Alt>m', '<Alt>t', 'Escape'] + \
|
||||
['<Alt>'+str(i) for i in range(10)]
|
||||
|
@ -411,7 +412,8 @@ class MessageWindow:
|
|||
'gtk-key-theme-name') == 'Emacs':
|
||||
self.remove_tab(control, self.CLOSE_CTRL_KEY)
|
||||
return True
|
||||
elif keyval in (Gdk.KEY_Page_Up, Gdk.KEY_Page_Down):
|
||||
elif keyval in (Gdk.KEY_Page_Up, Gdk.KEY_Page_Down) and not \
|
||||
modifier & Gdk.ModifierType.SHIFT_MASK:
|
||||
# CTRL + PageUp | PageDown
|
||||
# Create event and send it to notebook
|
||||
event = Gdk.Event.new(Gdk.EventType.KEY_PRESS)
|
||||
|
@ -425,10 +427,24 @@ class MessageWindow:
|
|||
if modifier & Gdk.ModifierType.SHIFT_MASK:
|
||||
# CTRL + SHIFT
|
||||
if control.type_id == message_control.TYPE_GC and \
|
||||
keyval == Gdk.KEY_n: # CTRL + SHIFT + n
|
||||
keyval == Gdk.KEY_n: # CTRL + SHIFT + n
|
||||
self.window.lookup_action(
|
||||
'change-nick-%s' % control.control_id).activate()
|
||||
return True
|
||||
# CTRL + SHIFT + PageUp | PageDown
|
||||
old_position = self.notebook.get_current_page()
|
||||
total_pages = self.notebook.get_n_pages()
|
||||
if keyval == Gdk.KEY_Page_Up:
|
||||
self.notebook.reorder_child(control.widget,
|
||||
old_position - 1)
|
||||
return True
|
||||
if keyval == Gdk.KEY_Page_Down:
|
||||
if old_position == total_pages - 1:
|
||||
self.notebook.reorder_child(control.widget, 0)
|
||||
return True
|
||||
self.notebook.reorder_child(control.widget,
|
||||
old_position + 1)
|
||||
return True
|
||||
# MOD1 (ALT) mask
|
||||
elif modifier & Gdk.ModifierType.MOD1_MASK:
|
||||
# Tab switch bindings
|
||||
|
|
Loading…
Reference in New Issue