diff options
| author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-26 03:42:28 +0000 | 
|---|---|---|
| committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-26 03:42:28 +0000 | 
| commit | 5ca2ac597ba4e9f0f5bc63bf88b63871fb8ce7e3 (patch) | |
| tree | a0b25aa23277f0f2b283939160ad6f79b2d1ed3a | |
| parent | * NEWS: func: CLOSE_TAB_MOUSE, MENU_MOUSE, MOVE_MOUSE, TAB_MOUSE (diff) | |
| download | w3m-5ca2ac597ba4e9f0f5bc63bf88b63871fb8ce7e3.tar.gz w3m-5ca2ac597ba4e9f0f5bc63bf88b63871fb8ce7e3.zip | |
[w3m-dev 03485] fix mouse menu position
* main.c (do_mouse_action): use anchor_map is no active_map
		check top left corner
	(FRAME_WIDTH): added
	(menuMs): adjust cursorX using FRAME_WIDTH
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | main.c | 27 | 
2 files changed, 31 insertions, 6 deletions
| @@ -1,3 +1,11 @@ +2002-11-26  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + +	* [w3m-dev 03485] fix mouse menu position +	* main.c (do_mouse_action): use anchor_map is no active_map +			check top left corner +		(FRAME_WIDTH): added +		(menuMs): adjust cursorX using FRAME_WIDTH +  2002-11-26  Fumitoshi UKAI  <ukai@debian.or.jp>  	* NEWS: func: CLOSE_TAB_MOUSE, MENU_MOUSE, MOVE_MOUSE, TAB_MOUSE @@ -5148,4 +5156,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.557 2002/11/26 02:21:14 ukai Exp $ +$Id: ChangeLog,v 1.558 2002/11/26 03:42:28 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.154 2002/11/25 16:59:07 ukai Exp $ */ +/* $Id: main.c,v 1.155 2002/11/26 03:42:28 ukai Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -4864,14 +4864,26 @@ do_mouse_action(int btn, int x, int y)  #endif				/* JP_CHARSET */  	    )) {  	    if (retrieveCurrentAnchor(Currentbuf) || -		retrieveCurrentForm(Currentbuf)) +		retrieveCurrentForm(Currentbuf)) {  		map = &mouse_action.active_map[btn]; +		if (!(map && map->func)) +		    map = &mouse_action.anchor_map[btn]; +	    }  	}  	else {  	    int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY;  	    cursorXY(Currentbuf, x - Currentbuf->rootX, y - Currentbuf->rootY); -	    if (retrieveCurrentAnchor(Currentbuf) || -		retrieveCurrentForm(Currentbuf)) +	    if (y == Currentbuf->cursorY + Currentbuf->rootY && +		(x == Currentbuf->cursorX + Currentbuf->rootX +#ifdef JP_CHARSET +		 || (Currentbuf->currentLine != NULL && +		     (Currentbuf->currentLine-> +		      propBuf[Currentbuf->pos] & PC_KANJI1) +		     && x == Currentbuf->cursorX + Currentbuf->rootX + 1) +#endif				/* JP_CHARSET */ +		) && +		(retrieveCurrentAnchor(Currentbuf) || +		 retrieveCurrentForm(Currentbuf)))  		map = &mouse_action.anchor_map[btn];  	    cursorXY(Currentbuf, cx, cy);  	} @@ -5112,6 +5124,11 @@ movMs(void)  }  #ifdef USE_MENU +#ifdef KANJI_SYMBOLS +#define FRAME_WIDTH 2 +#else +#define FRAME_WIDTH 1 +#endif  void  menuMs(void)  { @@ -5119,7 +5136,7 @@ menuMs(void)  	return;      if ((nTab > 1 || mouse_action.menu_str) &&  	mouse_action.cursorY < LastTab->y + 1) -	mouse_action.cursorX -= 2; +	mouse_action.cursorX -= FRAME_WIDTH + 1;      else if (mouse_action.cursorX >= Currentbuf->rootX &&  	     mouse_action.cursorY < LASTLINE) {  	cursorXY(Currentbuf, mouse_action.cursorX - Currentbuf->rootX, | 
