summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-09-12 14:25:14 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-09-12 14:25:14 +0200
commitcfbe32f6a23947b6df1ceaf121145e3fa840e7fc (patch)
treed6b4dea4d1b4e564563139bd8ea95d3044e26532 /src/client.cc
parent7266052d46f2753ae0752921ee8797d10490da3b (diff)
support Tab/BackTab keys in MenuMode as well
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/client.cc b/src/client.cc
index cc31031f..c9b0eafe 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -60,6 +60,7 @@ public:
void on_key(const Key& key, Context& context) override
{
if (key == Key::Down or
+ key == Key(Key::Modifiers::Control, 'i') or
key == Key(Key::Modifiers::Control, 'n') or
key == Key(Key::Modifiers::None, 'j'))
{
@@ -68,6 +69,7 @@ public:
m_client.menu_select(m_selected);
}
if (key == Key::Up or
+ key == Key::BackTab or
key == Key(Key::Modifiers::Control, 'p') or
key == Key(Key::Modifiers::None, 'k'))
{
@@ -242,10 +244,9 @@ public:
m_completion_count = contains(candidates, m_completion_prefix) ?
(int)candidates.size() : (int)candidates.size() + 1;
}
- m_current_completion += reverse ? -1 : 1;
- if (m_current_completion >= m_completion_count)
+ if (not reverse and ++m_current_completion >= m_completion_count)
m_current_completion = 0;
- else if (m_current_completion < 0)
+ if (reverse and --m_current_completion < 0)
m_current_completion = m_completion_count-1;
String completion = (m_current_completion == candidates.size()) ?