diff options
author | Patrik Suzzi | 2017-05-24 21:13:47 +0000 |
---|---|---|
committer | Patrik Suzzi | 2017-05-24 21:13:47 +0000 |
commit | b763ebdefe0ff26bc6465181549c0d9ac97bdfc9 (patch) | |
tree | 4ff25065a4db8aa7db4cc6b515c67283db152c86 | |
parent | f1c64218185d99ebcf43b615cd35fbff887f8ae9 (diff) | |
download | eclipse.platform.ui-b763ebdefe0ff26bc6465181549c0d9ac97bdfc9.tar.gz eclipse.platform.ui-b763ebdefe0ff26bc6465181549c0d9ac97bdfc9.tar.xz eclipse.platform.ui-b763ebdefe0ff26bc6465181549c0d9ac97bdfc9.zip |
Bug 517218 - Regression: PgUp/PgDn keys not working in Ctrl+E listY20170525-1000
This bugfix restores the behavior like it was in 4.6, plus it uses the
PG_DOWN/PG_UP to leave the filter text, and put the focus on the next
element on the table
Change-Id: I9019002527359ce8be2d8d50d6ef86c348c9c966
Signed-off-by: Patrik Suzzi <psuzzi@gmail.com>
-rw-r--r-- | bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java index 0afc43af680..d17e5e575b2 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java @@ -485,9 +485,11 @@ public abstract class FilteredTableBaseHandler extends AbstractHandler implement case SWT.KEYPAD_CR: ok(dialog, table); break; + case SWT.PAGE_DOWN: case SWT.ARROW_DOWN: moveForward(); break; + case SWT.PAGE_UP: case SWT.ARROW_UP: moveBackward(); break; @@ -559,6 +561,7 @@ public abstract class FilteredTableBaseHandler extends AbstractHandler implement } else if (keyCode != SWT.ALT && keyCode != SWT.COMMAND && keyCode != SWT.CTRL && keyCode != SWT.SHIFT && keyCode != SWT.ARROW_DOWN && keyCode != SWT.ARROW_UP + && keyCode != SWT.PAGE_DOWN && keyCode != SWT.PAGE_UP && keyCode != SWT.ARROW_LEFT && keyCode != SWT.ARROW_RIGHT) { if (!isFiltered()) { @@ -579,11 +582,12 @@ public abstract class FilteredTableBaseHandler extends AbstractHandler implement cancel(dialog); } } - } else if (keyCode == SWT.ARROW_DOWN && table.getSelectionIndex() == table.getItemCount() - 1) { + } else if ((keyCode == SWT.ARROW_DOWN || keyCode == SWT.PAGE_DOWN) + && table.getSelectionIndex() == table.getItemCount() - 1) { /** DOWN is managed by table, except when "rotating" */ moveForward(); e.doit = false; - } else if (keyCode == SWT.ARROW_UP && table.getSelectionIndex() == 0) { + } else if ((keyCode == SWT.ARROW_UP || keyCode == SWT.PAGE_UP) && table.getSelectionIndex() == 0) { /** UP is managed by table, except when "rotating" */ moveBackward(); e.doit = false; |