[evolution/gnome-3-22] Bug 775370 - Arrow left/right for closing/opening threads



commit d33dca8b3b51733eb1c3b487e5695bc39b04e3c7
Author: Milan Crha <mcrha redhat com>
Date:   Tue Dec 6 16:15:27 2016 +0100

    Bug 775370 - Arrow left/right for closing/opening threads

 e-util/e-tree.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/e-util/e-tree.c b/e-util/e-tree.c
index 19f83c5..bcaeb0f 100644
--- a/e-util/e-tree.c
+++ b/e-util/e-tree.c
@@ -1039,9 +1039,13 @@ item_key_press (ETableItem *eti,
        case GDK_KEY_KP_Right:
                /* Only allow if the Shift modifier is used.
                 * eg. Ctrl-Equal shouldn't be handled.  */
-               if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK |
-                       GDK_MOD1_MASK)) != GDK_SHIFT_MASK)
-                       break;
+               if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != GDK_SHIFT_MASK) {
+                       /* Allow also plain (without modifiers) expand when in the 'line' cursor mode */
+                       if (eti->cursor_mode != E_CURSOR_LINE ||
+                           (key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != 0)
+                               break;
+               }
+
                if (row != -1) {
                        path = e_tree_table_adapter_node_at_row (
                                tree->priv->etta, row);
@@ -1057,9 +1061,13 @@ item_key_press (ETableItem *eti,
        case GDK_KEY_KP_Left:
                /* Only allow if the Shift modifier is used.
                 * eg. Ctrl-Minus shouldn't be handled.  */
-               if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK |
-                       GDK_MOD1_MASK)) != GDK_SHIFT_MASK)
-                       break;
+               if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != GDK_SHIFT_MASK) {
+                       /* Allow also plain (without modifiers) collapse when in the 'line' cursor mode */
+                       if (eti->cursor_mode != E_CURSOR_LINE ||
+                           (key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != 0)
+                               break;
+               }
+
                if (row != -1) {
                        path = e_tree_table_adapter_node_at_row (
                                tree->priv->etta, row);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]