[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>
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -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 $
|
||||
|
||||
27
main.c
27
main.c
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user