Philipp Hörist pushed to branch master at gajim / gajim


Commits:
b59d5434 by Daniel Brötzmann at 2019-04-30T20:51:01Z
Shortcuts: Add shortcuts to move tab left or right

- - - - -


2 changed files:

- gajim/data/gui/shortcuts_window.ui
- gajim/message_window.py


Changes:

=====================================
gajim/data/gui/shortcuts_window.ui
=====================================
@@ -109,7 +109,7 @@
             <child>
               <object class="GtkShortcutsShortcut">
                 <property name="visible">1</property>
-                <property name="accelerator">&lt;alt&gt;Left 
&lt;ctrl&gt;Page_Up</property>
+                <property name="accelerator">&lt;alt&gt;Left  
&lt;ctrl&gt;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">&lt;ctrl&gt;&lt;shift&gt;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">&lt;ctrl&gt;&lt;shift&gt;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>


=====================================
gajim/message_window.py
=====================================
@@ -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



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/b59d5434f2d922ea395eb81d486b87b3ddfb3f02

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/b59d5434f2d922ea395eb81d486b87b3ddfb3f02
You're receiving this email because of your account on dev.gajim.org.

_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to