# [EGIT PATCH] Use keyboard arrow keys to go to the next and previous find results.

2 messages from 2008-02-01 to 2008-02-01. Participants: Roger C. Soares, Robin Rosenberg.
Thread: https://gitlist.dev/t/11810

## Roger C. Soares, 2008-02-01 02:12

Subject: [EGIT PATCH] Use keyboard arrow keys to go to the next and previous find results.
Message-ID: <1201831959-3805-1-git-send-email-rogersoares@intelinet.com.br>
URL: https://gitlist.dev/e/1201831959-3805-1-git-send-email-rogersoares%40intelinet.com.br

```
On the history find toolbar, if the pattern text field has focus,
the down arrow key will generate a next event and the up arrow key
will generate the previous event.

Signed-off-by: Roger C. Soares <rogersoares@intelinet.com.br>
---
 .../src/org/spearce/egit/ui/FindToolbar.java       |   23 +++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/FindToolbar.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/FindToolbar.java
index bc48371..5527453 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/FindToolbar.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/FindToolbar.java
@@ -21,6 +21,8 @@ import java.util.List;
 
 import org.eclipse.core.runtime.Preferences;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -193,7 +195,7 @@ public class FindToolbar extends Composite {
 			}
 		});
 
-		Listener findButtonsListener = new Listener() {
+		final Listener findButtonsListener = new Listener() {
 			public void handleEvent(Event event) {
 				if (patternField.getText().length() > 0
 						&& findResults.size() == 0) {
@@ -242,6 +244,25 @@ public class FindToolbar extends Composite {
 		nextButton.addListener(SWT.Selection, findButtonsListener);
 		previousButton.addListener(SWT.Selection, findButtonsListener);
 
+		patternField.addKeyListener(new KeyAdapter() {
+			private Event event = new Event();
+
+			@Override
+			public void keyPressed(KeyEvent e) {
+				if(e.keyCode == SWT.ARROW_DOWN) {
+					if(nextButton.isEnabled()) {
+						event.widget = nextButton;
+						findButtonsListener.handleEvent(event);
+					}
+				} else if(e.keyCode == SWT.ARROW_UP) {
+					if(previousButton.isEnabled()) {
+						event.widget = previousButton;
+						findButtonsListener.handleEvent(event);
+					}
+				}
+			}
+		});
+
 		caseItem.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
 				prefs.setValue(UIPreferences.FINDTOOLBAR_IGNORE_CASE, caseItem
-- 
1.5.3.7

```

## Robin Rosenberg, 2008-02-01 05:48

Subject: Re: [EGIT PATCH] Use keyboard arrow keys to go to the next and previous find results.
Message-ID: <200802010648.51209.robin.rosenberg@dewire.com>
URL: https://gitlist.dev/e/200802010648.51209.robin.rosenberg%40dewire.com
In-Reply-To: <1201831959-3805-1-git-send-email-rogersoares@intelinet.com.br>

```
fredagen den 1 februari 2008 skrev Roger C. Soares:
> On the history find toolbar, if the pattern text field has focus,
> the down arrow key will generate a next event and the up arrow key

Wonderful. Pushed.

-- robin

```
