- Rename a macro to something meaningful.
- Localize selection type strings.

svn path=/trunk/; revision=63545
This commit is contained in:
Hermès Bélusca-Maïto 2014-06-06 21:05:59 +00:00
parent 0c2a513314
commit a06ec7042e
25 changed files with 178 additions and 37 deletions

View file

@ -731,8 +731,8 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord)
if ((GuiData->Selection.dwFlags & CONSOLE_SELECTION_IN_PROGRESS) == 0) if ((GuiData->Selection.dwFlags & CONSOLE_SELECTION_IN_PROGRESS) == 0)
{ {
LPWSTR SelectionType, WindowTitle = NULL; LPWSTR SelTypeStr = NULL , WindowTitle = NULL;
SIZE_T Length = 0; SIZE_T SelTypeStrLength = 0, Length = 0;
/* Clear the old selection */ /* Clear the old selection */
if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY)
@ -740,21 +740,34 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord)
InvalidateRect(GuiData->hWindow, &oldRect, FALSE); InvalidateRect(GuiData->hWindow, &oldRect, FALSE);
} }
if (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION) /*
{ * When passing a zero-length buffer size, LoadString(...) returns
SelectionType = L"Selection - "; * a read-only pointer buffer to the program's resource string.
} */
else SelTypeStrLength =
{ LoadStringW(ConSrvDllInstance,
SelectionType = L"Mark - "; (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION)
} ? IDS_SELECT_TITLE : IDS_MARK_TITLE,
(LPWSTR)&SelTypeStr, 0);
Length = Console->Title.Length + wcslen(SelectionType) + 1; /*
WindowTitle = ConsoleAllocHeap(0, Length * sizeof(WCHAR)); * Prepend the selection type string to the current console title
wcscpy(WindowTitle, SelectionType); * if we succeeded in retrieving a valid localized string.
wcscat(WindowTitle, Console->Title.Buffer); */
SetWindowText(GuiData->hWindow, WindowTitle); if (SelTypeStr)
ConsoleFreeHeap(WindowTitle); {
// 3 for " - " and 1 for NULL
Length = Console->Title.Length + (SelTypeStrLength + 3 + 1) * sizeof(WCHAR);
WindowTitle = ConsoleAllocHeap(0, Length);
wcsncpy(WindowTitle, SelTypeStr, SelTypeStrLength);
WindowTitle[SelTypeStrLength] = L'\0';
wcscat(WindowTitle, L" - ");
wcscat(WindowTitle, Console->Title.Buffer);
SetWindowText(GuiData->hWindow, WindowTitle);
ConsoleFreeHeap(WindowTitle);
}
GuiData->Selection.dwFlags |= CONSOLE_SELECTION_IN_PROGRESS; GuiData->Selection.dwFlags |= CONSOLE_SELECTION_IN_PROGRESS;
ConioPause(Console, PAUSED_FROM_SELECTION); ConioPause(Console, PAUSED_FROM_SELECTION);
@ -771,6 +784,7 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord)
GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION;
ConioUnpause(Console, PAUSED_FROM_SELECTION); ConioUnpause(Console, PAUSED_FROM_SELECTION);
/* Restore the console title */
SetWindowText(GuiData->hWindow, Console->Title.Buffer); SetWindowText(GuiData->hWindow, Console->Title.Buffer);
} }
} }
@ -1305,10 +1319,7 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
if (GetType(Buffer) == TEXTMODE_BUFFER) if (GetType(Buffer) == TEXTMODE_BUFFER)
{ {
#ifdef IS_WHITESPACE #define IS_WORD_SEP(c) \
#undef IS_WHITESPACE
#endif
#define IS_WHITESPACE(c) \
((c) == L'\0' || (c) == L' ' || (c) == L'\t' || (c) == L'\r' || (c) == L'\n') ((c) == L'\0' || (c) == L' ' || (c) == L'\t' || (c) == L'\r' || (c) == L'\n')
PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer; PTEXTMODE_SCREEN_BUFFER TextBuffer = (PTEXTMODE_SCREEN_BUFFER)Buffer;
@ -1320,15 +1331,15 @@ OnMouse(PGUI_CONSOLE_DATA GuiData, UINT msg, WPARAM wParam, LPARAM lParam)
ptrL = ptrR = ConioCoordToPointer(TextBuffer, cL.X, cL.Y); ptrL = ptrR = ConioCoordToPointer(TextBuffer, cL.X, cL.Y);
/* Enlarge the selection by checking for whitespace */ /* Enlarge the selection by checking for whitespace */
while ((0 < cL.X) && !IS_WHITESPACE(ptrL->Char.UnicodeChar) while ((0 < cL.X) && !IS_WORD_SEP(ptrL->Char.UnicodeChar)
&& !IS_WHITESPACE((ptrL-1)->Char.UnicodeChar)) && !IS_WORD_SEP((ptrL-1)->Char.UnicodeChar))
{ {
--cL.X; --cL.X;
--ptrL; --ptrL;
} }
while ((cR.X < TextBuffer->ScreenBufferSize.X - 1) && while ((cR.X < TextBuffer->ScreenBufferSize.X - 1) &&
!IS_WHITESPACE(ptrR->Char.UnicodeChar) && !IS_WORD_SEP(ptrR->Char.UnicodeChar) &&
!IS_WHITESPACE((ptrR+1)->Char.UnicodeChar)) !IS_WORD_SEP((ptrR+1)->Char.UnicodeChar))
{ {
++cR.X; ++cR.X;
++ptrR; ++ptrR;

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Eingabeaufforderung" IDS_TERMINAL_TITLE "ReactOS Eingabeaufforderung"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Marquage"
IDS_SELECT_TITLE "Sélection"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -30,3 +30,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "Konsola ReactOS" IDS_TERMINAL_TITLE "Konsola ReactOS"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "Consola ReactOS" IDS_TERMINAL_TITLE "Consola ReactOS"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -27,3 +27,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -24,3 +24,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -22,3 +22,9 @@ BEGIN
*/ */
IDS_TERMINAL_TITLE "ReactOS Console" IDS_TERMINAL_TITLE "ReactOS Console"
END END
STRINGTABLE
BEGIN
IDS_MARK_TITLE "Mark"
IDS_SELECT_TITLE "Select"
END

View file

@ -18,17 +18,18 @@
#define ID_SYSTEM_DEFAULTS 0xFFF6 #define ID_SYSTEM_DEFAULTS 0xFFF6
#define ID_SYSTEM_PROPERTIES 0xFFF7 #define ID_SYSTEM_PROPERTIES 0xFFF7
#define NCPOPUP_MENU 103 #define IDS_EDIT 204
#define IDS_MARK 205
#define IDS_COPY 206
#define IDS_PASTE 207
#define IDS_SELECTALL 208
#define IDS_SCROLL 209
#define IDS_FIND 210
#define IDS_DEFAULTS 211
#define IDS_PROPERTIES 212
#define IDS_EDIT 204 #define IDS_MARK_TITLE 220
#define IDS_MARK 205 #define IDS_SELECT_TITLE 221
#define IDS_COPY 206
#define IDS_PASTE 207
#define IDS_SELECTALL 208
#define IDS_SCROLL 209
#define IDS_FIND 210
#define IDS_DEFAULTS 211
#define IDS_PROPERTIES 212
// Scrollbar resource ids. Unused. // Scrollbar resource ids. Unused.
/* /*

View file

@ -59,9 +59,6 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer,
GuiData->Selection.srSelection.Right, GuiData->Selection.srSelection.Right,
GuiData->Selection.srSelection.Bottom); GuiData->Selection.srSelection.Bottom);
#ifdef IS_WHITESPACE
#undef IS_WHITESPACE
#endif
#define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t') #define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t')
/* Basic size for one line... */ /* Basic size for one line... */