From 49366484e018e2a66030ce960dd9112ed1f4dc76 Mon Sep 17 00:00:00 2001 From: Robert Bachmann Date: Tue, 5 Apr 2016 19:15:11 +0200 Subject: [PATCH] Add suport for 'Home' and 'End' keys - 'Home' selects the first file - 'End' selects the last file --- src/__tests__/expected/longListEndKey.txt | 20 ++++++++++++++++++++ src/__tests__/expected/longListHomeKey.txt | 20 ++++++++++++++++++++ src/__tests__/testScreen.py | 18 ++++++++++++++++++ src/screenControl.py | 4 ++-- 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 src/__tests__/expected/longListEndKey.txt create mode 100644 src/__tests__/expected/longListHomeKey.txt diff --git a/src/__tests__/expected/longListEndKey.txt b/src/__tests__/expected/longListEndKey.txt new file mode 100644 index 00000000..ac220244 --- /dev/null +++ b/src/__tests__/expected/longListEndKey.txt @@ -0,0 +1,20 @@ +=== dummy97.txt + ___________ + . dummy98.txt + ___________ + . dummy99.txt + ___________ + . dummy100.txt + BBBBBBBBBBBB + . + + . + + . + +/-\ + +\-/ ___________________________________________________________________________ + +=== [f|A] selection, [down|j|up|k|space|b] navigation, [enter] open, [x] quick + \ No newline at end of file diff --git a/src/__tests__/expected/longListHomeKey.txt b/src/__tests__/expected/longListHomeKey.txt new file mode 100644 index 00000000..bd46e2be --- /dev/null +++ b/src/__tests__/expected/longListHomeKey.txt @@ -0,0 +1,20 @@ +=== dummy1.txt + BBBBBBBBBB +\-/ dummy2.txt + __________ + . dummy3.txt + __________ + . dummy4.txt + __________ + . dummy5.txt + __________ + . dummy6.txt + __________ + . + + . + + . ___________________________________________________________________________ + +=== [f|A] selection, [down|j|up|k|space|b] navigation, [enter] open, [x] quick + \ No newline at end of file diff --git a/src/__tests__/testScreen.py b/src/__tests__/testScreen.py index f24aea0f..1b9a191f 100755 --- a/src/__tests__/testScreen.py +++ b/src/__tests__/testScreen.py @@ -151,6 +151,24 @@ 'input': 'longList.txt', 'inputs': ['NPAGE', 'NPAGE','NPAGE', 'PPAGE'], 'validateFileExists': False, +}, { + 'name': 'longListHomeKey', + 'input': 'longList.txt', + 'inputs': [' ', ' ','HOME'], + 'withAttributes': True, + 'validateFileExists': False, + 'screenConfig': { + 'maxY': 10 + } +}, { + 'name': 'longListEndKey', + 'input': 'longList.txt', + 'inputs': ['END'], + 'withAttributes': True, + 'validateFileExists': False, + 'screenConfig': { + 'maxY': 10 + } }] diff --git a/src/screenControl.py b/src/screenControl.py index 843421aa..d66826d7 100755 --- a/src/screenControl.py +++ b/src/screenControl.py @@ -387,9 +387,9 @@ def processInput(self, key): self.pageDown() elif key == 'b' or key == 'PPAGE': self.pageUp() - elif key == 'g': + elif key == 'g' or key == 'HOME': self.jumpToIndex(0) - elif key == 'G' and not self.mode == X_MODE: + elif (key == 'G' and not self.mode == X_MODE) or key == 'END': self.jumpToIndex(self.numMatches - 1) elif key == 'f': self.toggleSelect()