- Fix the display of Line and Column in the Status Bar and add language resources for this

Patch was slightly modified by me to also react on WM_KEYDOWN messages, so that the line/column is already updated, when you're holding down the buttons. (like Windows' notepad does by the way)
We still have to keep WM_KEYUP though, otherwise this doesn't work properly when being used with Page Up/Page Down.

See issue #3702 for more details.

svn path=/trunk/; revision=37176
This commit is contained in:
Colin Finck 2008-11-03 21:23:57 +00:00
parent 178ca611e8
commit 1daef4a078
31 changed files with 37 additions and 18 deletions

View file

@ -871,19 +871,15 @@ VOID DIALOG_GoTo(VOID)
VOID DIALOG_StatusBarUpdateCaretPos(VOID)
{
int line;
int col;
int ccol;
POINT point;
int line, col;
TCHAR buff[MAX_PATH];
DWORD dwStart, dwSize;
GetCaretPos(&point);
line = (int) SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)-1, (LPARAM)0);
ccol = (int) SendMessage(Globals.hEdit, EM_CHARFROMPOS, (WPARAM)0, (LPARAM)MAKELPARAM(point.x, point.y));
ccol = LOWORD(ccol);
col = ccol - (int) SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, (LPARAM)0);
SendMessage(Globals.hEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwSize);
line = SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)dwStart, 0);
col = dwStart - SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, 0);
_stprintf(buff, TEXT("%S %d, %S %d"), Globals.szStatusBarLine, line+1, Globals.szStatusBarCol, col+1);
_stprintf(buff, Globals.szStatusBarLineCol, line+1, col+1);
SendMessage(Globals.hStatusBar, SB_SETTEXT, (WPARAM) SB_SIMPLEID, (LPARAM)buff);
}
@ -896,8 +892,7 @@ VOID DIALOG_ViewStatusBar(VOID)
if ( !Globals.hStatusBar )
{
Globals.hStatusBar = CreateStatusWindow(WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE, TEXT("test"), Globals.hMainWnd, CMD_STATUSBAR_WND_ID );
LoadString(Globals.hInstance, STRING_LINE, Globals.szStatusBarLine, MAX_PATH-1);
LoadString(Globals.hInstance, STRING_COLUMN, Globals.szStatusBarCol, MAX_PATH-1);
LoadString(Globals.hInstance, STRING_LINE_COLUMN, Globals.szStatusBarLineCol, MAX_PATH-1);
SendMessage(Globals.hStatusBar, SB_SIMPLE, (WPARAM)TRUE, (LPARAM)0);
}
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_STATUSBAR,

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Óüèíäîóüñ"
STRING_LF, "Þíèêñ"
STRING_CR, "Ìàê"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -203,4 +203,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Zeile %d, Spalte %d"
END

View file

@ -199,4 +199,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -203,5 +203,6 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -179,5 +179,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Ligne %d, colonne %d"
END

View file

@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -204,4 +204,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Linea %d, colonna %d"
END

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows (CR+LF)"
STRING_LF, "Unix (LF)"
STRING_CR, "Mac (CR)"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -202,4 +202,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -207,4 +207,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -200,4 +200,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Ìàêèíòîø"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -189,4 +189,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -201,4 +201,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -193,4 +193,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -198,4 +198,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -199,4 +199,5 @@ STRING_UTF8, "UTF-8"
STRING_CRLF, "Windows"
STRING_LF, "Unix"
STRING_CR, "Mac"
STRING_LINE_COLUMN, "Line %d, column %d"
END

View file

@ -302,6 +302,7 @@ LRESULT CALLBACK EDIT_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_KEYDOWN:
case WM_KEYUP:
{
switch (wParam)

View file

@ -61,8 +61,7 @@ typedef struct
TCHAR szMarginRight[MAX_PATH];
TCHAR szHeader[MAX_PATH];
TCHAR szFooter[MAX_PATH];
TCHAR szStatusBarLine[MAX_PATH];
TCHAR szStatusBarCol[MAX_PATH];
TCHAR szStatusBarLineCol[MAX_PATH];
int iEncoding;
int iEoln;

View file

@ -101,5 +101,4 @@
#define STRING_CR 0x184
#define STRING_LICENSE 0x185
#define STRING_LINE 0x186
#define STRING_COLUMN 0x187
#define STRING_LINE_COLUMN 0x186

View file

@ -112,7 +112,7 @@ void LoadSettings(void)
base_length = (GetSystemMetrics(SM_CXSCREEN) > GetSystemMetrics(SM_CYSCREEN))?
GetSystemMetrics(SM_CYSCREEN) : GetSystemMetrics(SM_CXSCREEN);
dx = base_length * .95;
dx = (INT)(base_length * .95);
dy = dx * 3 / 4;
SetRect( &Globals.main_rect, 0, 0, dx, dy );