commit fe0d366ce2976a596ca128885407cb6201484762
parent a16b27f10215f09a1f12e00dccc718122c705d7a
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Thu, 26 Aug 2004 01:43:16 +0000
in get_mouseinput(), make clicking on meta shortcuts work properly
again, and properly handle the case of whereis_list's being longer than
MAIN_VISIBLE as bottombars() does
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1913 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -23,6 +23,11 @@ CVS code -
- New function used as a wrapper for ungetch(). (DLR)
get_mouseinput()
- Consolidate two if statements to increase efficiency. (DLR)
+ - Check kbinput against metaval instead of (erroneously) ctrlval
+ when putting back a meta sequence. (DLR)
+ - If there are more than MAIN_VISIBLE shortcuts available, only
+ register clicks on the first MAIN_VISIBLE shortcuts, since
+ bottombars() only shows that many shortcuts. (DLR)
do_yesno()
- Don't bother assigning the value of get_mouseinput() to
anything. Since allow_shortcuts is FALSE, its return value
diff --git a/src/winio.c b/src/winio.c
@@ -1287,9 +1287,15 @@ bool get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts)
/* Get the shortcut lists' length. */
if (currshortcut == main_list)
currslen = MAIN_VISIBLE;
- else
+ else {
currslen = length_of_list(currshortcut);
+ /* We don't show any more shortcuts than the main list
+ * does. */
+ if (currslen > MAIN_VISIBLE)
+ currslen = MAIN_VISIBLE;
+ }
+
/* Calculate the width of each shortcut in the list (it's the
* same for all of them). */
if (currslen < 2)
@@ -1319,7 +1325,7 @@ bool get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts)
* has an equivalent control key, meta key sequence, or both. */
if (s->ctrlval != NANO_NO_KEY)
unget_kbinput(s->ctrlval, FALSE);
- else if (s->ctrlval != NANO_NO_KEY)
+ else if (s->metaval != NANO_NO_KEY)
unget_kbinput(s->metaval, TRUE);
return TRUE;