From bf323e43f1f63a67f6b8bf9ad4ec90057891320b Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Thu, 30 Apr 2009 07:55:58 +0200 Subject: [PATCH] Added a visual feedback for impossible cursor motions. --- selector.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/selector.cc b/selector.cc index 0d1e93e..ebe528e 100644 --- a/selector.cc +++ b/selector.cc @@ -107,6 +107,10 @@ int string_to_positive_integer(char *string) { return result; } +void error_feedback() { + flash(); +} + ////////////////////////////////////////////////////////////////////// // A quick and dirty hash table @@ -243,7 +247,7 @@ void delete_char(char *buffer, int *position) { buffer[c] = buffer[c+1]; c++; } - } + } else error_feedback(); } void backspace_char(char *buffer, int *position) { @@ -259,7 +263,7 @@ void backspace_char(char *buffer, int *position) { } (*position)--; - } + } else error_feedback(); } void insert_char(char *buffer, int *position, char character) { @@ -275,7 +279,7 @@ void insert_char(char *buffer, int *position, char character) { c++; buffer[c] = '\0'; buffer[(*position)++] = character; - } + } else error_feedback(); } void kill_before_cursor(char *buffer, int *position) { @@ -896,11 +900,13 @@ int main(int argc, char **argv) { else if(key == KEY_LEFT || key == '\002') { // ^B if(cursor_position > 0) cursor_position--; + else error_feedback(); } else if(key == KEY_RIGHT || key == '\006') { // ^F if(pattern[cursor_position]) cursor_position++; + else error_feedback(); } else if(key == '\001') { // ^A -- 2.20.1