Commit 235ab192 authored by Chris Allegretta's avatar Chris Allegretta
Browse files

Add yesno support to mouse

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@594 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
parent 6b58acd3
Showing with 41 additions and 2 deletions
+41 -2
Cvs code - Cvs code -
- General - General
- New global variables currshortcut and currslen to support using - New global variables currshortcut and currslen to support using
the mouse with the shortcuts. FIXME - Does not support the the mouse with the shortcuts. FIXME - Does not support clicking
do_yesno function yet as that will have to be done by hand. on filenames in the browser, yet.
nano 1.1 tree forked here 04/07/2001 nano 1.1 tree forked here 04/07/2001
......
...@@ -1044,6 +1044,12 @@ int do_yesno(int all, int leavecursor, char *msg, ...) ...@@ -1044,6 +1044,12 @@ int do_yesno(int all, int leavecursor, char *msg, ...)
char *nostr; /* Same for no */ char *nostr; /* Same for no */
char *allstr; /* And all, surprise! */ char *allstr; /* And all, surprise! */
char shortstr[5]; /* Temp string for above */ char shortstr[5]; /* Temp string for above */
#ifndef NANO_SMALL
#ifdef NCURSES_MOUSE_VERSION
MEVENT mevent;
#endif
#endif
/* Yes, no and all are strings of any length. Each string consists of /* Yes, no and all are strings of any length. Each string consists of
all characters accepted as a valid character for that value. all characters accepted as a valid character for that value.
...@@ -1091,6 +1097,39 @@ int do_yesno(int all, int leavecursor, char *msg, ...) ...@@ -1091,6 +1097,39 @@ int do_yesno(int all, int leavecursor, char *msg, ...)
kbinput = wgetch(edit); kbinput = wgetch(edit);
switch (kbinput) { switch (kbinput) {
#ifndef NANO_SMALL
#ifdef NCURSES_MOUSE_VERSION
case KEY_MOUSE:
/* Look ma! We get to duplicate lots of code from do_mouse!! */
if (getmouse(&mevent) == ERR)
break;
if (!wenclose(bottomwin, mevent.y, mevent.x) || ISSET(NO_HELP))
break;
mevent.y -= editwinrows + 3;
if (mevent.y < 0)
break;
else {
/* Rather than a bunch of if statements, set up a matrix
of possible return keystrokes based on the x and y values */
if (all) {
char yesnosquare[2][2] = {
{yesstr[0], allstr[0]},
{nostr[0], NANO_CONTROL_C }};
ungetch(yesnosquare[mevent.y][mevent.x/(COLS/6)]);
} else {
char yesnosquare[2][2] = {
{yesstr[0], '\0'},
{nostr[0], NANO_CONTROL_C }};
ungetch(yesnosquare[mevent.y][mevent.x/(COLS/6)]);
}
}
break;
#endif
#endif
case NANO_CONTROL_C: case NANO_CONTROL_C:
ok = -2; ok = -2;
break; break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment