From: Hermès Bélusca-Maïto Date: Fri, 6 Jun 2014 21:05:59 +0000 (+0000) Subject: [CONSRV] X-Git-Tag: backups/0.3.17@66124~1045 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=a06ec7042e001a146bc966492a701844794c5a1f [CONSRV] - Rename a macro to something meaningful. - Localize selection type strings. svn path=/trunk/; revision=63545 --- diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index f660e3414fe..adbbb08c313 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -731,8 +731,8 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) if ((GuiData->Selection.dwFlags & CONSOLE_SELECTION_IN_PROGRESS) == 0) { - LPWSTR SelectionType, WindowTitle = NULL; - SIZE_T Length = 0; + LPWSTR SelTypeStr = NULL , WindowTitle = NULL; + SIZE_T SelTypeStrLength = 0, Length = 0; /* Clear the old selection */ if (GuiData->Selection.dwFlags & CONSOLE_SELECTION_NOT_EMPTY) @@ -740,21 +740,34 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) InvalidateRect(GuiData->hWindow, &oldRect, FALSE); } - if (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION) - { - SelectionType = L"Selection - "; - } - else + /* + * When passing a zero-length buffer size, LoadString(...) returns + * a read-only pointer buffer to the program's resource string. + */ + SelTypeStrLength = + LoadStringW(ConSrvDllInstance, + (GuiData->Selection.dwFlags & CONSOLE_MOUSE_SELECTION) + ? IDS_SELECT_TITLE : IDS_MARK_TITLE, + (LPWSTR)&SelTypeStr, 0); + + /* + * Prepend the selection type string to the current console title + * if we succeeded in retrieving a valid localized string. + */ + if (SelTypeStr) { - SelectionType = L"Mark - "; - } + // 3 for " - " and 1 for NULL + Length = Console->Title.Length + (SelTypeStrLength + 3 + 1) * sizeof(WCHAR); + WindowTitle = ConsoleAllocHeap(0, Length); - Length = Console->Title.Length + wcslen(SelectionType) + 1; - WindowTitle = ConsoleAllocHeap(0, Length * sizeof(WCHAR)); - wcscpy(WindowTitle, SelectionType); - wcscat(WindowTitle, Console->Title.Buffer); - SetWindowText(GuiData->hWindow, WindowTitle); - ConsoleFreeHeap(WindowTitle); + 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; ConioPause(Console, PAUSED_FROM_SELECTION); @@ -771,6 +784,7 @@ UpdateSelection(PGUI_CONSOLE_DATA GuiData, PCOORD coord) GuiData->Selection.dwFlags = CONSOLE_NO_SELECTION; ConioUnpause(Console, PAUSED_FROM_SELECTION); + /* Restore the console title */ 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) { -#ifdef IS_WHITESPACE -#undef IS_WHITESPACE -#endif -#define IS_WHITESPACE(c) \ +#define IS_WORD_SEP(c) \ ((c) == L'\0' || (c) == L' ' || (c) == L'\t' || (c) == L'\r' || (c) == L'\n') 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); /* Enlarge the selection by checking for whitespace */ - while ((0 < cL.X) && !IS_WHITESPACE(ptrL->Char.UnicodeChar) - && !IS_WHITESPACE((ptrL-1)->Char.UnicodeChar)) + while ((0 < cL.X) && !IS_WORD_SEP(ptrL->Char.UnicodeChar) + && !IS_WORD_SEP((ptrL-1)->Char.UnicodeChar)) { --cL.X; --ptrL; } while ((cR.X < TextBuffer->ScreenBufferSize.X - 1) && - !IS_WHITESPACE(ptrR->Char.UnicodeChar) && - !IS_WHITESPACE((ptrR+1)->Char.UnicodeChar)) + !IS_WORD_SEP(ptrR->Char.UnicodeChar) && + !IS_WORD_SEP((ptrR+1)->Char.UnicodeChar)) { ++cR.X; ++ptrR; diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc index fd09239166f..6f56be272fa 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/bg-BG.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc index b40524ac78d..6cf5faf594d 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/cs-CZ.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc index fcac4773c35..31ee03f3cd8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/de-DE.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Eingabeaufforderung" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc index 696823bef64..4ed65aa232c 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/el-GR.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc index d1d81746519..1a32b4882e7 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/en-US.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc index ca10531bbdb..60d1bdcbe88 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc index 7b6f76aa1c7..0dde5099530 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/fr-FR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Marquage" + IDS_SELECT_TITLE "Sélection" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc index 513298c53cd..26e9a424118 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/he-IL.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc index 97904b68e7f..6020733fd58 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/id-ID.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc index 5c2e0ce20e8..e5da7b6d9c9 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/it-IT.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc index b94590d7b1e..701e292e90b 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ja-JP.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc index 776e90965bd..b73c535f2eb 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/no-NO.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc index b20c766a3f7..04023569048 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pl-PL.rc @@ -30,3 +30,9 @@ BEGIN */ IDS_TERMINAL_TITLE "Konsola ReactOS" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc index f4b90ecaaa1..c58d17576f8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/pt-BR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc index 46c2de95ad8..2de14516e74 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ro-RO.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "Consola ReactOS" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc index dcdc2b30060..826cefb4d69 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/ru-RU.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc index a586c3907bc..22890783534 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sk-SK.rc @@ -27,3 +27,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc index 35255a8dece..466ea208629 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/sv-SE.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc index aba643bdbba..9632005db14 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/tr-TR.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc index bafa79d530c..b0ecb8ee6a5 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/uk-UA.rc @@ -24,3 +24,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc index 57ac95b01a8..c0d14a2cd94 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-CN.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc index 2b62adb4810..5848be04f47 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/lang/zh-TW.rc @@ -22,3 +22,9 @@ BEGIN */ IDS_TERMINAL_TITLE "ReactOS Console" END + +STRINGTABLE +BEGIN + IDS_MARK_TITLE "Mark" + IDS_SELECT_TITLE "Select" +END diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h b/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h index 1b79e6e8ac1..2762cd9eee9 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/resource.h @@ -18,17 +18,18 @@ #define ID_SYSTEM_DEFAULTS 0xFFF6 #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 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_MARK_TITLE 220 +#define IDS_SELECT_TITLE 221 // Scrollbar resource ids. Unused. /* diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c index 84d0101d8af..2de3b11ffd8 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/text.c @@ -59,9 +59,6 @@ GuiCopyFromTextModeBuffer(PTEXTMODE_SCREEN_BUFFER Buffer, GuiData->Selection.srSelection.Right, GuiData->Selection.srSelection.Bottom); -#ifdef IS_WHITESPACE -#undef IS_WHITESPACE -#endif #define IS_WHITESPACE(c) ((c) == L'\0' || (c) == L' ' || (c) == L'\t') /* Basic size for one line... */