[ros-diffs] [reactos] 01/01: [SDK][STDLIB][STRING] Wine-sync wcsrtombs_l and _mbstowcs_l
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d8eeb31b8aed32d079c8d1f30d594e1d5306607e commit d8eeb31b8aed32d079c8d1f30d594e1d5306607e Author: Bișoc George AuthorDate: Fri May 1 18:36:19 2020 +0200 Commit: Mark Jansen CommitDate: Sun May 3 15:35:11 2020 +0200 [SDK][STDLIB][STRING] Wine-sync wcsrtombs_l and _mbstowcs_l This is a partial sync of the CRT library with wcsrtombs_l and _mbstowcs_l functions from WINE. The _wctomb_s_l implementation of WINE which is used by _wctomb_s, _wctomb_l and wctomb brings failed results of the wctomb unit testcase and at the same time it crashes the whole testcase after. Therefore I will not address the wctomb function for the moment being. --- sdk/lib/crt/stdlib/mbstowcs.c | 31 +++ sdk/lib/crt/string/wcs.c | 33 - 2 files changed, 55 insertions(+), 9 deletions(-) diff --git a/sdk/lib/crt/stdlib/mbstowcs.c b/sdk/lib/crt/stdlib/mbstowcs.c index 1fe9917f332..79c0f199c93 100644 --- a/sdk/lib/crt/stdlib/mbstowcs.c +++ b/sdk/lib/crt/stdlib/mbstowcs.c @@ -1,7 +1,7 @@ #include /* - * _mbstowcs_l + * _mbstowcs_l (MSVCRT.@) */ size_t CDECL _mbstowcs_l(wchar_t *wcstr, const char *mbstr, size_t count, _locale_t locale) @@ -9,11 +9,27 @@ size_t CDECL _mbstowcs_l(wchar_t *wcstr, const char *mbstr, MSVCRT_pthreadlocinfo locinfo; size_t i, size; +if(!mbstr) { +_set_errno(EINVAL); +return -1; +} + if(!locale) locinfo = get_locinfo(); else locinfo = ((MSVCRT__locale_t)locale)->locinfo; +if(!locinfo->lc_codepage) { +if(!wcstr) +return strlen(mbstr); + +for(i=0; ilc_codepage, 0, mbstr, -1, NULL, 0)-1; @@ -25,10 +41,17 @@ size_t CDECL _mbstowcs_l(wchar_t *wcstr, const char *mbstr, size += (_isleadbyte_l((unsigned char)mbstr[size], locale) ? 2 : 1); } -size = MultiByteToWideChar(locinfo->lc_codepage, 0, -mbstr, size, wcstr, count); +if(size) { +size = MultiByteToWideChar(locinfo->lc_codepage, 0, + mbstr, size, wcstr, count); +if(!size) { +if(count) wcstr[0] = '\0'; +_set_errno(EILSEQ); +return -1; +} +} -if(sizelocinfo; +if(!locinfo->lc_codepage) { +size_t i; + +if(!mbstr) +return strlenW(*wcstr); + +for(i=0; i 255) { +_set_errno(EILSEQ); +return -1; +} + +mbstr[i] = (*wcstr)[i]; +if(!(*wcstr)[i]) break; +} +return i; +} + if(!mbstr) { tmp = WideCharToMultiByte(locinfo->lc_codepage, WC_NO_BEST_FIT_CHARS, -*wcstr, -1, NULL, 0, NULL, _default)-1; -if(used_default) +*wcstr, -1, NULL, 0, NULL, _default); +if(!tmp || used_default) { +_set_errno(EILSEQ); return -1; -return tmp; +} +return tmp-1; } while(**wcstr) { @@ -282,8 +303,10 @@ static size_t CDECL wcsrtombs_l(char *mbstr, const wchar_t **wcstr, size_t count size = WideCharToMultiByte(locinfo->lc_codepage, WC_NO_BEST_FIT_CHARS, *wcstr, 1, buf, 3, NULL, _default); -if(used_default) +if(!size || used_default) { +_set_errno(EILSEQ); return -1; +} if(tmp+size > count) return tmp;
[ros-diffs] [reactos] 01/01: [CRT_APITEST] Implement wctomb() testcase (#2701)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3cb0bdaa0bd427cba21a8288ad0a4d37b2743037 commit 3cb0bdaa0bd427cba21a8288ad0a4d37b2743037 Author: Bișoc George AuthorDate: Fri May 1 16:01:11 2020 +0200 Commit: GitHub CommitDate: Fri May 1 16:01:11 2020 +0200 [CRT_APITEST] Implement wctomb() testcase (#2701) --- .../rostests/apitests/crt/crtdll_crt_apitest.cmake | 2 +- .../rostests/apitests/crt/msvcrt_crt_apitest.cmake | 2 +- .../rostests/apitests/crt/ntdll_crt_apitest.cmake | 1 + modules/rostests/apitests/crt/testlist.c | 2 + modules/rostests/apitests/crt/wctomb.c | 67 ++ 5 files changed, 72 insertions(+), 2 deletions(-) diff --git a/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake b/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake index 768168681e8..f40c603c480 100644 --- a/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake @@ -519,7 +519,7 @@ list(APPEND SOURCE_CRTDLL wcstombs.c wcstoul.c #wcsxfrm.c -#wctomb.c +wctomb.c #wprintf.c #wscanf.c ) diff --git a/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake b/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake index 2e3aaf9f3fc..e53d3b4f6fc 100644 --- a/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake @@ -1255,7 +1255,7 @@ list(APPEND SOURCE_MSVCRT wcstoul.c #wcsxfrm.c #wctob -#wctomb.c +wctomb.c #wctomb_s #wprintf.c #wprintf_s.c diff --git a/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake b/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake index 41322e1c338..7f923043068 100644 --- a/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake @@ -123,6 +123,7 @@ list(APPEND SOURCE_NTDLL #wcstol.c wcstombs.c wcstoul.c +wctomb.c ) if(ARCH STREQUAL "i386") diff --git a/modules/rostests/apitests/crt/testlist.c b/modules/rostests/apitests/crt/testlist.c index 3afeb450484..20587372301 100644 --- a/modules/rostests/apitests/crt/testlist.c +++ b/modules/rostests/apitests/crt/testlist.c @@ -26,6 +26,7 @@ extern void func_strtoul(void); extern void func_wcsnlen(void); extern void func_wcstombs(void); extern void func_wcstoul(void); +extern void func_wctomb(void); extern void func___getmainargs(void); extern void func_static_construct(void); @@ -44,6 +45,7 @@ const struct test winetest_testlist[] = { "strlen", func_strlen }, { "strtoul", func_strtoul }, { "wcstoul", func_wcstoul }, +{ "wctomb", func_wctomb }, { "wcstombs", func_wcstombs }, #if defined(TEST_CRTDLL) || defined(TEST_MSVCRT) || defined(TEST_STATIC_CRT) // ... diff --git a/modules/rostests/apitests/crt/wctomb.c b/modules/rostests/apitests/crt/wctomb.c new file mode 100644 index 000..b72d6156329 --- /dev/null +++ b/modules/rostests/apitests/crt/wctomb.c @@ -0,0 +1,67 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for wctomb + * COPYRIGHT: Copyright 2020 Bișoc George + */ + +#include +#include + +#define WIN32_NO_STATUS +#include +#include +#include +#include + +unsigned int cdecl ___lc_codepage_func(void); + +START_TEST(wctomb) +{ +int Length; +char *chDest; +char *loc; +unsigned int codepage = ___lc_codepage_func(); +wchar_t wchSrc[2] = {L'R', 0414}; // 0414 corresponds to a Russian character in Windows-1251 + +chDest = AllocateGuarded(sizeof(*chDest)); +if (!chDest) +{ +skip("Buffer allocation failed!\n"); +return; +} + +/* Output the current locale of the system and codepage for comparison between ReactOS and Windows */ +loc = setlocale(LC_ALL, NULL); +printf("The current codepage of your system tested is (%u) and locale (%s).\n\n", codepage, loc); + +/* Do not give output to the caller */ +Length = wctomb(NULL, 0); +ok(Length == 0, "Expected no characters to be converted (because the output argument is refused) but got %d\n.", Length); + +/* Do the same but expect a valid wide character argument this time */ +Length = wctomb(NULL, wchSrc[0]); +ok(Length == 0, "Expected no characters to be converted (because the output argument is refused) but got %d\n.", Length); + +/* Don't return anything to the output even if conversion is impossible */ +Length = wctomb(NULL, wchSrc[1]); +ok(errno == 0, "The error number (errno) should be 0 even though an invalid character in current locale is given but got %d.\n", errno); +ok(Length == 0, "Expected no characters to be converted (because the output argument is refused) but got %d\n.", L
[ros-diffs] [reactos] 01/01: [CRT][STDLIB] Wine-sync _mbtowc_l function code
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8266f62ff6881cc3210617b5eca7bbd2b2644f35 commit 8266f62ff6881cc3210617b5eca7bbd2b2644f35 Author: Bișoc George AuthorDate: Tue Apr 21 11:28:07 2020 +0200 Commit: Mark Jansen CommitDate: Tue Apr 28 22:41:57 2020 +0200 [CRT][STDLIB] Wine-sync _mbtowc_l function code The current _mbtowc_l code directly passes the string count size argument to cbMultiByte argument parameter to MultiByteToWideChar(). As the size of lpMultiByteStr expressed in bytes by cbMultiByte is dependent of the actual given string, the size of lpWideCharStr expressed in characters by cchWideChar is always 1. The resulting parameters to MultiByteToWideChar() will lead to a failure as lpWideCharStr cannot accommodate the converted string if the size pointed by lpMultiByteStr is larger than the buffer wide string to receive the converted output, a Win32 error code of ERROR_INSUFFICIENT_BUFFER in other words. The fact that _mbtowc_l never fails without WINE Gecko package installed is because the codepage pointed by lc_codepage is CP_ACP and the converted output is directly given to the destin [...] As _mbtowc_l is imported from WINE and that they have updated their code (which at the same time this fixes the aforementioned problem), the following commit syncs the updated code from WINE. CORE-16885 --- sdk/lib/crt/stdlib/mbtowc.c | 30 +++--- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/sdk/lib/crt/stdlib/mbtowc.c b/sdk/lib/crt/stdlib/mbtowc.c index 5ccb7e3a2e8..41bd0234f74 100644 --- a/sdk/lib/crt/stdlib/mbtowc.c +++ b/sdk/lib/crt/stdlib/mbtowc.c @@ -18,24 +18,32 @@ int CDECL _mbtowc_l(wchar_t *dst, const char* str, size_t n, _locale_t locale) MSVCRT_pthreadlocinfo locinfo; wchar_t tmpdst = '\0'; -if(!locale) +if (!locale) locinfo = get_locinfo(); else locinfo = (MSVCRT_pthreadlocinfo)(locale->locinfo); -if(n <= 0 || !str) +if (n <= 0 || !str) return 0; -if(!locinfo->lc_codepage) -tmpdst = (unsigned char)*str; -else if(!MultiByteToWideChar(locinfo->lc_codepage, 0, str, n, , 1)) -return -1; -if(dst) -*dst = tmpdst; -/* return the number of bytes from src that have been used */ -if(!*str) + +if (!*str) { +if (dst) *dst = 0; return 0; -if(n >= 2 && _isleadbyte_l((unsigned char)*str, locale) && str[1]) +} + +if (!locinfo->lc_codepage) { +if (dst) *dst = (unsigned char)*str; +return 1; +} +if (n >= 2 && _isleadbyte_l((unsigned char)*str, locale)) { +if (!MultiByteToWideChar(locinfo->lc_codepage, 0, str, 2, , 1)) +return -1; +if (dst) *dst = tmpdst; return 2; +} +if (!MultiByteToWideChar(locinfo->lc_codepage, 0, str, 1, , 1)) +return -1; +if (dst) *dst = tmpdst; return 1; }
[ros-diffs] [reactos] 01/01: [UTILMAN] Properly annotate some variables (#2561)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e4f70e5434af2b6dfaac02f39f2afad2bb5a997a commit e4f70e5434af2b6dfaac02f39f2afad2bb5a997a Author: Bișoc George AuthorDate: Sun Apr 26 14:14:17 2020 +0200 Commit: GitHub CommitDate: Sun Apr 26 14:14:17 2020 +0200 [UTILMAN] Properly annotate some variables (#2561) Previously the code had a mixture of 'sz', 'wsz', 'lp' and 'lpwsz' Hungarian annotation prefixes which could bring confusions about the nature of the annotated variables. From now on all of these variables have a well defined annotation. Furthermore, add a missing argument annotation to LaunchProcess(). --- base/applications/utilman/umandlg/about.c| 6 +++--- base/applications/utilman/umandlg/process.c | 22 +-- base/applications/utilman/umandlg/registry.c | 32 ++-- base/applications/utilman/umandlg/umandlg.c | 14 ++-- base/applications/utilman/umandlg/umandlg.h | 32 ++-- base/applications/utilman/utilman.c | 14 ++-- 6 files changed, 60 insertions(+), 60 deletions(-) diff --git a/base/applications/utilman/umandlg/about.c b/base/applications/utilman/umandlg/about.c index 84615679c09..ea66987296a 100644 --- a/base/applications/utilman/umandlg/about.c +++ b/base/applications/utilman/umandlg/about.c @@ -43,11 +43,11 @@ INT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { case WM_INITDIALOG: { -WCHAR wszAppPath[MAX_BUFFER]; +WCHAR szAppPath[MAX_BUFFER]; /* Extract the icon resource from the executable process */ -GetModuleFileNameW(NULL, wszAppPath, _countof(wszAppPath)); -Globals.hIcon = ExtractIconW(Globals.hInstance, wszAppPath, 0); +GetModuleFileNameW(NULL, szAppPath, _countof(szAppPath)); +Globals.hIcon = ExtractIconW(Globals.hInstance, szAppPath, 0); /* Set the icon within the dialog's title bar */ if (Globals.hIcon) diff --git a/base/applications/utilman/umandlg/process.c b/base/applications/utilman/umandlg/process.c index c5444ff2883..ab3403ffa39 100644 --- a/base/applications/utilman/umandlg/process.c +++ b/base/applications/utilman/umandlg/process.c @@ -16,14 +16,14 @@ * * Returns the process executable ID based on the given executable name. * - * @param[in] lpProcessName + * @param[in] lpszProcessName * The name of the executable process. * * @return * Returns the ID number of the process, otherwise 0. * */ -DWORD GetProcessID(IN LPCWSTR lpProcessName) +DWORD GetProcessID(IN LPCWSTR lpszProcessName) { PROCESSENTRY32W Process; @@ -41,7 +41,7 @@ DWORD GetProcessID(IN LPCWSTR lpProcessName) { do { -if (_wcsicmp(Process.szExeFile, lpProcessName) == 0) +if (_wcsicmp(Process.szExeFile, lpszProcessName) == 0) { /* The names match, return the process ID we're interested */ CloseHandle(hSnapshot); @@ -60,7 +60,7 @@ DWORD GetProcessID(IN LPCWSTR lpProcessName) * * Checks if a process is running. * - * @param[in] lpProcessName + * @param[in] lpszProcessName * The name of the executable process. * * @return @@ -68,13 +68,13 @@ DWORD GetProcessID(IN LPCWSTR lpProcessName) * FALSE otherwise. * */ -BOOL IsProcessRunning(IN LPCWSTR lpProcessName) +BOOL IsProcessRunning(IN LPCWSTR lpszProcessName) { DWORD dwReturn, dwProcessID; HANDLE hProcess; /* Get the process ID */ -dwProcessID = GetProcessID(lpProcessName); +dwProcessID = GetProcessID(lpszProcessName); if (dwProcessID == 0) { return FALSE; @@ -114,7 +114,7 @@ BOOL IsProcessRunning(IN LPCWSTR lpProcessName) * FALSE otherwise. * */ -BOOL LaunchProcess(LPCWSTR lpProcessName) +BOOL LaunchProcess(IN LPCWSTR lpszProcessName) { STARTUPINFOW si; PROCESS_INFORMATION pi; @@ -123,7 +123,7 @@ BOOL LaunchProcess(LPCWSTR lpProcessName) WCHAR ExpandedCmdLine[MAX_PATH]; /* Expand the process path string */ -ExpandEnvironmentStringsW(lpProcessName, ExpandedCmdLine, ARRAYSIZE(ExpandedCmdLine)); +ExpandEnvironmentStringsW(lpszProcessName, ExpandedCmdLine, ARRAYSIZE(ExpandedCmdLine)); ZeroMemory(, sizeof(pi)); ZeroMemory(, sizeof(si)); @@ -181,7 +181,7 @@ BOOL LaunchProcess(LPCWSTR lpProcessName) * * Closes a process. * - * @param[in] lpProcessName + * @param[in] lpszProcessName * The name of the executable process. * * @return @@ -189,13 +189,13 @@ BOOL LaunchProcess(LPCWSTR lpProcessName) * FALSE otherwise. * */ -BOOL CloseProcess(IN LPCWSTR lpProcessName) +BOOL CloseProcess(IN LPCWSTR lpszProcessName) { HANDLE hProcess; DWORD dwProcessID; /* Get the process ID */ -dwProcessID = GetProcessID(lpProcessName); +dwProcessID = GetProcessID(lpszProcessName
[ros-diffs] [reactos] 01/01: [UTILMAN] Add Romanian and Italian translations (#2562)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4247e3f838ef32f209e51a278114bcdb78eea59e commit 4247e3f838ef32f209e51a278114bcdb78eea59e Author: Bișoc George AuthorDate: Sun Apr 26 13:14:44 2020 +0200 Commit: GitHub CommitDate: Sun Apr 26 13:14:44 2020 +0200 [UTILMAN] Add Romanian and Italian translations (#2562) --- base/applications/utilman/lang/it-IT.rc | 14 ++ base/applications/utilman/lang/ro-RO.rc | 14 ++ base/applications/utilman/utilman.rc| 6 ++ 3 files changed, 34 insertions(+) diff --git a/base/applications/utilman/lang/it-IT.rc b/base/applications/utilman/lang/it-IT.rc new file mode 100644 index 000..a74f9bd463d --- /dev/null +++ b/base/applications/utilman/lang/it-IT.rc @@ -0,0 +1,14 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Italian (Italy) translation resource + * COPYRIGHT: Copyright 2020 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_FAIL_INIT "L'inizializzazione della libreria dell'applicazione Utility Manager fallita! Il codice errore è %lu." +IDS_FAIL_INIT_TITLE "Inizializzazione fallita" +END diff --git a/base/applications/utilman/lang/ro-RO.rc b/base/applications/utilman/lang/ro-RO.rc new file mode 100644 index 000..05ef717703b --- /dev/null +++ b/base/applications/utilman/lang/ro-RO.rc @@ -0,0 +1,14 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Romanian (Romania) translation resource + * COPYRIGHT: Copyright 2020 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_FAIL_INIT "Inițializarea fișierului de sistem al aplicației Manager utilitare a eșuat! Codul eroare este %lu." +IDS_FAIL_INIT_TITLE "Inițializarea eșuată" +END diff --git a/base/applications/utilman/utilman.rc b/base/applications/utilman/utilman.rc index c6991cbb79c..a5a21d104f3 100644 --- a/base/applications/utilman/utilman.rc +++ b/base/applications/utilman/utilman.rc @@ -28,5 +28,11 @@ IDI_ICON_UTILMAN ICON "res/utilman.ico" #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif +#ifdef LANGUAGE_RO_RO +#include "lang/ro-RO.rc" +#endif /* EOF */
[ros-diffs] [reactos] 01/01: [CRT_APITEST] Add testcase for mbtowc() (#2652)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=07640a9a2110311d4e3e429a0836995d6c5e73e5 commit 07640a9a2110311d4e3e429a0836995d6c5e73e5 Author: Bișoc George AuthorDate: Sun Apr 26 12:18:41 2020 +0200 Commit: GitHub CommitDate: Sun Apr 26 13:18:41 2020 +0300 [CRT_APITEST] Add testcase for mbtowc() (#2652) --- .../rostests/apitests/crt/crtdll_crt_apitest.cmake | 2 +- modules/rostests/apitests/crt/mbtowc.c | 61 ++ .../rostests/apitests/crt/msvcrt_crt_apitest.cmake | 2 +- .../rostests/apitests/crt/ntdll_crt_apitest.cmake | 1 + modules/rostests/apitests/crt/testlist.c | 2 + 5 files changed, 66 insertions(+), 2 deletions(-) diff --git a/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake b/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake index 8361b7b1105..768168681e8 100644 --- a/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/crtdll_crt_apitest.cmake @@ -425,7 +425,7 @@ list(APPEND SOURCE_CRTDLL #malloc.c #mblen.c mbstowcs.c -#mbtowc.c +mbtowc.c #memchr.c #memcmp.c #memcpy.c diff --git a/modules/rostests/apitests/crt/mbtowc.c b/modules/rostests/apitests/crt/mbtowc.c new file mode 100644 index 000..50b014f66a0 --- /dev/null +++ b/modules/rostests/apitests/crt/mbtowc.c @@ -0,0 +1,61 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for mbtowc + * COPYRIGHT: Copyright 2020 Bișoc George + */ + +#include +#include + +#define WIN32_NO_STATUS +#include +#include + +START_TEST(mbtowc) +{ +int Length; +wchar_t BufferDest[3]; +char *ch; + +ch = AllocateGuarded(sizeof(ch)); +if (!ch) +{ +skip("Buffer allocation failed!\n"); +return; +} + +/* Assign a character for tests */ +*ch = 'A'; + +/* Everything is NULL */ +Length = mbtowc(NULL, NULL, 0); +ok(Length == 0, "Expected 0 characters to be converted as everything is NULL but got %u.\n", Length); + +/* Don't examine the number of bytes pointed by multibyte parameter */ +Length = mbtowc(BufferDest, ch, 0); +ok(Length == 0, "Expected 0 characters to be converted but got %u.\n", Length); + +/* Wide character argument is invalid */ +Length = mbtowc(NULL, ch, 0); +ok(Length == 0, "Expected 0 characters to be converted but got %u.\n", Length); + +/* The multibyte argument is invalid */ +Length = mbtowc(BufferDest, NULL, 0); +ok(Length == 0, "Expected 0 characters to be converted but got %u.\n", Length); + +/* The multibyte argument is invalid but count number for examination is correct */ +Length = mbtowc(BufferDest, NULL, MB_CUR_MAX); +ok(Length == 0, "Expected 0 characters to be converted but got %u.\n", Length); + +/* Don't give the output but the count character inspection argument is valid */ +Length = mbtowc(NULL, ch, MB_CUR_MAX); +ok(Length == 1, "The number of bytes to check should be 1 but got %u.\n", Length); + +/* Convert the character and validate the output that we should get */ +Length = mbtowc(BufferDest, ch, MB_CUR_MAX); +ok(Length == 1, "Expected 1 character to be converted but got %u.\n", Length); +ok_int(BufferDest[0], L'A'); + +FreeGuarded(ch); +} diff --git a/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake b/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake index 619fcdfa780..2e3aaf9f3fc 100644 --- a/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/msvcrt_crt_apitest.cmake @@ -1119,7 +1119,7 @@ list(APPEND SOURCE_MSVCRT #mbsrtowcs_s mbstowcs.c #mbstowcs_s Not exported in 2k3 Sp1 -#mbtowc.c +mbtowc.c #memchr.c #memcmp.c #memcpy.c diff --git a/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake b/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake index b9ffc61c5f4..41322e1c338 100644 --- a/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake +++ b/modules/rostests/apitests/crt/ntdll_crt_apitest.cmake @@ -72,6 +72,7 @@ list(APPEND SOURCE_NTDLL #labs.c #log.c mbstowcs.c +mbtowc.c #memchr.c #memcmp.c # memcpy == memmove diff --git a/modules/rostests/apitests/crt/testlist.c b/modules/rostests/apitests/crt/testlist.c index 61516d82068..3afeb450484 100644 --- a/modules/rostests/apitests/crt/testlist.c +++ b/modules/rostests/apitests/crt/testlist.c @@ -17,6 +17,7 @@ extern void func__snwprintf(void); extern void func__vsnprintf(void); extern void func__vsnwprintf(void); extern void func_mbstowcs(void); +extern void func_mbtowc(void); extern void func_sprintf(void); extern void func_strcpy(void); extern void func_strlen(void); @@ -35,6 +36,7 @@ const struct test winetest_testlist[] = { "_vsnp
[ros-diffs] [reactos] 01/01: [APITEST][NTDLL] Implement RtlGetNtProductType testcase (#2489)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d778d04a16a2cb67bef1574b8272c6e4d91b75dd commit d778d04a16a2cb67bef1574b8272c6e4d91b75dd Author: Bișoc George AuthorDate: Fri Apr 17 12:47:09 2020 +0200 Commit: GitHub CommitDate: Fri Apr 17 13:47:09 2020 +0300 [APITEST][NTDLL] Implement RtlGetNtProductType testcase (#2489) --- modules/rostests/apitests/ntdll/CMakeLists.txt | 1 + .../rostests/apitests/ntdll/RtlGetNtProductType.c | 97 ++ modules/rostests/apitests/ntdll/testlist.c | 2 + 3 files changed, 100 insertions(+) diff --git a/modules/rostests/apitests/ntdll/CMakeLists.txt b/modules/rostests/apitests/ntdll/CMakeLists.txt index 7da1843babe..d03b29806c9 100644 --- a/modules/rostests/apitests/ntdll/CMakeLists.txt +++ b/modules/rostests/apitests/ntdll/CMakeLists.txt @@ -56,6 +56,7 @@ list(APPEND SOURCE RtlGetFullPathName_UstrEx.c RtlGetLengthWithoutTrailingPathSeperators.c RtlGetLongestNtPathLength.c +RtlGetNtProductType.c RtlHandle.c RtlImageRvaToVa.c RtlIsNameLegalDOS8Dot3.c diff --git a/modules/rostests/apitests/ntdll/RtlGetNtProductType.c b/modules/rostests/apitests/ntdll/RtlGetNtProductType.c new file mode 100644 index 000..7f148c13ebc --- /dev/null +++ b/modules/rostests/apitests/ntdll/RtlGetNtProductType.c @@ -0,0 +1,97 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for the RtlGetNtProductType API + * COPYRIGHT: Copyright 2020 Bișoc George + */ + +#include "precomp.h" +#include +#include + +static +BOOLEAN +ReturnNtProduct(PDWORD ProductNtType) +{ +LONG Result; +HKEY Key; +WCHAR Data[20]; +DWORD Size = sizeof(Data); + +Result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions", + 0, + KEY_QUERY_VALUE, + ); +if (Result != ERROR_SUCCESS) +{ +*ProductNtType = 0; +return FALSE; +} + +Result = RegQueryValueExW(Key, + L"ProductType", + NULL, + NULL, + (PBYTE), + ); +if (Result != ERROR_SUCCESS) +{ +RegCloseKey(Key); +*ProductNtType = 0; +return FALSE; +} + +if (wcscmp(Data, L"WinNT") == 0) +{ +*ProductNtType = NtProductWinNt; +RegCloseKey(Key); +return TRUE; +} + +if (wcscmp(Data, L"LanmanNT") == 0) +{ +*ProductNtType = NtProductLanManNt; +RegCloseKey(Key); +return TRUE; +} + +if (wcscmp(Data, L"ServerNT") == 0) +{ +*ProductNtType = NtProductServer; +RegCloseKey(Key); +return TRUE; +} + +*ProductNtType = 0; +RegCloseKey(Key); +return FALSE; +} + +START_TEST(RtlGetNtProductType) +{ +BOOLEAN Ret; +DWORD ProductNtType; +NT_PRODUCT_TYPE ProductType = NtProductWinNt; + +/* + * Wrap the call in SEH. This ensures the testcase won't crash but also + * it proves to us that RtlGetNtProductType() throws an exception if a NULL + * argument is being passed to caller as output. + */ +StartSeh() +RtlGetNtProductType(NULL); +EndSeh(STATUS_ACCESS_VIOLATION); + +/* Query the product type normally from the Registry */ +Ret = ReturnNtProduct(); +if (!Ret) +{ +ok(Ret, "Failed to query the product type value!\n"); +} + +/* Now, get the product type from the NTDLL system call */ +Ret = RtlGetNtProductType(); +ok(Ret == TRUE, "Expected a valid product type value (and TRUE as returned success code) but got %u as status.\n", Ret); +ok(ProductNtType == ProductType, "Expected the product type value to be the same but got %lu (original value pointed by RtlGetNtProductType() is %d).\n", ProductNtType, ProductType); +} diff --git a/modules/rostests/apitests/ntdll/testlist.c b/modules/rostests/apitests/ntdll/testlist.c index 76357f6ece6..7b3155314eb 100644 --- a/modules/rostests/apitests/ntdll/testlist.c +++ b/modules/rostests/apitests/ntdll/testlist.c @@ -55,6 +55,7 @@ extern void func_RtlGetFullPathName_Ustr(void); extern void func_RtlGetFullPathName_UstrEx(void); extern void func_RtlGetLengthWithoutTrailingPathSeperators(void); extern void func_RtlGetLongestNtPathLength(void); +extern void func_RtlGetNtProductType(void); extern void func_RtlHandle(void); extern void func_RtlImageRvaToVa(void); extern void func_RtlIsNameLegalDOS8Dot3(void); @@ -123,6 +124,7 @@ const struct test winetest_testlist[] = { "RtlGetFullPathName_UstrEx", func_RtlGetFullPathName_UstrEx }, { "RtlGetLengthWithoutTrai
[ros-diffs] [reactos] 01/01: [UTILMAN] Move most of the code in a library (#2530)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=975d417b349b52a45773ad3d114c6e72e6a58c67 commit 975d417b349b52a45773ad3d114c6e72e6a58c67 Author: Bișoc George AuthorDate: Fri Apr 17 12:42:47 2020 +0200 Commit: GitHub CommitDate: Fri Apr 17 13:42:47 2020 +0300 [UTILMAN] Move most of the code in a library (#2530) Windows XP and Server 2003 Utility Manager has a dedicated library for the resources and other stuff. Utility Manager is just a simple process that loads it. Hence create a library for the program, UManDlg.dll, and move the resources and other stuff there. In addition to that, use ExtractIconW to get the icon resource from the program (the DLL doesn't share icons by default) and remove the icon resource from the "About" dialog window. Also change the encoding type of other translation files to UTF-8 (which were previously set with UTF-8 with BOM). --- base/applications/utilman/CMakeLists.txt | 8 +- base/applications/utilman/NOTES.txt| 1 - base/applications/utilman/lang/en-US.rc| 49 +- base/applications/utilman/precomp.h| 94 +-- base/applications/utilman/resource.h | 40 +--- base/applications/utilman/umandlg/CMakeLists.txt | 15 +++ base/applications/utilman/{ => umandlg}/about.c| 17 ++-- .../utilman/{ => umandlg}/lang/en-US.rc| 9 +- .../utilman/{ => umandlg}/lang/es-ES.rc| 7 +- .../utilman/{ => umandlg}/lang/fr-FR.rc| 7 +- .../utilman/{ => umandlg}/lang/he-IL.rc| 7 +- .../utilman/{ => umandlg}/lang/it-IT.rc| 5 +- .../utilman/{ => umandlg}/lang/pl-PL.rc| 5 +- .../utilman/{ => umandlg}/lang/ro-RO.rc| 7 +- .../utilman/{ => umandlg}/lang/ru-RU.rc| 7 +- .../utilman/{ => umandlg}/lang/uk-UA.rc| 7 +- base/applications/utilman/{ => umandlg}/process.c | 6 +- base/applications/utilman/{ => umandlg}/registry.c | 4 +- base/applications/utilman/{ => umandlg}/resource.h | 7 +- .../utilman/{dialog.c => umandlg/umandlg.c}| 102 - .../utilman/{precomp.h => umandlg/umandlg.h} | 15 +-- .../utilman/{utilman.rc => umandlg/umandlg.rc} | 14 ++- base/applications/utilman/umandlg/umandlg.spec | 1 + base/applications/utilman/utilman.c| 68 ++ base/applications/utilman/utilman.rc | 26 +- 25 files changed, 213 insertions(+), 315 deletions(-) diff --git a/base/applications/utilman/CMakeLists.txt b/base/applications/utilman/CMakeLists.txt index 6f0addb1bd0..38dbb485018 100644 --- a/base/applications/utilman/CMakeLists.txt +++ b/base/applications/utilman/CMakeLists.txt @@ -1,14 +1,12 @@ list(APPEND SOURCE -dialog.c -process.c -about.c -registry.c +utilman.c precomp.h) add_rc_deps(utilman.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/utilman.ico) add_executable(utilman ${SOURCE} utilman.rc) set_module_type(utilman win32gui UNICODE) -add_importlibs(utilman comdlg32 user32 gdi32 advapi32 shell32 comctl32 msvcrt kernel32 ntdll) +add_importlibs(utilman user32 msvcrt kernel32 ntdll) add_pch(utilman precomp.h SOURCE) add_cd_file(TARGET utilman DESTINATION reactos/system32 FOR all) +add_subdirectory(umandlg) diff --git a/base/applications/utilman/NOTES.txt b/base/applications/utilman/NOTES.txt index 595c089ec1a..396f2f7eba7 100644 --- a/base/applications/utilman/NOTES.txt +++ b/base/applications/utilman/NOTES.txt @@ -7,5 +7,4 @@ Currently the application can manage the state of the accessibility tools howeve - The program can only control the launch/stopping states of accessibility tools, the code which manages the options for each utility is not implemented YET - Function helper which catches the Windows logo + U keys is not implemented YET - Registry configuration saver/loader is not implemented YET (XP's Utility Manager creates a key on HKEY_CURRENT_USER\Software\Microsoft with the name "Utility Manager" although the rest of other configuration values for utility options are stored elsewhere and I don't know exactly where are those) -- XP's and Server 2003's main Utility Manager implementation is compiled in a DLL (+ an executable which loads the DLL in question) whereas our Utility Manager is compiled as a whole executable - On Windows Vista and later, it complains for required elevation to open a process. We need to improve our process creation code and discard ShellExecuteW() \ No newline at end of file diff --git a/base/applications/utilman/lang/en-US.rc b/base/applications/utilman/lang/en-US.rc index 84c022811ba..cc74480f690 100644 --- a/base/applications/utilman/lang/en-US.rc +++ b/base/applications/utilman/lang/en-US.rc @@ -1,55 +1,14 @@ -/* +/* * PROJECT: ReactOS Utility Manager (Accessibility) * LICENS
[ros-diffs] [reactos] 01/01: [SDK][PSDK] Add a version check for DiskGeometryGetPartition and DiskGeometryGetDetect and add a missing member to PARTITION_INFORMATION_EX structure (#2541)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=12d4409086283d7b021aeb8158a60d45b0e07568 commit 12d4409086283d7b021aeb8158a60d45b0e07568 Author: Bișoc George AuthorDate: Wed Apr 15 12:47:01 2020 +0200 Commit: GitHub CommitDate: Wed Apr 15 12:47:01 2020 +0200 [SDK][PSDK] Add a version check for DiskGeometryGetPartition and DiskGeometryGetDetect and add a missing member to PARTITION_INFORMATION_EX structure (#2541) DiskGeometryGetPartition() and DiskGeometryGetDetect() are guarded in NTDDI_VERSION for version checking as they differ between Windows XP and Server 2003. In conjunction to that, the PARTITION_INFORMATION_EX structure has "IsServicePartition" as member which is missing in the current NT IOCTL Disk interface header. --- sdk/include/psdk/ntdddisk.h | 12 1 file changed, 12 insertions(+) diff --git a/sdk/include/psdk/ntdddisk.h b/sdk/include/psdk/ntdddisk.h index 7c7cc1dd600..998f17ed0ab 100644 --- a/sdk/include/psdk/ntdddisk.h +++ b/sdk/include/psdk/ntdddisk.h @@ -387,12 +387,21 @@ typedef struct _DISK_GEOMETRY_EX { UCHAR Data[1]; } DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX; +#if (NTDDI_VERSION < NTDDI_WS03) #define DiskGeometryGetPartition(Geometry) \ ((PDISK_PARTITION_INFO)((Geometry) + 1)) #define DiskGeometryGetDetect(Geometry)\ ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \ DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo))) +#else +#define DiskGeometryGetPartition(Geometry) \ + ((PDISK_PARTITION_INFO)((Geometry)->Data)) + +#define DiskGeometryGetDetect(Geometry)\ + ((PDISK_DETECTION_INFO)(((ULONG_PTR)DiskGeometryGetPartition(Geometry) + \ + DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo))) +#endif typedef struct _PARTITION_INFORMATION { LARGE_INTEGER StartingOffset; @@ -464,6 +473,9 @@ typedef struct _PARTITION_INFORMATION_EX { LARGE_INTEGER PartitionLength; ULONG PartitionNumber; BOOLEAN RewritePartition; +#if (NTDDI_VERSION >= NTDDI_WIN10_RS3) + BOOLEAN IsServicePartition; +#endif _ANONYMOUS_UNION union { PARTITION_INFORMATION_MBR Mbr; PARTITION_INFORMATION_GPT Gpt;
[ros-diffs] [reactos] 01/01: [MSGINA] Redraw only the animation bar scroll (#2518)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=28e277b65f236393cc84e3a8795a9e9e0846b811 commit 28e277b65f236393cc84e3a8795a9e9e0846b811 Author: Bișoc George AuthorDate: Thu Apr 9 19:06:00 2020 +0200 Commit: GitHub CommitDate: Thu Apr 9 19:06:00 2020 +0200 [MSGINA] Redraw only the animation bar scroll (#2518) Invalidating and updating the whole window is a waste of computation resources and may cause certain controls notably the text string control to flicker. So instead, just invalidate the specific portion of the client area which is the animation bar. --- dll/win32/msgina/gui.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dll/win32/msgina/gui.c b/dll/win32/msgina/gui.c index e9cba9580ea..6301a19d955 100644 --- a/dll/win32/msgina/gui.c +++ b/dll/win32/msgina/gui.c @@ -36,6 +36,7 @@ typedef struct _DLG_DATA PGINA_CONTEXT pgContext; HBITMAP hLogoBitmap; HBITMAP hBarBitmap; +HWND hWndBarCtrl; DWORD BarCounter; DWORD LogoWidth; DWORD LogoHeight; @@ -197,6 +198,9 @@ StatusDialogProc( { ERR("SetTimer(IDT_BAR) failed: %d\n", GetLastError()); } + +/* Get the animation bar control */ +pDlgData->hWndBarCtrl = GetDlgItem(hwndDlg, IDC_BAR); } return TRUE; } @@ -210,8 +214,8 @@ StatusDialogProc( * We can divide 413 by 7 without remainder */ pDlgData->BarCounter = (pDlgData->BarCounter + 7) % pDlgData->BarWidth; -InvalidateRect(hwndDlg, NULL, FALSE); -UpdateWindow(hwndDlg); +InvalidateRect(pDlgData->hWndBarCtrl, NULL, FALSE); +UpdateWindow(pDlgData->hWndBarCtrl); } return TRUE; }
[ros-diffs] [reactos] 01/01: [UTILMAN] Implement the Registry management code skeleton (#2456)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e6f83a91b85a146ecdf675f9c21e83b15f28f015 commit e6f83a91b85a146ecdf675f9c21e83b15f28f015 Author: Bișoc George AuthorDate: Fri Apr 3 17:46:30 2020 +0200 Commit: GitHub CommitDate: Fri Apr 3 17:46:30 2020 +0200 [UTILMAN] Implement the Registry management code skeleton (#2456) The following SaveAppSettings(), QueryAppSettings() and InitAppRegKey() are helper functions. This is merely a base Registry skeleton for Utility Manager as more work on it has to come later. --- base/applications/utilman/CMakeLists.txt | 1 + base/applications/utilman/precomp.h | 46 ++- base/applications/utilman/registry.c | 202 +++ 3 files changed, 248 insertions(+), 1 deletion(-) diff --git a/base/applications/utilman/CMakeLists.txt b/base/applications/utilman/CMakeLists.txt index 90a909e9dd0..6f0addb1bd0 100644 --- a/base/applications/utilman/CMakeLists.txt +++ b/base/applications/utilman/CMakeLists.txt @@ -3,6 +3,7 @@ list(APPEND SOURCE dialog.c process.c about.c +registry.c precomp.h) add_rc_deps(utilman.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/utilman.ico) diff --git a/base/applications/utilman/precomp.h b/base/applications/utilman/precomp.h index fba37387efc..fcfe045ea47 100644 --- a/base/applications/utilman/precomp.h +++ b/base/applications/utilman/precomp.h @@ -2,7 +2,7 @@ * PROJECT: ReactOS Utility Manager (Accessibility) * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: Pre-compiled header file - * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + * COPYRIGHT: Copyright 2019-2020 Bișoc George (fraizeraust99 at gmail dot com) */ #ifndef _UTILMAN_H @@ -50,6 +50,43 @@ typedef struct _UTILMAN_STATE BOOLbState; } UTILMAN_STATE, *PUTILMAN_STATE; +typedef struct _REGISTRY_SETTINGS +{ +/* Accessibility Registry settings */ +LPCWSTR wszAppPath; +DWORD dwAppType; +DWORD dwClientControlCode; +LPCWSTR wszAppName; +LPCWSTR wszErrorOnLaunch; +BOOL bHideClient; +BOOL bStartWithUtilman; +BOOL bStartWithROS; +LPCWSTR wszHungRespondAction; +DWORD dwHungTimeOut; + +/* Utility Manager Registry settings */ +BOOL bShowWarning; +} REGISTRY_SETTINGS, *PREGISTRY_SETTINGS; + +typedef struct _REGISTRY_DATA +{ +/* On-Screen Keyboard Registry data */ +LPCWSTR lpwsOskPath; +LPCWSTR lpwszOskDisplayName; + +/* Magnify Registry data */ +LPCWSTR lpwszMagnifyPath; +LPCWSTR lpwszMagnifyDisplayName; +} REGISTRY_DATA, *PREGISTRY_DATA; + +/* ENUMERATIONS ***/ + +typedef enum _WRITE_REGISTRY +{ +REGISTRY_ACCESSIBILITY, +REGISTRY_UTILMAN +} WRITE_REGISTRY, *PWRITE_REGISTRY; + /* DECLARATIONS ***/ /* dialog.c */ @@ -68,8 +105,15 @@ BOOL CloseProcess(IN LPCWSTR lpProcessName); VOID ShowAboutDlg(HWND hDlgParent); INT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); +/* registry.c */ +BOOL InitAppRegKey(IN HKEY hPredefinedKey, IN LPCWSTR lpwszSubKey, OUT PHKEY phKey, OUT LPDWORD lpdwDisposition); +BOOL QueryAppSettings(IN HKEY hKey, IN LPCWSTR lpwszSubKey, IN LPCWSTR lpwszRegValue, OUT PVOID ReturnedData, IN OUT LPDWORD lpdwSizeData); +BOOL SaveAppSettings(IN HKEY hKey, IN LPCWSTR lpwszRegValue, IN DWORD dwRegType, IN PVOID Data, IN DWORD cbSize); + /* Struct variable declaration */ extern UTILMAN_GLOBALS Globals; +extern REGISTRY_SETTINGS Settings; +extern REGISTRY_DATA RegData; #endif /* _UTILMAN_H */ diff --git a/base/applications/utilman/registry.c b/base/applications/utilman/registry.c new file mode 100644 index 000..d7a31781260 --- /dev/null +++ b/base/applications/utilman/registry.c @@ -0,0 +1,202 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Registry functions for Utility Manager settings management + * COPYRIGHT: Copyright 2020 Bișoc George (fraizeraust99 at gmail dot com) + */ + +/* INCLUDES ***/ + +#include "precomp.h" + +/* GLOBALS / + +UTILMAN_GLOBALS Globals; +REGISTRY_DATA RegData; +REGISTRY_SETTINGS Settings; + +/* DEFINES / + +#define ACCESS_UTILMAN_KEY L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Accessibility\\Utility Manager" +#define UTILMAN_KEY L"SOFTWARE\\Microsoft\\Utility Manager" +#define OSK_KEY L"On-Screen Keyboard" +#define MAGNIFIER_KEY L"Magnifier" + +/* FUNCTIONS **/ + +/** + * @InitAp
[ros-diffs] [reactos] 01/01: [APITEST][NTDLL] Initial implementation of NtSetInformationProcess() testcase
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f70e43c8f34a0cfa44e5fad3279909b18588be4c commit f70e43c8f34a0cfa44e5fad3279909b18588be4c Author: Bișoc George AuthorDate: Sun Mar 29 19:01:41 2020 +0200 Commit: Victor Perevertkin CommitDate: Mon Mar 30 13:52:15 2020 +0300 [APITEST][NTDLL] Initial implementation of NtSetInformationProcess() testcase The following testcase only performs argument checks for ProcessForegroundInformation class for the moment. The testcase will be expanded with further tests when needed. --- modules/rostests/apitests/ntdll/CMakeLists.txt | 1 + .../apitests/ntdll/NtSetInformationProcess.c | 80 ++ modules/rostests/apitests/ntdll/testlist.c | 2 + 3 files changed, 83 insertions(+) diff --git a/modules/rostests/apitests/ntdll/CMakeLists.txt b/modules/rostests/apitests/ntdll/CMakeLists.txt index 64b147bdeec..7da1843babe 100644 --- a/modules/rostests/apitests/ntdll/CMakeLists.txt +++ b/modules/rostests/apitests/ntdll/CMakeLists.txt @@ -33,6 +33,7 @@ list(APPEND SOURCE NtReadFile.c NtSaveKey.c NtSetInformationFile.c +NtSetInformationProcess.c NtSetValueKey.c NtSetVolumeInformationFile.c NtUnloadDriver.c diff --git a/modules/rostests/apitests/ntdll/NtSetInformationProcess.c b/modules/rostests/apitests/ntdll/NtSetInformationProcess.c new file mode 100644 index 000..b5fcc18e2db --- /dev/null +++ b/modules/rostests/apitests/ntdll/NtSetInformationProcess.c @@ -0,0 +1,80 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for the NtSetInformationProcess API + * COPYRIGHT: Copyright 2020 Bișoc George + */ + +#include "precomp.h" + +static +void +Test_ProcForegroundBackgroundClass(void) +{ +NTSTATUS Status; +PPROCESS_FOREGROUND_BACKGROUND ProcForeground; + +ProcForeground = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(PROCESS_FOREGROUND_BACKGROUND)); +if (ProcForeground == NULL) +{ +skip("Failed to allocate memory block from heap for PROCESS_FOREGROUND_BACKGROUND!\n"); +return; +} + +/* As a test, set the foreground of the retrieved current process to FALSE */ +ProcForeground->Foreground = FALSE; + +/* Set everything NULL for the caller */ +Status = NtSetInformationProcess(NULL, + ProcessForegroundInformation, + NULL, + 0); +ok_hex(Status, STATUS_INFO_LENGTH_MISMATCH); + +/* Give an invalid process handle (but the input buffer and length are correct) */ +Status = NtSetInformationProcess(NULL, + ProcessForegroundInformation, + ProcForeground, + sizeof(PROCESS_FOREGROUND_BACKGROUND)); +ok_hex(Status, STATUS_INVALID_HANDLE); + +/* Give a buffer data to the argument input as NULL */ +Status = NtSetInformationProcess(NtCurrentProcess(), + ProcessForegroundInformation, + NULL, + sizeof(PROCESS_FOREGROUND_BACKGROUND)); +ok_hex(Status, STATUS_ACCESS_VIOLATION); + +/* Set the information process foreground with an incorrect buffer alignment and zero buffer length */ +Status = NtSetInformationProcess(NtCurrentProcess(), + ProcessForegroundInformation, + (PVOID)1, + 0); +ok_hex(Status, STATUS_INFO_LENGTH_MISMATCH); + +/* + * Set the information process foreground with an incorrect buffer alignment but correct size length. + * The function will return STATUS_ACCESS_VIOLATION as the alignment probe requirement is not performed + * in this class. + */ +Status = NtSetInformationProcess(NtCurrentProcess(), + ProcessForegroundInformation, + (PVOID)1, + sizeof(PROCESS_FOREGROUND_BACKGROUND)); +ok_hex(Status, STATUS_ACCESS_VIOLATION); + +/* Set the foreground information to the current given process, we must expect the function should succeed */ +Status = NtSetInformationProcess(NtCurrentProcess(), + ProcessForegroundInformation, + ProcForeground, + sizeof(PROCESS_FOREGROUND_BACKGROUND)); +ok_hex(Status, STATUS_SUCCESS); + +/* Clear all the stuff */ +HeapFree(GetProcessHeap(), 0, ProcForeground); +} + +START_TEST(NtSetInformationProcess) +{ +Test_ProcForegroundBackgroundClass(); +} diff --git a/modules/rostests/apitests/ntdll/testlist.c b/modules/rostests/apitests
[ros-diffs] [reactos] 01/01: [SDK][NDK][PSTYPES] Align the PROCESS_PRIORITY_CLASS structure during compile time (#2478)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7481bda679eccdf1eba3666e500074dcb966e748 commit 7481bda679eccdf1eba3666e500074dcb966e748 Author: Bișoc George AuthorDate: Sat Mar 28 19:17:10 2020 +0100 Commit: GitHub CommitDate: Sat Mar 28 19:17:10 2020 +0100 [SDK][NDK][PSTYPES] Align the PROCESS_PRIORITY_CLASS structure during compile time (#2478) CORE-16757 After doing investigations on the priority class structure alignment, it's been revealed that in Windows XP and Server 2003 this PROCESS_PRIORITY_CLASS structure is aligned as a 4-bytes of size hence NtQueryInformationProcess() probes the alignment of user mode arguments buffer output and buffer length with requirement of a ULONG. As PROCESS_PRIORITY_CLASS was initially aligned as a 1-byte size because both BOOLEAN and UCHAR are just unsigned characters, the compiler may not align such structure and gracefully let the default alignment of such structure as is, 1-byte because an unsigned char has a size of 1 byte. Setting an align attribute to this structure fixes the problem of a potential datatype misalignment which caused GetPriorityClass() to not retrieve the process' priority class properly. --- sdk/include/ndk/pstypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/include/ndk/pstypes.h b/sdk/include/ndk/pstypes.h index 543afcb618d..219b880368f 100644 --- a/sdk/include/ndk/pstypes.h +++ b/sdk/include/ndk/pstypes.h @@ -902,7 +902,7 @@ typedef struct _PROCESS_SESSION_INFORMATION #endif -typedef struct _PROCESS_PRIORITY_CLASS +typedef struct DECLSPEC_ALIGN(4) _PROCESS_PRIORITY_CLASS { BOOLEAN Foreground; UCHAR PriorityClass;
[ros-diffs] [reactos] 01/01: [NTDLL_APITEST] Add testcase for process priority class. CORE-16757
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fcb156388d88eb6c0949890fde6d0efe19f00deb commit fcb156388d88eb6c0949890fde6d0efe19f00deb Author: Bișoc George AuthorDate: Thu Mar 26 12:11:29 2020 +0100 Commit: Thomas Faber CommitDate: Sat Mar 28 13:10:44 2020 +0100 [NTDLL_APITEST] Add testcase for process priority class. CORE-16757 Currently the testcase function only addresses the behaviour of getting an unaligned buffer (either of correct length size or not) for now. --- .../apitests/ntdll/NtQueryInformationProcess.c | 69 ++ 1 file changed, 69 insertions(+) diff --git a/modules/rostests/apitests/ntdll/NtQueryInformationProcess.c b/modules/rostests/apitests/ntdll/NtQueryInformationProcess.c index bdbfc3f726a..e392ead8760 100644 --- a/modules/rostests/apitests/ntdll/NtQueryInformationProcess.c +++ b/modules/rostests/apitests/ntdll/NtQueryInformationProcess.c @@ -185,6 +185,74 @@ Test_ProcessTimes(void) #undef SPIN_TIME } +static +void +Test_ProcessPriorityClassAlignment(void) +{ +NTSTATUS Status; +PPROCESS_PRIORITY_CLASS ProcPriority; + +/* Allocate some memory for the priority class structure */ +ProcPriority = malloc(sizeof(PROCESS_PRIORITY_CLASS)); +if (ProcPriority == NULL) +{ +skip("Failed to allocate memory for PROCESS_PRIORITY_CLASS!\n"); +return; +} + +/* + * Initialize the PriorityClass member to ensure the test won't randomly succeed (if such data is uninitialized). + * Filling 85 to the data member makes sure that if the test fails continously then NtQueryInformationProcess() + * didn't initialize the structure with data. + */ +RtlFillMemory(>PriorityClass, sizeof(ProcPriority->PriorityClass), 0x55); + +/* Unaligned buffer -- wrong size */ +Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessPriorityClass, + (PVOID)1, + 0, + NULL); +ok_hex(Status, STATUS_INFO_LENGTH_MISMATCH); + +/* Unaligned buffer -- correct size */ +Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessPriorityClass, + (PVOID)1, + sizeof(PROCESS_PRIORITY_CLASS), + NULL); +ok_hex(Status, STATUS_DATATYPE_MISALIGNMENT); + +/* Unaligned buffer -- wrong size (but this time do with an alignment of 2) */ +Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessPriorityClass, + (PVOID)2, + 0, + NULL); +ok_hex(Status, STATUS_INFO_LENGTH_MISMATCH); + +/* Unaligned buffer -- correct size (but this time do with an alignment of 2) */ +Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessPriorityClass, + (PVOID)2, + sizeof(PROCESS_PRIORITY_CLASS), + NULL); +ok_hex(Status, STATUS_DATATYPE_MISALIGNMENT); + +/* Do not care for the length but expect to return the priority class */ +Status = NtQueryInformationProcess(NtCurrentProcess(), + ProcessPriorityClass, + ProcPriority, + sizeof(PROCESS_PRIORITY_CLASS), + NULL); +ok_hex(Status, STATUS_SUCCESS); + +/* Make sure the returned priority class is a valid number (non negative) but also it should be within the PROCESS_PRIORITY_CLASS range */ +ok(ProcPriority->PriorityClass > PROCESS_PRIORITY_CLASS_INVALID && ProcPriority->PriorityClass <= PROCESS_PRIORITY_CLASS_ABOVE_NORMAL, + "Expected a valid number from priority class range but got %d\n", ProcPriority->PriorityClass); +free(ProcPriority); +} + START_TEST(NtQueryInformationProcess) { NTSTATUS Status; @@ -193,4 +261,5 @@ START_TEST(NtQueryInformationProcess) ok_hex(Status, STATUS_SUCCESS); Test_ProcessTimes(); +Test_ProcessPriorityClassAlignment(); }
[ros-diffs] [reactos] 01/01: [SNDVOL32] Restore the previous placement data of the window (#2420)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3af1141a61fecbf67df2fcbf0cf3ecf64de20fdf commit 3af1141a61fecbf67df2fcbf0cf3ecf64de20fdf Author: Bișoc George AuthorDate: Fri Mar 13 23:33:36 2020 +0100 Commit: GitHub CommitDate: Sat Mar 14 07:33:36 2020 +0900 [SNDVOL32] Restore the previous placement data of the window (#2420) Save the current coordinate data of the window to the Registry when the user closes the Sound Volume applet. --- base/applications/sndvol32/misc.c | 110 ++ base/applications/sndvol32/sndvol32.c | 14 + base/applications/sndvol32/sndvol32.h | 10 3 files changed, 134 insertions(+) diff --git a/base/applications/sndvol32/misc.c b/base/applications/sndvol32/misc.c index 670fa12f250..86bbbe67927 100644 --- a/base/applications/sndvol32/misc.c +++ b/base/applications/sndvol32/misc.c @@ -158,6 +158,116 @@ CloseAppConfig(VOID) } } +BOOL +LoadXYCoordWnd(IN PPREFERENCES_CONTEXT PrefContext) +{ +HKEY hKey; +LONG lResult; +TCHAR DeviceMixerSettings[256]; +DWORD dwData; +DWORD cbData = sizeof(dwData); + +/* Append the registry key path and device name key into one single string */ +StringCchPrintf(DeviceMixerSettings, _countof(DeviceMixerSettings), TEXT("%s\\%s"), AppRegSettings, PrefContext->DeviceName); + +lResult = RegOpenKeyEx(HKEY_CURRENT_USER, + DeviceMixerSettings, + 0, + KEY_READ, + ); +if (lResult != ERROR_SUCCESS) +{ +return FALSE; +} + +lResult = RegQueryValueEx(hKey, + TEXT("X"), + 0, + 0, + (LPBYTE), + ); +if (lResult != ERROR_SUCCESS) +{ +RegCloseKey(hKey); +return FALSE; +} + +/* Cache the X coordinate point */ +PrefContext->MixerWindow->WndPosX = dwData; + +lResult = RegQueryValueEx(hKey, + TEXT("Y"), + 0, + 0, + (LPBYTE), + ); +if (lResult != ERROR_SUCCESS) +{ +RegCloseKey(hKey); +return FALSE; +} + +/* Cache the Y coordinate point */ +PrefContext->MixerWindow->WndPosY = dwData; + +RegCloseKey(hKey); +return TRUE; +} + +BOOL +SaveXYCoordWnd(IN HWND hWnd, + IN PPREFERENCES_CONTEXT PrefContext) +{ +HKEY hKey; +LONG lResult; +TCHAR DeviceMixerSettings[256]; +WINDOWPLACEMENT wp; + +/* Get the placement coordinate data from the window */ +wp.length = sizeof(WINDOWPLACEMENT); +GetWindowPlacement(hWnd, ); + +/* Append the registry key path and device name key into one single string */ +StringCchPrintf(DeviceMixerSettings, _countof(DeviceMixerSettings), TEXT("%s\\%s"), AppRegSettings, PrefContext->DeviceName); + +lResult = RegOpenKeyEx(HKEY_CURRENT_USER, + DeviceMixerSettings, + 0, + KEY_SET_VALUE, + ); +if (lResult != ERROR_SUCCESS) +{ +return FALSE; +} + +lResult = RegSetValueEx(hKey, +TEXT("X"), +0, +REG_DWORD, +(LPBYTE), +sizeof(wp.rcNormalPosition.left)); +if (lResult != ERROR_SUCCESS) +{ +RegCloseKey(hKey); +return FALSE; +} + +lResult = RegSetValueEx(hKey, +TEXT("Y"), +0, +REG_DWORD, +(LPBYTE), +sizeof(wp.rcNormalPosition.top)); +if (lResult != ERROR_SUCCESS) +{ +RegCloseKey(hKey); +return FALSE; +} + +RegCloseKey(hKey); +return TRUE; +} + BOOL WriteLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szLineName, diff --git a/base/applications/sndvol32/sndvol32.c b/base/applications/sndvol32/sndvol32.c index 64ce3ac5565..e39fceb46b5 100644 --- a/base/applications/sndvol32/sndvol32.c +++ b/base/applications/sndvol32/sndvol32.c @@ -880,6 +880,7 @@ MainWindowProc(HWND hwnd, { PMIXER_WINDOW MixerWindow; DWORD CtrlID, LineOffset; +BOOL bRet; LRESULT Result = 0; SET_VOLUME_CONTEXT Context; @@ -1211,6 +1212,18 @@ MainWindowProc(HWND hwnd, /* Disable the 'Advanced Controls' menu item */ EnableMenuItem(GetMenu(hwnd), IDM_ADVANCED_CONTROLS, MF_BYCOMMAND | MF_GRAYED); +/* Load the placement coordinate data of the
[ros-diffs] [reactos] 01/01: [UTILMAN] Small refactor on process management code (#2375)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dfe5e810cc493898c9ffe482f0460325bededc35 commit dfe5e810cc493898c9ffe482f0460325bededc35 Author: Bișoc George AuthorDate: Thu Feb 27 18:45:21 2020 +0100 Commit: GitHub CommitDate: Fri Feb 28 02:45:21 2020 +0900 [UTILMAN] Small refactor on process management code (#2375) Implement a small helper, GetProcessID(), that will be used to return the process ID which we are interested in. This largely removes some duplicated code. The following patch addresses the Jansen's comment on #1608 PR. --- base/applications/utilman/precomp.h | 1 + base/applications/utilman/process.c | 127 +++- 2 files changed, 81 insertions(+), 47 deletions(-) diff --git a/base/applications/utilman/precomp.h b/base/applications/utilman/precomp.h index db665e793c2..fba37387efc 100644 --- a/base/applications/utilman/precomp.h +++ b/base/applications/utilman/precomp.h @@ -59,6 +59,7 @@ INT ListBoxRefreshContents(VOID); VOID CheckUtilityState(BOOL bUtilState); /* process.c */ +DWORD GetProcessID(IN LPCWSTR lpProcessName); BOOL IsProcessRunning(IN LPCWSTR lpProcessName); BOOL LaunchProcess(LPCWSTR lpProcessName); BOOL CloseProcess(IN LPCWSTR lpProcessName); diff --git a/base/applications/utilman/process.c b/base/applications/utilman/process.c index 45bae49276f..71e4c589360 100644 --- a/base/applications/utilman/process.c +++ b/base/applications/utilman/process.c @@ -12,29 +12,28 @@ /* FUNCTIONS **/ /** - * @IsProcessRunning + * @GetProcessID * - * Checks if a process is running. + * Returns the process executable ID based on the given executable name. * - * @param[in] ProcName + * @param[in] lpProcessName * The name of the executable process. * * @return - * Returns TRUE if the given process' name is running, - * FALSE otherwise. + * Returns the ID number of the process, otherwise 0. * */ -BOOL IsProcessRunning(IN LPCWSTR lpProcessName) +DWORD GetProcessID(IN LPCWSTR lpProcessName) { -BOOL bIsRunning = FALSE; -PROCESSENTRY32W Process = {0}; +PROCESSENTRY32W Process; -/* Create a snapshot and check whether the given process' executable name is running */ +/* Create a snapshot and check if the given process name matches with the one from the process entry structure */ HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) -return FALSE; +return 0; +/* Get the whole size of the structure */ Process.dwSize = sizeof(Process); /* Enumerate the processes */ @@ -44,17 +43,62 @@ BOOL IsProcessRunning(IN LPCWSTR lpProcessName) { if (_wcsicmp(Process.szExeFile, lpProcessName) == 0) { -/* The process we are searching for is running */ -bIsRunning = TRUE; -break; +/* The names match, return the process ID we're interested */ +CloseHandle(hSnapshot); +return Process.th32ProcessID; } } while (Process32NextW(hSnapshot, )); } -/* Free the handle and return */ CloseHandle(hSnapshot); -return bIsRunning; +return 0; +} + +/** + * @IsProcessRunning + * + * Checks if a process is running. + * + * @param[in] lpProcessName + * The name of the executable process. + * + * @return + * Returns TRUE if the given process' name is running, + * FALSE otherwise. + * + */ +BOOL IsProcessRunning(IN LPCWSTR lpProcessName) +{ +DWORD dwReturn, dwProcessID; +HANDLE hProcess; + +/* Get the process ID */ +dwProcessID = GetProcessID(lpProcessName); +if (dwProcessID == 0) +{ +return FALSE; +} + +/* Synchronize the process to get its signaling state */ +hProcess = OpenProcess(SYNCHRONIZE, FALSE, dwProcessID); +if (!hProcess) +{ +DPRINT("IsProcessRunning(): Failed to open the process! (Error: %lu)", GetLastError()); +return FALSE; +} + +/* Wait for the process */ +dwReturn = WaitForSingleObject(hProcess, 0); +if (dwReturn == WAIT_TIMEOUT) +{ +/* The process is still running */ +CloseHandle(hProcess); +return TRUE; +} + +CloseHandle(hProcess); +return FALSE; } /** @@ -147,43 +191,32 @@ BOOL LaunchProcess(LPCWSTR lpProcessName) */ BOOL CloseProcess(IN LPCWSTR lpProcessName) { -BOOL bSuccess = FALSE; -PROCESSENTRY32W Process = {0}; +HANDLE hProcess; +DWORD dwProcessID; -/* Create a snapshot and check if the given process' executable name is running */ -HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); - -if (hSnapshot == INVALID_HANDLE_VALUE) +/* Get the process ID */ +dwProcessID = GetProcessID(lpProcessName); +if (dwProcessID == 0) +{
[ros-diffs] [reactos] 01/01: [TIMEDATE] Remove lpszSyncStatus member entirely (#2383)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b77008a7096b8359f942640cab1f8c7f60c9dee6 commit b77008a7096b8359f942640cab1f8c7f60c9dee6 Author: Bișoc George AuthorDate: Mon Feb 24 16:59:11 2020 +0100 Commit: GitHub CommitDate: Mon Feb 24 16:59:11 2020 +0100 [TIMEDATE] Remove lpszSyncStatus member entirely (#2383) And directly pass the formatted string to SetDlgItemTextW(). Addendum to 5a81a5b. --- dll/cpl/timedate/internettime.c | 15 +-- dll/cpl/timedate/timedate.h | 1 - 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/dll/cpl/timedate/internettime.c b/dll/cpl/timedate/internettime.c index c1ee0294b0f..7e85fa1ffce 100644 --- a/dll/cpl/timedate/internettime.c +++ b/dll/cpl/timedate/internettime.c @@ -112,8 +112,7 @@ SetNTPServer(HWND hwnd, BOOL bBeginUpdate) { /* Inform the user that the synchronization is about to begin (depending on how reachable the NTP server is) */ StringCchPrintfW(szFormat, _countof(szFormat), SyncStatus.szSyncWait, buffer); -SyncStatus.lpszSyncStatus = szFormat; -SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +SetDlgItemTextW(hwnd, IDC_SUCSYNC, szFormat); } /* If there is new data entered then save it in the registry @@ -203,8 +202,7 @@ SyncNTPStatusInit(HWND hwnd) * displaying the last time and date of the said sync. I have no idea how does timedate.cpl remember its last * successful sync so for the time being, we will only load the initial remark string. */ -SyncStatus.lpszSyncStatus = SyncStatus.szSyncInit; -SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.szSyncInit); } static VOID @@ -244,16 +242,14 @@ UpdateNTPStatus(HWND hwnd, DWORD dwReason) /* Format the resource sting with the given NTP server name and the current time data */ StringCchPrintfW(szFormat, _countof(szFormat), SyncStatus.szSyncSuc, szNtpServerName, szLocalDate, szLocalTime); -SyncStatus.lpszSyncStatus = szFormat; -SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +SetDlgItemTextW(hwnd, IDC_SUCSYNC, szFormat); break; } /* Empty field data has been caught -- simply tell the user to write the NTP name to continue */ case ERROR_INVALID_DATA: { -SyncStatus.lpszSyncStatus = SyncStatus.szSyncType; -SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.szSyncType); DPRINT("UpdateNTPStatus(): The user didn't submit any NTP server name!\n"); break; } @@ -262,8 +258,7 @@ UpdateNTPStatus(HWND hwnd, DWORD dwReason) default: { StringCchPrintfW(szFormat, _countof(szFormat), SyncStatus.szSyncErr, szNtpServerName); -SyncStatus.lpszSyncStatus = szFormat; -SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +SetDlgItemTextW(hwnd, IDC_SUCSYNC, szFormat); DPRINT("UpdateNTPStatus(): Failed to synchronize the time! (Error: %lu).\n", dwReason); break; } diff --git a/dll/cpl/timedate/timedate.h b/dll/cpl/timedate/timedate.h index 306889fe159..9110ca7c8c2 100644 --- a/dll/cpl/timedate/timedate.h +++ b/dll/cpl/timedate/timedate.h @@ -42,7 +42,6 @@ typedef struct WCHAR szSyncErr[BUFSIZE]; WCHAR szSyncType[BUFSIZE]; WCHAR szSyncInit[BUFSIZE]; -LPWSTR lpszSyncStatus; } SYNC_STATUS, *PSYNC_STATUS; extern HINSTANCE hApplet;
[ros-diffs] [reactos] 01/01: [TIMEDATE] Implement the dynamic NTP status notification (#2352)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5a81a5bc1426f7728b9d5fda3d8a7de66d66ed41 commit 5a81a5bc1426f7728b9d5fda3d8a7de66d66ed41 Author: Bișoc George AuthorDate: Mon Feb 24 11:56:02 2020 +0100 Commit: GitHub CommitDate: Mon Feb 24 19:56:02 2020 +0900 [TIMEDATE] Implement the dynamic NTP status notification (#2352) Time/Date control panel applet displays the status of the NTP server synchronization with the system informing the user the actual condition of the said sync, if it has failed or suceeded. The commit also implements IDS_INETTIMEWELCOME which serves as a placeholder as Time/Date loads the last successful attempt of NTP synchronization which I don't know how the CPL remembers it. With that said, IDS_INETTIMEWELCOME will stay for a while until someone figures out how timedate.cpl works i [...] CORE-16684 --- dll/cpl/timedate/internettime.c | 104 +--- dll/cpl/timedate/lang/bg-BG.rc | 2 + dll/cpl/timedate/lang/cs-CZ.rc | 2 + dll/cpl/timedate/lang/da-DK.rc | 2 + dll/cpl/timedate/lang/de-DE.rc | 2 + dll/cpl/timedate/lang/el-GR.rc | 2 + dll/cpl/timedate/lang/en-US.rc | 2 + dll/cpl/timedate/lang/es-ES.rc | 2 + dll/cpl/timedate/lang/et-EE.rc | 2 + dll/cpl/timedate/lang/eu-ES.rc | 2 + dll/cpl/timedate/lang/fr-FR.rc | 2 + dll/cpl/timedate/lang/he-IL.rc | 2 + dll/cpl/timedate/lang/hu-HU.rc | 2 + dll/cpl/timedate/lang/id-ID.rc | 2 + dll/cpl/timedate/lang/it-IT.rc | 2 + dll/cpl/timedate/lang/ja-JP.rc | 2 + dll/cpl/timedate/lang/nl-NL.rc | 2 + dll/cpl/timedate/lang/no-NO.rc | 2 + dll/cpl/timedate/lang/pl-PL.rc | 2 + dll/cpl/timedate/lang/pt-BR.rc | 2 + dll/cpl/timedate/lang/ro-RO.rc | 2 + dll/cpl/timedate/lang/ru-RU.rc | 2 + dll/cpl/timedate/lang/sk-SK.rc | 2 + dll/cpl/timedate/lang/sq-AL.rc | 2 + dll/cpl/timedate/lang/sv-SE.rc | 2 + dll/cpl/timedate/lang/th-TH.rc | 2 + dll/cpl/timedate/lang/tr-TR.rc | 2 + dll/cpl/timedate/lang/uk-UA.rc | 2 + dll/cpl/timedate/lang/zh-CN.rc | 2 + dll/cpl/timedate/lang/zh-TW.rc | 2 + dll/cpl/timedate/resource.h | 2 + dll/cpl/timedate/timedate.h | 11 + 32 files changed, 168 insertions(+), 7 deletions(-) diff --git a/dll/cpl/timedate/internettime.c b/dll/cpl/timedate/internettime.c index 88e95ae0f6e..c1ee0294b0f 100644 --- a/dll/cpl/timedate/internettime.c +++ b/dll/cpl/timedate/internettime.c @@ -11,6 +11,7 @@ #include DWORD WINAPI W32TimeSyncNow(LPCWSTR cmdline, UINT blocking, UINT flags); +SYNC_STATUS SyncStatus; static VOID CreateNTPServerList(HWND hwnd) @@ -89,7 +90,7 @@ CreateNTPServerList(HWND hwnd) /* Set the selected server in the registry */ static VOID -SetNTPServer(HWND hwnd) +SetNTPServer(HWND hwnd, BOOL bBeginUpdate) { HKEY hKey; HWND hList; @@ -97,6 +98,7 @@ SetNTPServer(HWND hwnd) WCHAR szSel[4]; LONG lRet; WCHAR buffer[256]; +WCHAR szFormat[BUFSIZE]; hList = GetDlgItem(hwnd, IDC_SERVERLIST); @@ -105,6 +107,15 @@ SetNTPServer(HWND hwnd) SendDlgItemMessageW(hwnd, IDC_SERVERLIST, WM_GETTEXT, _countof(buffer), (LPARAM)buffer); +/* If the condition is true that means the user wants to update (synchronize) the time */ +if (bBeginUpdate) +{ +/* Inform the user that the synchronization is about to begin (depending on how reachable the NTP server is) */ +StringCchPrintfW(szFormat, _countof(szFormat), SyncStatus.szSyncWait, buffer); +SyncStatus.lpszSyncStatus = szFormat; +SetDlgItemTextW(hwnd, IDC_SUCSYNC, SyncStatus.lpszSyncStatus); +} + /* If there is new data entered then save it in the registry The same key name of "0" is used to store all user entered values */ @@ -177,6 +188,87 @@ EnableDialogText(HWND hwnd) EnableWindow(GetDlgItem(hwnd, IDC_NEXTSYNC), bChecked); } +static VOID +SyncNTPStatusInit(HWND hwnd) +{ +/* Initialize the Synchronization NTP status members */ +LoadStringW(hApplet, IDS_INETTIMEWELCOME, SyncStatus.szSyncInit, _countof(SyncStatus.szSyncInit)); +LoadStringW(hApplet, IDS_INETTIMESUCSYNC, SyncStatus.szSyncSuc, _countof(SyncStatus.szSyncSuc)); +LoadStringW(hApplet, IDS_INETTIMESYNCING, SyncStatus.szSyncWait, _countof(SyncStatus.szSyncWait)); +LoadStringW(hApplet, IDS_INETTIMEERROR, SyncStatus.szSyncErr, _countof(SyncStatus.szSyncErr)); +LoadStringW(hApplet, IDS_INETTIMESUCFILL, SyncStatus.szSyncType, _countof(SyncStatus.szSyncType)); + +/* + * TODO: XP's and Server 2003's timedate.cpl loads the last successful attempt of the NTP synchronization + * displaying the last time and date of the said sync. I have no idea how does timedate.cpl remember its last + * successful sync so for the time being, we will only load the initial remark string. +*/ +SyncStatus.lpszSyncStatus = SyncStatus.szSyncInit; +SetDlgItem
[ros-diffs] [reactos] 01/01: [MSGINA] Be sure to always initialize the cached DLG_DATA GINA context (#2360)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=61c8d3432c9fe77f1b30f383e3f2bcd10c6ed936 commit 61c8d3432c9fe77f1b30f383e3f2bcd10c6ed936 Author: Bișoc George AuthorDate: Thu Feb 20 00:20:01 2020 +0100 Commit: GitHub CommitDate: Thu Feb 20 00:20:01 2020 +0100 [MSGINA] Be sure to always initialize the cached DLG_DATA GINA context (#2360) The ReactOS logo banner is loaded from the GINA context whereas the animation bar is loaded from the main application instance. However, the aforementioned context is not initialized when WM_INITDIALOG occurs hence DlgData_LoadBitmaps() would fail on proceeding at loading the remaining bitmaps to be loaded. This fixes the regression introduced by commit 623dd26c (PR #2353). --- dll/win32/msgina/gui.c | 23 --- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/dll/win32/msgina/gui.c b/dll/win32/msgina/gui.c index dd195d3fb62..dbe28c6636a 100644 --- a/dll/win32/msgina/gui.c +++ b/dll/win32/msgina/gui.c @@ -42,11 +42,12 @@ typedef struct _DLG_DATA } DLG_DATA, *PDLG_DATA; static PDLG_DATA -DlgData_Create(HWND hwndDlg) +DlgData_Create(HWND hwndDlg, PGINA_CONTEXT pgContext) { PDLG_DATA pDlgData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pDlgData)); if (pDlgData) { +pDlgData->pgContext = pgContext; SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR)pDlgData); } return pDlgData; @@ -184,7 +185,7 @@ StatusDialogProc( SetDlgItemTextW(hwndDlg, IDC_STATUS_MESSAGE, msg->pMessage); SetEvent(msg->StartupEvent); -pDlgData = DlgData_Create(hwndDlg); +pDlgData = DlgData_Create(hwndDlg, msg->Context); if (pDlgData == NULL) return FALSE; @@ -394,12 +395,10 @@ WelcomeDialogProc( { case WM_INITDIALOG: { -pDlgData = DlgData_Create(hwndDlg); +pDlgData = DlgData_Create(hwndDlg, (PGINA_CONTEXT)lParam); if (pDlgData == NULL) return FALSE; -pDlgData->pgContext = (PGINA_CONTEXT)lParam; - DlgData_LoadBitmaps(pDlgData); return TRUE; } @@ -1168,13 +1167,11 @@ LogonDialogProc( { case WM_INITDIALOG: { -pDlgData = DlgData_Create(hwndDlg); +/* FIXME: take care of NoDomainUI */ +pDlgData = DlgData_Create(hwndDlg, (PGINA_CONTEXT)lParam); if (pDlgData == NULL) return FALSE; -/* FIXME: take care of NoDomainUI */ -pDlgData->pgContext = (PGINA_CONTEXT)lParam; - DlgData_LoadBitmaps(pDlgData); SetWelcomeText(hwndDlg); @@ -1444,12 +1441,10 @@ UnlockDialogProc( { case WM_INITDIALOG: { -pDlgData = DlgData_Create(hwndDlg); +pDlgData = DlgData_Create(hwndDlg, (PGINA_CONTEXT)lParam); if (pDlgData == NULL) return FALSE; -pDlgData->pgContext = (PGINA_CONTEXT)lParam; - SetWelcomeText(hwndDlg); SetLockMessage(hwndDlg, IDC_UNLOCK_MESSAGE, pDlgData->pgContext); @@ -1540,12 +1535,10 @@ LockedDialogProc( { case WM_INITDIALOG: { -pDlgData = DlgData_Create(hwndDlg); +pDlgData = DlgData_Create(hwndDlg, (PGINA_CONTEXT)lParam); if (pDlgData == NULL) return FALSE; -pDlgData->pgContext = (PGINA_CONTEXT)lParam; - DlgData_LoadBitmaps(pDlgData); SetWelcomeText(hwndDlg);
[ros-diffs] [reactos] 01/01: [SHELL32] Better fix for the "Version" string in the About-dialog (#2349)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6ce72ba172e69d25e6844244051e467d9d4b1e05 commit 6ce72ba172e69d25e6844244051e467d9d4b1e05 Author: Bișoc George AuthorDate: Fri Feb 14 22:17:48 2020 +0100 Commit: GitHub CommitDate: Fri Feb 14 22:17:48 2020 +0100 [SHELL32] Better fix for the "Version" string in the About-dialog (#2349) The version string kernel number and the localized "version" word were too near in translation files. The patch fixes the problem introduced by #2276. Addendum to commit a57f7b50. --- dll/win32/shell32/lang/bg-BG.rc | 6 -- dll/win32/shell32/lang/ca-ES.rc | 6 -- dll/win32/shell32/lang/cs-CZ.rc | 6 -- dll/win32/shell32/lang/da-DK.rc | 6 -- dll/win32/shell32/lang/de-DE.rc | 6 -- dll/win32/shell32/lang/el-GR.rc | 6 -- dll/win32/shell32/lang/en-GB.rc | 6 -- dll/win32/shell32/lang/en-US.rc | 6 -- dll/win32/shell32/lang/es-ES.rc | 6 -- dll/win32/shell32/lang/et-EE.rc | 6 -- dll/win32/shell32/lang/fi-FI.rc | 6 -- dll/win32/shell32/lang/fr-FR.rc | 6 -- dll/win32/shell32/lang/he-IL.rc | 6 -- dll/win32/shell32/lang/hi-IN.rc | 6 -- dll/win32/shell32/lang/hu-HU.rc | 6 -- dll/win32/shell32/lang/id-ID.rc | 6 -- dll/win32/shell32/lang/it-IT.rc | 6 -- dll/win32/shell32/lang/ja-JP.rc | 6 -- dll/win32/shell32/lang/ko-KR.rc | 6 -- dll/win32/shell32/lang/nl-NL.rc | 6 -- dll/win32/shell32/lang/no-NO.rc | 6 -- dll/win32/shell32/lang/pl-PL.rc | 6 -- dll/win32/shell32/lang/pt-BR.rc | 6 -- dll/win32/shell32/lang/pt-PT.rc | 6 -- dll/win32/shell32/lang/ro-RO.rc | 6 -- dll/win32/shell32/lang/ru-RU.rc | 6 -- dll/win32/shell32/lang/sk-SK.rc | 6 -- dll/win32/shell32/lang/sl-SI.rc | 6 -- dll/win32/shell32/lang/sq-AL.rc | 6 -- dll/win32/shell32/lang/sv-SE.rc | 6 -- dll/win32/shell32/lang/tr-TR.rc | 6 -- dll/win32/shell32/lang/uk-UA.rc | 6 -- dll/win32/shell32/lang/zh-CN.rc | 6 -- dll/win32/shell32/lang/zh-TW.rc | 6 -- dll/win32/shell32/shresdef.h | 17 + dll/win32/shell32/wine/shell32_main.c | 4 +++- 36 files changed, 148 insertions(+), 77 deletions(-) diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 8e1f2e298c7..0b71386fcca 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -136,8 +136,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 -LTEXT "Версия ", IDC_STATIC, 35, 65, 28, 10 -LTEXT "", IDC_ABOUT_VERSION, 61, 65, 200, 10 +LTEXT "", IDC_ABOUT_VERSION, 35, 65, 250, 10 LTEXT "Copyright 1998-", IDC_STATIC, 35, 75, 53, 10 LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 @@ -749,6 +748,9 @@ BEGIN IDS_FONTS_DESCRIPTION "Add, change, and manage fonts on your computer." IDS_PRINTERS_DESCRIPTION "Shows installed printers and fax printers and helps you add new ones." +/* About shell dialog version string */ +IDS_ABOUT_VERSION_STRING "Версия %S (%S)" + /* context menus */ IDS_VIEW_LARGE "&Големи значета" IDS_VIEW_SMALL "&Малки значета" diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index 8d66a2a7ea8..956d0cee138 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -135,8 +135,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 -LTEXT "Version ", IDC_STATIC, 35, 65, 28, 10 -LTEXT "", IDC_ABOUT_VERSION, 61, 65, 200, 10 +LTEXT "", IDC_ABOUT_VERSION, 35, 65, 250, 10 LTEXT "Copyright 1998-", IDC_STATIC, 35, 75, 53, 10 LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 @@ -748,6 +747,9 @@ BEGIN IDS_FONTS_DESCRIPTION "Add, change, and manage fonts on your computer." IDS_PRINTERS_DESCRIPTION "Shows installed printers and fax printers and helps you add new ones." +/* About shell dialog version string */ +IDS_ABOUT_VERSION_STRING "Version %S (%S)" + /* context menus */ IDS_VIEW_LARGE "Lar Icons" IDS_VIEW_SMALL "S Icons" diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index 909bf5988d6..e07ae178be1 100644 --- a/dll/win32/shell32/lang/
[ros-diffs] [reactos] 01/01: [TIMEDATE] Do not display a message box when NTP sync fails (#2305)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=37349d7a0f065d141d8e730535060e77b5f59561 commit 37349d7a0f065d141d8e730535060e77b5f59561 Author: Bișoc George AuthorDate: Wed Feb 5 19:54:33 2020 +0100 Commit: GitHub CommitDate: Thu Feb 6 03:54:33 2020 +0900 [TIMEDATE] Do not display a message box when NTP sync fails (#2305) This PR merely checks if the string is empty and displaying (only) a debug information to the debugger, at disposal of displaying a message box. I might implement such dynamic resource string to the CPL later in a next PR. CORE-16654 --- base/services/w32time/w32time.c | 7 +++ dll/cpl/timedate/CMakeLists.txt | 2 +- dll/cpl/timedate/internettime.c | 2 +- dll/cpl/timedate/timedate.h | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/base/services/w32time/w32time.c b/base/services/w32time/w32time.c index abc58a5e151..c2b2bfeeeae 100644 --- a/base/services/w32time/w32time.c +++ b/base/services/w32time/w32time.c @@ -191,6 +191,13 @@ SetTime(VOID) DPRINT("Time Server is '%S'.\n", szData); +/* Is the given string empty? */ +if (cbName == 0 || szData[0] == '\0') +{ +DPRINT("The time NTP server couldn't be found, the string is empty!\n"); +return ERROR_INVALID_DATA; +} + ulTime = GetServerTime(szData); if (ulTime != 0) diff --git a/dll/cpl/timedate/CMakeLists.txt b/dll/cpl/timedate/CMakeLists.txt index d1b5275dd07..20f0d62d59c 100644 --- a/dll/cpl/timedate/CMakeLists.txt +++ b/dll/cpl/timedate/CMakeLists.txt @@ -19,6 +19,6 @@ add_library(timedate MODULE ${CMAKE_CURRENT_BINARY_DIR}/timedate.def) set_module_type(timedate cpl UNICODE) -add_importlibs(timedate w32time advapi32 user32 gdi32 comctl32 ws2_32 iphlpapi msvcrt kernel32) +add_importlibs(timedate w32time advapi32 user32 gdi32 comctl32 ws2_32 iphlpapi msvcrt kernel32 ntdll) add_pch(timedate timedate.h SOURCE) add_cd_file(TARGET timedate DESTINATION reactos/system32 FOR all) diff --git a/dll/cpl/timedate/internettime.c b/dll/cpl/timedate/internettime.c index 808930e083e..88e95ae0f6e 100644 --- a/dll/cpl/timedate/internettime.c +++ b/dll/cpl/timedate/internettime.c @@ -278,7 +278,7 @@ InetTimePageProc(HWND hwndDlg, dwError = W32TimeSyncNow(L"localhost", 0, 0); if (dwError != ERROR_SUCCESS) { -DisplayWin32Error(dwError); +DPRINT("Failed to synchronize the time! Invalid NTP server name has been caught or no server name could be found (Error: %lu).\n", dwError); } } break; diff --git a/dll/cpl/timedate/timedate.h b/dll/cpl/timedate/timedate.h index 8cf7dbb74bd..500421758b7 100644 --- a/dll/cpl/timedate/timedate.h +++ b/dll/cpl/timedate/timedate.h @@ -16,6 +16,7 @@ #include #include #include +#include #include "resource.h"
[ros-diffs] [reactos] 01/01: [SHELL32] Display the ReactOS version to the About dialog programmatically (#2276)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a57f7b50c01efadc50336b5b6664edbf645aff72 commit a57f7b50c01efadc50336b5b6664edbf645aff72 Author: Bișoc George AuthorDate: Sat Feb 1 22:47:32 2020 +0100 Commit: GitHub CommitDate: Sat Feb 1 22:47:32 2020 +0100 [SHELL32] Display the ReactOS version to the About dialog programmatically (#2276) The current control parameters don't fit well with the version string since ReactOS migrated from SVN to Git. However, modifying the resource parameters doesn't fix the problem as well because the string itself is dynamic (as it can change in words specially the build architecture if the version build is AMD64 or x86 for example). CORE-16571 --- dll/win32/shell32/lang/bg-BG.rc | 5 + dll/win32/shell32/lang/ca-ES.rc | 5 + dll/win32/shell32/lang/cs-CZ.rc | 5 + dll/win32/shell32/lang/da-DK.rc | 5 + dll/win32/shell32/lang/de-DE.rc | 5 + dll/win32/shell32/lang/el-GR.rc | 5 + dll/win32/shell32/lang/en-GB.rc | 5 + dll/win32/shell32/lang/en-US.rc | 5 + dll/win32/shell32/lang/es-ES.rc | 5 + dll/win32/shell32/lang/et-EE.rc | 5 + dll/win32/shell32/lang/fi-FI.rc | 5 + dll/win32/shell32/lang/fr-FR.rc | 5 + dll/win32/shell32/lang/he-IL.rc | 5 + dll/win32/shell32/lang/hi-IN.rc | 5 + dll/win32/shell32/lang/hu-HU.rc | 5 + dll/win32/shell32/lang/id-ID.rc | 5 + dll/win32/shell32/lang/it-IT.rc | 5 + dll/win32/shell32/lang/ja-JP.rc | 5 + dll/win32/shell32/lang/ko-KR.rc | 5 + dll/win32/shell32/lang/nl-NL.rc | 5 + dll/win32/shell32/lang/no-NO.rc | 5 + dll/win32/shell32/lang/pl-PL.rc | 5 + dll/win32/shell32/lang/pt-BR.rc | 5 + dll/win32/shell32/lang/pt-PT.rc | 5 + dll/win32/shell32/lang/ro-RO.rc | 5 + dll/win32/shell32/lang/ru-RU.rc | 5 + dll/win32/shell32/lang/sk-SK.rc | 5 + dll/win32/shell32/lang/sl-SI.rc | 5 + dll/win32/shell32/lang/sq-AL.rc | 5 + dll/win32/shell32/lang/sv-SE.rc | 5 + dll/win32/shell32/lang/tr-TR.rc | 5 + dll/win32/shell32/lang/uk-UA.rc | 5 + dll/win32/shell32/lang/zh-CN.rc | 5 + dll/win32/shell32/lang/zh-TW.rc | 5 + dll/win32/shell32/shresdef.h | 1 + dll/win32/shell32/wine/shell32_main.c | 20 36 files changed, 55 insertions(+), 136 deletions(-) diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 985f2a224c7..8e1f2e298c7 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -137,10 +137,7 @@ BEGIN ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 LTEXT "Версия ", IDC_STATIC, 35, 65, 28, 10 -LTEXT KERNEL_VERSION_STR, IDC_STATIC, 63, 65, 27, 10 -LTEXT " (", IDC_STATIC, 90, 65, 5, 10 -LTEXT KERNEL_VERSION_BUILD_STR, IDC_STATIC, 95, 65, 58, 10 -LTEXT ")", IDC_STATIC, 153, 65, 5, 10 +LTEXT "", IDC_ABOUT_VERSION, 61, 65, 200, 10 LTEXT "Copyright 1998-", IDC_STATIC, 35, 75, 53, 10 LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index 39362f0ac23..8d66a2a7ea8 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -136,10 +136,7 @@ BEGIN ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 LTEXT "Version ", IDC_STATIC, 35, 65, 28, 10 -LTEXT KERNEL_VERSION_STR, IDC_STATIC, 63, 65, 27, 10 -LTEXT " (", IDC_STATIC, 90, 65, 5, 10 -LTEXT KERNEL_VERSION_BUILD_STR, IDC_STATIC, 95, 65, 58, 10 -LTEXT ")", IDC_STATIC, 153, 65, 5, 10 +LTEXT "", IDC_ABOUT_VERSION, 61, 65, 200, 10 LTEXT "Copyright 1998-", IDC_STATIC, 35, 75, 53, 10 LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index 23309ae0886..909bf5988d6 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -142,10 +142,7 @@ BEGIN ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 LTEXT "Verze ", IDC_STATIC, 35, 65, 28, 10 -LTEXT KERNEL_VERSION_STR, IDC_STATIC, 63, 65, 27, 10 -LTEXT " (", IDC_STATIC, 90, 65, 5, 10 -LTEXT KERNEL_VERSION_BUILD_STR, IDC_STATIC, 95, 65, 58, 10 -LTEXT ")", IDC_STATIC, 153, 65, 5, 10 +LTEXT "", IDC_AB
[ros-diffs] [reactos] 01/01: [USETUP] Remove redundant TEXT_STYLE_NORMAL flag on empty MUI entry field (#2275)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dac560f81a691f7300ddd5b808bfb8da7de88249 commit dac560f81a691f7300ddd5b808bfb8da7de88249 Author: Bișoc George AuthorDate: Sun Jan 26 17:38:58 2020 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jan 26 17:38:58 2020 +0100 [USETUP] Remove redundant TEXT_STYLE_NORMAL flag on empty MUI entry field (#2275) --- base/setup/usetup/lang/bg-BG.h | 2 +- base/setup/usetup/lang/bn-BD.h | 2 +- base/setup/usetup/lang/cs-CZ.h | 2 +- base/setup/usetup/lang/da-DK.h | 2 +- base/setup/usetup/lang/de-DE.h | 2 +- base/setup/usetup/lang/el-GR.h | 2 +- base/setup/usetup/lang/en-US.h | 2 +- base/setup/usetup/lang/es-ES.h | 2 +- base/setup/usetup/lang/et-EE.h | 2 +- base/setup/usetup/lang/fr-FR.h | 2 +- base/setup/usetup/lang/he-IL.h | 2 +- base/setup/usetup/lang/hu-HU.h | 2 +- base/setup/usetup/lang/it-IT.h | 2 +- base/setup/usetup/lang/ja-JP.h | 2 +- base/setup/usetup/lang/lt-LT.h | 2 +- base/setup/usetup/lang/ms-MY.h | 2 +- base/setup/usetup/lang/nl-NL.h | 2 +- base/setup/usetup/lang/pl-PL.h | 2 +- base/setup/usetup/lang/pt-BR.h | 2 +- base/setup/usetup/lang/pt-PT.h | 2 +- base/setup/usetup/lang/ro-RO.h | 2 +- base/setup/usetup/lang/ru-RU.h | 2 +- base/setup/usetup/lang/sk-SK.h | 2 +- base/setup/usetup/lang/sq-AL.h | 2 +- base/setup/usetup/lang/sv-SE.h | 2 +- base/setup/usetup/lang/tr-TR.h | 2 +- base/setup/usetup/lang/uk-UA.h | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index f3bd4a8f566..0ea380691ff 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -1335,7 +1335,7 @@ static MUI_ENTRY bgBGFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/bn-BD.h b/base/setup/usetup/lang/bn-BD.h index f4e11d3947b..1033aadade5 100644 --- a/base/setup/usetup/lang/bn-BD.h +++ b/base/setup/usetup/lang/bn-BD.h @@ -1325,7 +1325,7 @@ static MUI_ENTRY bnBDFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/cs-CZ.h b/base/setup/usetup/lang/cs-CZ.h index e39792a97e6..121959d6ca7 100644 --- a/base/setup/usetup/lang/cs-CZ.h +++ b/base/setup/usetup/lang/cs-CZ.h @@ -1333,7 +1333,7 @@ static MUI_ENTRY csCZFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/da-DK.h b/base/setup/usetup/lang/da-DK.h index 8d98f4c53b5..03757390b58 100644 --- a/base/setup/usetup/lang/da-DK.h +++ b/base/setup/usetup/lang/da-DK.h @@ -1327,7 +1327,7 @@ static MUI_ENTRY daDKFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index 8b223af9728..11f1f67f35b 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -1320,7 +1320,7 @@ static MUI_ENTRY deDEFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/el-GR.h b/base/setup/usetup/lang/el-GR.h index fcbc1032022..7795a03 100644 --- a/base/setup/usetup/lang/el-GR.h +++ b/base/setup/usetup/lang/el-GR.h @@ -1342,7 +1342,7 @@ static MUI_ENTRY elGRFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/en-US.h b/base/setup/usetup/lang/en-US.h index cce855e7696..378700de0d8 100644 --- a/base/setup/usetup/lang/en-US.h +++ b/base/setup/usetup/lang/en-US.h @@ -1325,7 +1325,7 @@ static MUI_ENTRY enUSFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/es-ES.h b/base/setup/usetup/lang/es-ES.h index 53164e51512..0296eae8697 100644 --- a/base/setup/usetup/lang/es-ES.h +++ b/base/setup/usetup/lang/es-ES.h @@ -1330,7 +1330,7 @@ static MUI_ENTRY esESFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/et-EE.h b/base/setup/usetup/lang/et-EE.h index 76f3b4b7277..b48275023b2 100644 --- a/base/setup/usetup/lang/et-EE.h +++ b/base/setup/usetup/lang/et-EE.h @@ -1328,7 +1328,7 @@ static MUI_ENTRY etEEFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base/setup/usetup/lang/fr-FR.h b/base/setup/usetup/lang/fr-FR.h index e30433f80f6..93a6717f107 100644 --- a/base/setup/usetup/lang/fr-FR.h +++ b/base/setup/usetup/lang/fr-FR.h @@ -1348,7 +1348,7 @@ static MUI_ENTRY frFRFormatPartitionEntries[] = 0, 0, NULL, -TEXT_STYLE_NORMAL +0 } }; diff --git a/base
[ros-diffs] [reactos] 01/01: [USETUP] Implement resource ID text based strings for MUI (#2193)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2bf4180c80b1c18594bd302b3f3c21c9863c315d commit 2bf4180c80b1c18594bd302b3f3c21c9863c315d Author: Bișoc George AuthorDate: Sun Jan 19 17:58:13 2020 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jan 19 17:58:13 2020 +0100 [USETUP] Implement resource ID text based strings for MUI (#2193) CORE-12683 Supersedes PR #612. * [USETUP] Implement the internal MUI routines for text manipulation based on its ID and implement text resource based IDs USETUP (the 1st stage text mode setup module) bases upon MUI (Multilingual User Interface) sub-component of USETUP which is responsible for the ability into translating the MUI pages (each page having corresponding properties like X, Y coordinates, text flags and text string buffer) in various languages. The only problem, as of now, is that whenever you want to modify a certain property of a page, such as removing a text from the said page in the screen, you've got to rely on using CONSOLE_* specific functions and calling with hardcoded parameters, namely the coordinates. This can become a problem as not every localized (translated) MUI page has the same properties for each language and this could lead to various issues. Therefore, assigning each entry with an ID you can remove a text by only giving its ID (and the entry page number) without having the need to specify the coordinates as the internal MUI routine, MUIGetEntry(), automatically retrieves the entry with respective data fields. The following commit implements: - MUIGetEntry() - MUIClearText() - MUIClearStyledText() - MUISetText() - MUISetStyledText() - Now the X and Y coordinate members of MUI_ENTRY are of SHORT integer type, for the sake of the general code as most of the coordination values, even the COORD structure itself, has the coordination points as SHORTs and not BYTEs. The following MUI functions will be used to manipulate text based resources depending on their ID from the corresponding MUI entry. * [USETUP] Make CONSOLE_ClearTextXY function public so that we can use across other files. * [USETUP] Implement the IDs for each text MUI entry in locale files. This mechanism follows the same principle of resource IDs in Win32 applications. Static text is merely a resource that doesn't get changed programmatically for whole of its lifetime whereas dynamic resources can change during the lifetime of the program depending on the algorithm (for example, hide that piece of text and set another one, etc.). * [USETUP] Remove the "Press ENTER to continue" message prompt when the partition formatting begins. --- base/setup/usetup/consup.c | 1 - base/setup/usetup/consup.h | 6 + base/setup/usetup/lang/bg-BG.h | 628 ++- base/setup/usetup/lang/bn-BD.h | 648 +++-- base/setup/usetup/lang/cs-CZ.h | 627 ++- base/setup/usetup/lang/da-DK.h | 641 ++-- base/setup/usetup/lang/de-DE.h | 634 ++-- base/setup/usetup/lang/el-GR.h | 642 ++-- base/setup/usetup/lang/en-US.h | 627 ++- base/setup/usetup/lang/es-ES.h | 627 ++- base/setup/usetup/lang/et-EE.h | 627 ++- base/setup/usetup/lang/fr-FR.h | 636 ++-- base/setup/usetup/lang/he-IL.h | 627 ++- base/setup/usetup/lang/hu-HU.h | 593 - base/setup/usetup/lang/it-IT.h | 628 ++- base/setup/usetup/lang/ja-JP.h | 627 ++- base/setup/usetup/lang/lt-LT.h | 625 ++- base/setup/usetup/lang/ms-MY.h | 624 ++- base/setup/usetup/lang/nl-NL.h | 630 ++- base/setup/usetup/lang/pl-PL.h | 618 ++- base/setup/usetup/lang/pt-BR.h | 642 ++-- base/setup/usetup/lang/pt-PT.h | 642 ++-- base/setup/usetup/lang/ro-RO.h | 644 ++-- base/setup/usetup/lang/ru-RU.h | 638 ++-- base/setup/usetup/lang/sk-SK.h | 627 ++- base/setup/usetup/lang/sq-AL.h | 627 ++- base/setup/usetup/lang/sv-SE.h | 625 ++- base/setup/usetup/lang/tr-TR.h | 617 ++- base/setup/usetup/lang/uk-UA.h | 627 ++- base/setup/us
[ros-diffs] [reactos] 01/01: [OSK] Refactor the registry configuration code (#2096)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=14ebc0ba3d169fb253a36d961654fd3e58f92f2b commit 14ebc0ba3d169fb253a36d961654fd3e58f92f2b Author: Bișoc George AuthorDate: Thu Dec 12 00:25:55 2019 +0100 Commit: Katayama Hirofumi MZ CommitDate: Thu Dec 12 08:25:55 2019 +0900 [OSK] Refactor the registry configuration code (#2096) Rewrite LoadDataFromRegistry() and SaveDataToRegistry() as function helpers. With these, we'll be able to load and save data to registry on our choice. --- base/applications/osk/main.c | 14 +- base/applications/osk/precomp.h | 12 +- base/applications/osk/settings.c | 303 +-- 3 files changed, 113 insertions(+), 216 deletions(-) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 7994571dfee..1dc36eae705 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -257,7 +257,7 @@ int OSK_DlgInitDialog(HWND hDlg) */ VOID OSK_RestoreDlgPlacement(HWND hDlg) { -LoadDataFromRegistry(); +LoadSettings(); SetWindowPos(hDlg, (Globals.bAlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST), Globals.PosX, Globals.PosY, 0, 0, SWP_NOSIZE); } @@ -282,8 +282,8 @@ int OSK_DlgClose(void) /* delete GDI objects */ if (Globals.hBrushGreenLed) DeleteObject(Globals.hBrushGreenLed); -/* Save the settings to the registry hive */ -SaveDataToRegistry(); +/* Save the application's settings on registry */ +SaveSettings(); return TRUE; } @@ -633,7 +633,7 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) */ Globals.bIsEnhancedKeyboard = TRUE; EndDialog(hDlg, FALSE); -SaveDataToRegistry(); +SaveSettings(); /* Change the condition of enhanced keyboard item menu to checked */ CheckMenuItem(GetMenu(hDlg), IDM_ENHANCED_KB, MF_BYCOMMAND | MF_CHECKED); @@ -666,7 +666,7 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) */ Globals.bIsEnhancedKeyboard = FALSE; EndDialog(hDlg, FALSE); -SaveDataToRegistry(); +SaveSettings(); /* Change the condition of standard keyboard item menu to checked */ CheckMenuItem(GetMenu(hDlg), IDM_ENHANCED_KB, MF_BYCOMMAND | MF_UNCHECKED); @@ -805,8 +805,8 @@ int WINAPI wWinMain(HINSTANCE hInstance, ZeroMemory(, sizeof(Globals)); Globals.hInstance = hInstance; -/* Load the settings from the registry hive */ -LoadDataFromRegistry(); +/* Load the application's settings from the registry */ +LoadSettings(); /* If the member of the struct (bShowWarning) is set then display the dialog box */ if (Globals.bShowWarning) diff --git a/base/applications/osk/precomp.h b/base/applications/osk/precomp.h index e2503f787e4..1b71c5860cc 100644 --- a/base/applications/osk/precomp.h +++ b/base/applications/osk/precomp.h @@ -68,11 +68,17 @@ LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw); int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int); VOID OSK_RestoreDlgPlacement(HWND hDlg); VOID OSK_RefreshLEDKeys(VOID); +INT_PTR CALLBACK OSK_WarningProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); /* settings.c */ -BOOL LoadDataFromRegistry(VOID); -BOOL SaveDataToRegistry(VOID); -INT_PTR CALLBACK OSK_WarningProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); +LONG LoadDataFromRegistry(IN LPCWSTR lpValueDataName, + OUT PDWORD pdwValueData); + +LONG SaveDataToRegistry(IN LPCWSTR lpValueDataName, +IN DWORD dwValueData); + +VOID LoadSettings(VOID); +VOID SaveSettings(VOID); /* DEFINES / diff --git a/base/applications/osk/settings.c b/base/applications/osk/settings.c index 1f4d9c94800..c674984994b 100644 --- a/base/applications/osk/settings.c +++ b/base/applications/osk/settings.c @@ -11,24 +11,18 @@ /* FUNCTIONS ***/ -BOOL LoadDataFromRegistry(VOID) +LONG LoadDataFromRegistry(IN LPCWSTR lpValueDataName, + OUT PDWORD pdwValueData) { HKEY hKey; LONG lResult; DWORD dwValue; DWORD cbData = sizeof(dwValue); -/* Initialize the registry application settings */ -Globals.bShowWarning = TRUE; -Globals.bIsEnhancedKeyboard = TRUE; -Globals.bSoundClick = FALSE; -Globals.bAlwaysOnTop = TRUE; - -/* Set the coordinate values to default */ -Globals.PosX = CW_USEDEFAULT; -Globals.PosY = CW_USEDEFAULT; +/* Initialize the pointer parameter to default */ +*pdwValueData = 0; -/* Open the key, so that we
[ros-diffs] [reactos] 01/01: [SHELL32] Do not return -1 if a file is not valid or not found - ExtractIconEx() (#2113)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8ec05f5fa1108a50f378e57b76b5015ab7613ffe commit 8ec05f5fa1108a50f378e57b76b5015ab7613ffe Author: Bișoc George AuthorDate: Thu Dec 12 00:24:20 2019 +0100 Commit: Katayama Hirofumi MZ CommitDate: Thu Dec 12 08:24:20 2019 +0900 [SHELL32] Do not return -1 if a file is not valid or not found - ExtractIconEx() (#2113) ExtractIconEx() returns the number of successfully extracted icons from a file. The routine may return 0 in case no icons could be extracted but it could also return 0 if the file is not a valid PE image file or the file couldn't be found. PrivateExtractIcons and the internal USER32 routine, ICO_ExtractIconExW(), return -1 in such scenarios. The behaviour is correct however we do not want that ExtractIconEx() returns -1 as well as it doesn't comply with the general documentation. In such cases, simply return 0 as no successful icons have been extracted due to related file failures. CORE-16535 --- dll/win32/shell32/iconcache.cpp| 20 +--- modules/rostests/apitests/shell32/CMakeLists.txt | 1 + .../rostests/apitests/shell32/ExtractIconEx.cpp| 37 ++ modules/rostests/apitests/shell32/testlist.c | 2 ++ 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/dll/win32/shell32/iconcache.cpp b/dll/win32/shell32/iconcache.cpp index 400f75cc456..5b35326a2b7 100644 --- a/dll/win32/shell32/iconcache.cpp +++ b/dll/win32/shell32/iconcache.cpp @@ -866,12 +866,13 @@ EXTERN_C INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT b /* * ExtractIconExW[SHELL32.@] * RETURNS - * 0 no icon found - * -1 file is not valid + * 0 no icon found (or the file is not valid) * or number of icons extracted */ UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons) { +UINT ret = 0; + /* get entry point of undocumented function PrivateExtractIconExW() in user32 */ #if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; @@ -881,13 +882,24 @@ UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); if (!PrivateExtractIconExW) -return 0; +return ret; } #endif TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons); +ret = PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); -return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); +/* PrivateExtractIconExW() may return -1 if the provided file is not a valid PE image file or the said + * file couldn't be found. The behaviour is correct although ExtractIconExW() only returns the successfully + * extracted icons from a file. In such scenario, simply return 0. +*/ +if (ret == 0x) +{ +WARN("Invalid file or couldn't be found - %s\n", debugstr_w(lpszFile)); +ret = 0; +} + +return ret; } /* diff --git a/modules/rostests/apitests/shell32/CMakeLists.txt b/modules/rostests/apitests/shell32/CMakeLists.txt index f1cd11fefaa..22dbadf9dfb 100644 --- a/modules/rostests/apitests/shell32/CMakeLists.txt +++ b/modules/rostests/apitests/shell32/CMakeLists.txt @@ -18,6 +18,7 @@ list(APPEND SOURCE CUserNotification.cpp Control_RunDLLW.cpp DragDrop.cpp +ExtractIconEx.cpp IShellFolderViewCB.cpp OpenAs_RunDLL.cpp PathResolve.cpp diff --git a/modules/rostests/apitests/shell32/ExtractIconEx.cpp b/modules/rostests/apitests/shell32/ExtractIconEx.cpp new file mode 100644 index 000..721c749350b --- /dev/null +++ b/modules/rostests/apitests/shell32/ExtractIconEx.cpp @@ -0,0 +1,37 @@ +/* + * PROJECT: ReactOS API Tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Tests for ExtractIconEx routine + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +#include "shelltest.h" + +typedef struct +{ +PCWSTR pszFilePath; +UINT nIcons; +} EXTRACTICONTESTS; + +EXTRACTICONTESTS IconTests[] = +{ +/* Executable file with icon */ +{L"%SystemRoot%\\System32\\cmd.exe", 1}, + +/* Executable file without icon */ +{L"%SystemRoot%\\System32\\autochk.exe", 0}, + +/* Non-existing files */ +{L"%SystemRoot%\\non-existent-file.sdf", 0} +}; + +START_TEST(ExtractIconEx) +{ +UINT i, nReturnedIcons; + +for (i = 0; i <
[ros-diffs] [reactos] 01/01: [OSK] Validate the registry value data on query (#2050)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=48d81f845dd294d71f21d3312a5a16c426c4904e commit 48d81f845dd294d71f21d3312a5a16c426c4904e Author: Bișoc George AuthorDate: Mon Nov 18 21:25:51 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Nov 18 21:25:51 2019 +0100 [OSK] Validate the registry value data on query (#2050) Ensure that the value data we query on loading the registry configuration settings matches with its data size --- base/applications/osk/settings.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/base/applications/osk/settings.c b/base/applications/osk/settings.c index b1bcb210f96..1f4d9c94800 100644 --- a/base/applications/osk/settings.c +++ b/base/applications/osk/settings.c @@ -16,7 +16,7 @@ BOOL LoadDataFromRegistry(VOID) HKEY hKey; LONG lResult; DWORD dwValue; -DWORD cbData = sizeof(DWORD); +DWORD cbData = sizeof(dwValue); /* Initialize the registry application settings */ Globals.bShowWarning = TRUE; @@ -49,7 +49,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -67,7 +67,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -85,7 +85,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -103,7 +103,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -120,7 +120,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey); @@ -137,7 +137,7 @@ BOOL LoadDataFromRegistry(VOID) (BYTE *), ); -if (lResult != ERROR_SUCCESS) +if (lResult != ERROR_SUCCESS || cbData != sizeof(dwValue)) { /* Bail out and return FALSE if we fail */ RegCloseKey(hKey);
[ros-diffs] [reactos] 01/01: [OSK] Reduce the delay when redrawing LED keyboard resources (#1385)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=411a59961002b4e5ec9a79c3681c7a6e2fff6af7 commit 411a59961002b4e5ec9a79c3681c7a6e2fff6af7 Author: Bișoc George AuthorDate: Mon Nov 18 21:24:45 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Nov 18 21:24:45 2019 +0100 [OSK] Reduce the delay when redrawing LED keyboard resources (#1385) 200 ms would mean that the LEDs redraw each 0,2 second and this adds a slight delay. This can be seen if you press the Num lock key (for example) many times in a row and the LED resources won't update instantly. Therefore reducing the value of uElapse should significantly decrease the delay and the LEDs should update in a realistic way. Furthermore, before invalidating the LED resource check the toggle state of the keys. --- base/applications/osk/main.c| 59 - base/applications/osk/precomp.h | 9 +++ 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index a467eb24518..7994571dfee 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -14,6 +14,13 @@ OSK_GLOBALS Globals; +OSK_KEYLEDINDICATOR LedKey[] = +{ +{VK_NUMLOCK, IDC_LED_NUM, 0x0145, FALSE}, +{VK_CAPITAL, IDC_LED_CAPS, 0x013A, FALSE}, +{VK_SCROLL, IDC_LED_SCROLL, 0x0146, FALSE} +}; + /* FUNCTIONS **/ /*** @@ -237,7 +244,7 @@ int OSK_DlgInitDialog(HWND hDlg) Globals.hBrushGreenLed = CreateSolidBrush(RGB(0, 255, 0)); /* Set a timer for periodics tasks */ -Globals.iTimer = SetTimer(hDlg, 0, 200, NULL); +Globals.iTimer = SetTimer(hDlg, 0, 50, NULL); return TRUE; } @@ -281,6 +288,29 @@ int OSK_DlgClose(void) return TRUE; } +/*** + * + * OSK_RefreshLEDKeys + * + * Updates (invalidates) the LED icon resources then the respective + * keys (Caps Lock, Scroll Lock or Num Lock) are being held down + */ +VOID OSK_RefreshLEDKeys(VOID) +{ +INT i; +BOOL bKeyIsPressed; + +for (i = 0; i < _countof(LedKey); i++) +{ +bKeyIsPressed = (GetAsyncKeyState(LedKey[i].vKey) & 0x8000) != 0; +if (LedKey[i].bWasKeyPressed != bKeyIsPressed) +{ +LedKey[i].bWasKeyPressed = bKeyIsPressed; +InvalidateRect(GetDlgItem(Globals.hMainWnd, LedKey[i].DlgResource), NULL, FALSE); +} +} +} + /*** * * OSK_DlgTimer @@ -298,10 +328,11 @@ int OSK_DlgTimer(void) Globals.hActiveWnd = hWndActiveWindow; } -/* Always redraw leds because it can be changed by the real keyboard) */ -InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_NUM), NULL, TRUE); -InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_CAPS), NULL, TRUE); -InvalidateRect(GetDlgItem(Globals.hMainWnd, IDC_LED_SCROLL), NULL, TRUE); +/* +Update the LED key indicators accordingly to their state (if one +of the specific keys is held down). +*/ +OSK_RefreshLEDKeys(); return TRUE; } @@ -320,6 +351,7 @@ BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl) BOOL bKeyDown; BOOL bKeyUp; LONG WindowStyle; +INT i; /* FIXME: To be deleted when ReactOS will support WS_EX_NOACTIVATE */ if (Globals.hActiveWnd) @@ -357,8 +389,23 @@ BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl) bKeyUp = TRUE; } -/* Extended key ? */ +/* Get the key from dialog control key command */ ScanCode = wCommand; + +/* +The user could've pushed one of the key buttons of the dialog that +can trigger particular function toggling (Caps Lock, Num Lock or Scroll Lock). Update +(invalidate) the LED icon resources accordingly. +*/ +for (i = 0; i < _countof(LedKey); i++) +{ +if (LedKey[i].wScanCode == ScanCode) +{ +InvalidateRect(GetDlgItem(Globals.hMainWnd, LedKey[i].DlgResource), NULL, FALSE); +} +} + +/* Extended key ? */ if (ScanCode & 0x0200) bExtendedKey = TRUE; else diff --git a/base/applications/osk/precomp.h b/base/applications/osk/precomp.h index c1e7e50543d..e2503f787e4 100644 --- a/base/applications/osk/precomp.h +++ b/base/applications/osk/precomp.h @@ -46,6 +46,14 @@ typedef struct INTPosY; } OSK_GLOBALS; +typedef struct +{ +INT vKey; +INT DlgResource; +WORD wScanCode; +BOOL bWasKeyPressed; +} OSK_KEYLEDINDICATOR; + /* PROTOTYPES */ /* main.c */ @@ -59,6 +67,7 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT APIENTRY OSK_ThemeHan
[ros-diffs] [reactos] 01/01: [PSDK] Add missing declaration of WTSGetActiveConsoleSessionId() (#1920)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b6654c0fb5b5077160e445ea95bbb9ce99003d49 commit b6654c0fb5b5077160e445ea95bbb9ce99003d49 Author: Bișoc George AuthorDate: Sat Sep 21 18:51:28 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Sep 21 18:51:28 2019 +0200 [PSDK] Add missing declaration of WTSGetActiveConsoleSessionId() (#1920) This allows this function to be used. --- sdk/include/psdk/winbase.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/include/psdk/winbase.h b/sdk/include/psdk/winbase.h index 5f2c867ac2a..a1adf48268c 100644 --- a/sdk/include/psdk/winbase.h +++ b/sdk/include/psdk/winbase.h @@ -3283,8 +3283,11 @@ BOOL WINAPI WriteProfileSectionW(_In_ LPCWSTR, _In_ LPCWSTR); BOOL WINAPI WriteProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR); BOOL WINAPI WriteProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR); DWORD WINAPI WriteTapemark(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL); + #define Yield() + #if (_WIN32_WINNT >= 0x0501) +DWORD WINAPI WTSGetActiveConsoleSessionId(VOID); BOOL WINAPI ZombifyActCtx(_Inout_ HANDLE); #endif
[ros-diffs] [reactos] 01/01: [CPL] Do not enable the "Apply" button unconditionally (#1876)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9efe8dab8952bbb2685941dacc7e4fa684b92bc2 commit 9efe8dab8952bbb2685941dacc7e4fa684b92bc2 Author: Bișoc George AuthorDate: Sun Sep 1 22:58:43 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Sep 1 22:58:43 2019 +0200 [CPL] Do not enable the "Apply" button unconditionally (#1876) Fix for WINED3DCFG and OPENGLCFG. CORE-16330 --- dll/cpl/openglcfg/general.c | 5 - dll/cpl/wined3dcfg/general.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dll/cpl/openglcfg/general.c b/dll/cpl/openglcfg/general.c index 0b9db4ca219..f9376ed0b8c 100644 --- a/dll/cpl/openglcfg/general.c +++ b/dll/cpl/openglcfg/general.c @@ -173,7 +173,10 @@ INT_PTR CALLBACK GeneralPageProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM if (LOWORD(wParam) == IDC_RENDERER || LOWORD(wParam) == IDC_DEBUG_OUTPUT) { -PropSheet_Changed(GetParent(hWndDlg), hWndDlg); +if (HIWORD(wParam) == CBN_SELCHANGE) +{ +PropSheet_Changed(GetParent(hWndDlg), hWndDlg); +} } break; diff --git a/dll/cpl/wined3dcfg/general.c b/dll/cpl/wined3dcfg/general.c index 659b5d1fac9..b7a178281f3 100644 --- a/dll/cpl/wined3dcfg/general.c +++ b/dll/cpl/wined3dcfg/general.c @@ -154,7 +154,7 @@ INT_PTR CALLBACK GeneralPageProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM return TRUE; case WM_COMMAND: -if (LOWORD(wParam) > IDC_MIN && LOWORD(wParam) < IDC_MAX) +if (LOWORD(wParam) > IDC_MIN && LOWORD(wParam) < IDC_MAX && HIWORD(wParam) == CBN_SELCHANGE) PropSheet_Changed(GetParent(hWndDlg), hWndDlg); break;
[ros-diffs] [reactos] 01/01: [UTILMAN] Add Romanian and Italian translations
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3e3a7a63fd1e70ab8b94b3bf4f8155b0826c342b commit 3e3a7a63fd1e70ab8b94b3bf4f8155b0826c342b Author: Bișoc George AuthorDate: Mon Aug 19 20:38:46 2019 +0200 Commit: Mark Jansen CommitDate: Mon Aug 19 21:29:56 2019 +0200 [UTILMAN] Add Romanian and Italian translations --- base/applications/utilman/lang/it-IT.rc | 55 + base/applications/utilman/lang/ro-RO.rc | 55 + base/applications/utilman/utilman.rc| 6 3 files changed, 116 insertions(+) diff --git a/base/applications/utilman/lang/it-IT.rc b/base/applications/utilman/lang/it-IT.rc new file mode 100644 index 000..b8ba8000e24 --- /dev/null +++ b/base/applications/utilman/lang/it-IT.rc @@ -0,0 +1,55 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Italian (Italy) translation resource + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +IDD_MAIN_DIALOG DIALOGEX 0, 0, 284, 183 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Accessibilità Utility Manager" +FONT 8, "MS Shell Dlg" +BEGIN +LISTBOX IDC_LISTBOX, 4, 4, 273, 56, LBS_STANDARD | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER +CONTROL "", IDC_GROUPBOX, "Button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 3, 62, 275, 92 +CONTROL "Avvia", IDC_START, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 14, 76, 45, 16 +CONTROL "Arresta", IDC_STOP, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 69, 76, 45, 16 +CONTROL "Avvia automaticamente all'accesso", IDC_START_LOG_IN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 101, 206, 14 +CONTROL "Avvia automaticamente quando il desktop viene bloccato", IDC_START_DESKTOP, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 118, 212, 14 +CONTROL "Avvia automaticamente quando Utility Manager viene avviato", IDC_START_UTILMAN, "Button", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 12, 134, 212, 13 +CONTROL "", IDC_OK, "Button", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 161, 50, 14 +CONTROL "", IDC_CANCEL, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 221, 161, 50, 14 +CONTROL "?", IDC_HELP_TOPICS, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 98, 161, 50, 14 +END + +IDD_ABOUT_DIALOG DIALOGEX 22, 16, 210, 65 +CAPTION "Informazioni su Accessibilità Utility Manager" +FONT 8, "MS Shell Dlg", 0, 0 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME +BEGIN +ICON IDI_ICON_UTILMAN, IDC_STATIC, 10, 10, 7, 30 +LTEXT "Accessibilità Utility Manager\nCopyright (C) 2019 George Bișoc (fraizeraust99 at gmail dot com)", IDC_STATIC, 48, 7, 150, 36 +LTEXT "Copyright (C) 2019 Hermes Belusca-Maito", IDC_STATIC, 48, 33, 150, 36 +PUSHBUTTON "Chiudi", IDOK, 75, 47, 44, 15 +END + +STRINGTABLE +BEGIN +IDS_OSK "Tastiera su schermo" +IDS_MAGNIFIER "Magnifier" +END + +STRINGTABLE +BEGIN +IDS_NOTRUNNING "%s non è in esecuzione" +IDS_RUNNING "%s è in esecuzione" +IDS_GROUPBOX_OPTIONS_TITLE "Opzioni di %s" +END + +STRINGTABLE +BEGIN +IDM_ABOUT "Informazioni su Accessibilità Utility Manager..." +END diff --git a/base/applications/utilman/lang/ro-RO.rc b/base/applications/utilman/lang/ro-RO.rc new file mode 100644 index 000..20dfac27335 --- /dev/null +++ b/base/applications/utilman/lang/ro-RO.rc @@ -0,0 +1,55 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Romanian (Romania) translation resource + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +IDD_MAIN_DIALOG DIALOGEX 0, 0, 284, 183 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_CONTEXTHELP +CAPTION "Manager utilitare" +FONT 8, "MS Shell Dlg" +BEGIN +LISTBOX IDC_LISTBOX, 4, 4, 273, 56, LBS_STANDARD | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER +CONTROL "", IDC_GROUPBOX, "Button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 3, 62, 275, 92 +CONTROL "Start", IDC_START, "Button", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 14, 76, 45, 16 +CONTROL "Oprire", IDC_STOP, "Button&q
[ros-diffs] [reactos] 01/01: Implement Utility Manager software
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=df88ea8d25722ca204724d3a6448c5eb0e82e01d commit df88ea8d25722ca204724d3a6448c5eb0e82e01d Author: Bișoc George AuthorDate: Wed Apr 24 16:06:05 2019 +0200 Commit: Mark Jansen CommitDate: Mon Aug 19 13:05:28 2019 +0200 Implement Utility Manager software CORE-15974 --- base/applications/CMakeLists.txt | 1 + base/applications/utilman/CMakeLists.txt | 13 + base/applications/utilman/NOTES.txt | 11 + base/applications/utilman/about.c | 93 +++ base/applications/utilman/dialog.c| 438 ++ base/applications/utilman/lang/en-US.rc | 54 base/applications/utilman/precomp.h | 75 + base/applications/utilman/process.c | 189 + base/applications/utilman/res/utilman.ico | Bin 0 -> 4286 bytes base/applications/utilman/resource.h | 47 base/applications/utilman/utilman.rc | 32 +++ media/inf/shortcuts.inf | 3 + 12 files changed, 956 insertions(+) diff --git a/base/applications/CMakeLists.txt b/base/applications/CMakeLists.txt index 87cbdbf5e17..74ddde5815c 100644 --- a/base/applications/CMakeLists.txt +++ b/base/applications/CMakeLists.txt @@ -39,6 +39,7 @@ add_subdirectory(shutdown) add_subdirectory(sndrec32) add_subdirectory(sndvol32) add_subdirectory(taskmgr) +add_subdirectory(utilman) add_subdirectory(winhlp32) add_subdirectory(winver) add_subdirectory(wordpad) diff --git a/base/applications/utilman/CMakeLists.txt b/base/applications/utilman/CMakeLists.txt new file mode 100644 index 000..90a909e9dd0 --- /dev/null +++ b/base/applications/utilman/CMakeLists.txt @@ -0,0 +1,13 @@ + +list(APPEND SOURCE +dialog.c +process.c +about.c +precomp.h) + +add_rc_deps(utilman.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/utilman.ico) +add_executable(utilman ${SOURCE} utilman.rc) +set_module_type(utilman win32gui UNICODE) +add_importlibs(utilman comdlg32 user32 gdi32 advapi32 shell32 comctl32 msvcrt kernel32 ntdll) +add_pch(utilman precomp.h SOURCE) +add_cd_file(TARGET utilman DESTINATION reactos/system32 FOR all) diff --git a/base/applications/utilman/NOTES.txt b/base/applications/utilman/NOTES.txt new file mode 100644 index 000..595c089ec1a --- /dev/null +++ b/base/applications/utilman/NOTES.txt @@ -0,0 +1,11 @@ +ReactOS Accessibility Utility Manager +=== + +Currently the application can manage the state of the accessibility tools however there are some things which needs to be DONE in order to consider the program as fully complete. The following are: + +- The warning dialog is not implemented YET +- The program can only control the launch/stopping states of accessibility tools, the code which manages the options for each utility is not implemented YET +- Function helper which catches the Windows logo + U keys is not implemented YET +- Registry configuration saver/loader is not implemented YET (XP's Utility Manager creates a key on HKEY_CURRENT_USER\Software\Microsoft with the name "Utility Manager" although the rest of other configuration values for utility options are stored elsewhere and I don't know exactly where are those) +- XP's and Server 2003's main Utility Manager implementation is compiled in a DLL (+ an executable which loads the DLL in question) whereas our Utility Manager is compiled as a whole executable +- On Windows Vista and later, it complains for required elevation to open a process. We need to improve our process creation code and discard ShellExecuteW() \ No newline at end of file diff --git a/base/applications/utilman/about.c b/base/applications/utilman/about.c new file mode 100644 index 000..805fde451f9 --- /dev/null +++ b/base/applications/utilman/about.c @@ -0,0 +1,93 @@ +/* + * PROJECT: ReactOS Utility Manager (Accessibility) + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: About dialog file + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +/* INCLUDES ***/ + +#include "precomp.h" + +/* GLOBALS / + +UTILMAN_GLOBALS Globals; + +/* FUNCTIONS **/ + +/** + * @AboutDlgProc + * + * "About" dialog procedure. + * + * @param hDlg + * The handle object of the dialog. + * + * @param Msg + * Message events (in unsigned int). + * + * @param wParam + * Message parameter (in UINT_PTR). + * + * @param lParam + * Message paramater (in LONG_PTR). + * + * @return + * Return TRUE if the dialog processed messages, + * FALSE otherwise. + * + */ +INT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) +{ +switch (Msg) +{ +case WM_INITDIALOG: +{ +
[ros-diffs] [reactos] 01/01: [USETUP] Localize the rest of the hardcoded error message strings
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2fbff73792ed7683e947c64e11f174d3a9418ecf commit 2fbff73792ed7683e947c64e11f174d3a9418ecf Author: Bișoc George AuthorDate: Wed Feb 13 17:13:48 2019 +0100 Commit: Colin Finck CommitDate: Sat Aug 17 21:34:39 2019 +0200 [USETUP] Localize the rest of the hardcoded error message strings --- base/setup/lib/errorcode.h | 3 +++ base/setup/usetup/lang/bg-BG.h | 15 +++ base/setup/usetup/lang/bn-BD.h | 15 +++ base/setup/usetup/lang/cs-CZ.h | 15 +++ base/setup/usetup/lang/da-DK.h | 15 +++ base/setup/usetup/lang/de-DE.h | 15 +++ base/setup/usetup/lang/el-GR.h | 15 +++ base/setup/usetup/lang/en-US.h | 15 +++ base/setup/usetup/lang/es-ES.h | 15 +++ base/setup/usetup/lang/et-EE.h | 15 +++ base/setup/usetup/lang/fr-FR.h | 15 +++ base/setup/usetup/lang/he-IL.h | 15 +++ base/setup/usetup/lang/it-IT.h | 15 +++ base/setup/usetup/lang/ja-JP.h | 15 +++ base/setup/usetup/lang/lt-LT.h | 15 +++ base/setup/usetup/lang/ms-MY.h | 15 +++ base/setup/usetup/lang/nl-NL.h | 15 +++ base/setup/usetup/lang/pl-PL.h | 15 +++ base/setup/usetup/lang/pt-BR.h | 15 +++ base/setup/usetup/lang/ro-RO.h | 15 +++ base/setup/usetup/lang/ru-RU.h | 15 +++ base/setup/usetup/lang/sk-SK.h | 15 +++ base/setup/usetup/lang/sq-AL.h | 15 +++ base/setup/usetup/lang/sv-SE.h | 15 +++ base/setup/usetup/lang/tr-TR.h | 15 +++ base/setup/usetup/lang/uk-UA.h | 15 +++ base/setup/usetup/usetup.c | 20 +--- 27 files changed, 383 insertions(+), 15 deletions(-) diff --git a/base/setup/lib/errorcode.h b/base/setup/lib/errorcode.h index a7fd84e95f8..48f9acb0fc4 100644 --- a/base/setup/lib/errorcode.h +++ b/base/setup/lib/errorcode.h @@ -16,6 +16,9 @@ typedef enum _ERROR_NUMBER { NOT_AN_ERROR = 0, // ERROR_SUCCESS, ERROR_NOT_INSTALLED, +ERROR_NO_BUILD_PATH, +ERROR_SOURCE_PATH, +ERROR_SOURCE_DIR, ERROR_NO_HDD, ERROR_NO_SOURCE_DRIVE, ERROR_LOAD_TXTSETUPSIF, diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index 7c44315d9f1..244d2d3c740 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -1484,6 +1484,21 @@ MUI_ERROR bgBGErrorEntries[] = " \x07 \207\240 \250\247\345\256\244 \255\240\342\250\341\255\245\342\245 F3.", "F3 = \210\247\345\256\244 ENTER = \217\340\256\244\352\253\246\240\242\240\255\245" }, +{ +// ERROR_NO_BUILD_PATH +"Failed to build the installation paths for the ReactOS installation directory!\n" +"ENTER = Reboot computer" +}, +{ +// ERROR_SOURCE_PATH +"You cannot delete the partition containing the installation source!\n" +"ENTER = Reboot computer" +}, +{ +// ERROR_SOURCE_DIR +"You cannot install ReactOS within the installation source directory!\n" +"ENTER = Reboot computer" +}, { // ERROR_NO_HDD "\215\240\341\342\340\256\251\242\240\347\352\342 \255\245 \255\240\254\245\340\250 \342\242\352\340\244 \244\250\341\252.\n", diff --git a/base/setup/usetup/lang/bn-BD.h b/base/setup/usetup/lang/bn-BD.h index 8bb8b75df65..03746a6c4c0 100644 --- a/base/setup/usetup/lang/bn-BD.h +++ b/base/setup/usetup/lang/bn-BD.h @@ -1473,6 +1473,21 @@ MUI_ERROR bnBDErrorEntries[] = " \x07 Press F3 to quit Setup.", "F3 = Quit ENTER = Continue" }, +{ +// ERROR_NO_BUILD_PATH +"Failed to build the installation paths for the ReactOS installation directory!\n" +"ENTER = Reboot computer" +}, +{ +// ERROR_SOURCE_PATH +"You cannot delete the partition containing the installation source!\n" +"ENTER = Reboot computer" +}, +{ +// ERROR_SOURCE_DIR +"You cannot install ReactOS within the installation source directory!\n" +"ENTER = Reboot computer" +}, { // ERROR_NO_HDD "Setup could not find a harddisk.\n", diff --git a/base/setup/usetup/lang/cs-CZ.h b/base/setup/usetup/lang/cs-CZ.h index 4c8e661dff1..4d3a719129f 100644 --- a/base/setup/usetup/lang/cs-CZ.h +++ b/base/setup/usetup/lang/cs-CZ.h @@ -1482,6 +1482,21 @@ MUI_ERROR csCZErrorEntries[] = " \x07 Stisknut\241m F3 ukon\237\241te instalaci.", "F3 = Ukon\237it ENTER = Pokra\237ovat" }, +{ +// ERROR_NO_BUILD_PATH +"Failed to build the installation paths for the ReactOS installation dir
[ros-diffs] [reactos] 01/01: [DESK] Change the property "Screensaver" page on text change
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dcf18826a50fc555886f6cd8cea9b66683e5146b commit dcf18826a50fc555886f6cd8cea9b66683e5146b Author: Bișoc George AuthorDate: Sun Aug 4 11:21:28 2019 +0200 Commit: Mark Jansen CommitDate: Sat Aug 17 15:36:47 2019 +0200 [DESK] Change the property "Screensaver" page on text change If the user takes action on the edit box control of "Screensaver" dialog page, enable the "Apply" property button. CORE-16280 --- dll/cpl/desk/screensaver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dll/cpl/desk/screensaver.c b/dll/cpl/desk/screensaver.c index 1a10456843a..02c05c9b650 100644 --- a/dll/cpl/desk/screensaver.c +++ b/dll/cpl/desk/screensaver.c @@ -747,7 +747,8 @@ ScreenSaverPageProc(HWND hwndDlg, case IDC_SCREENS_TIMEDELAY: { -PropSheet_Changed(GetParent(hwndDlg), hwndDlg); +if (command == EN_CHANGE) +PropSheet_Changed(GetParent(hwndDlg), hwndDlg); break; }
[ros-diffs] [reactos] 01/01: [OSK] General refactoring
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=84e162e66939a3e370d74196a6983840468fee4d commit 84e162e66939a3e370d74196a6983840468fee4d Author: Bișoc George AuthorDate: Tue Jul 16 17:35:30 2019 +0200 Commit: Mark Jansen CommitDate: Thu Aug 15 20:35:17 2019 +0200 [OSK] General refactoring - Replace the existing header files in favour to a pre-compiled header instead. Furthermore, move all the function prototypes in the pre-compiled header. - As per the prototype definitions, LoadDataFromRegistry() and SaveDataToRegistry() mustn't accept any number of parameters. - Rename rsrc.rc to osk.rc (main resource file) as most of user-mode applications name have their main resource as the same application's name anyways. - When querying and saving the data to registry, use only one value, greatly reducing the bloat of variables (as per the Hermes Belusca's request on #1729 PR). - Update the header description reflecting the official ReactOS Coding style guidelines. --- base/applications/osk/CMakeLists.txt | 10 +++- base/applications/osk/main.c | 16 +-- base/applications/osk/main.h | 43 - base/applications/osk/osk.h | 26 --- base/applications/osk/{rsrc.rc => osk.rc} | 15 ++ base/applications/osk/osk_res.h | 5 +- base/applications/osk/precomp.h | 77 +++ base/applications/osk/settings.c | 71 ++-- base/applications/osk/settings.h | 15 -- 9 files changed, 127 insertions(+), 151 deletions(-) diff --git a/base/applications/osk/CMakeLists.txt b/base/applications/osk/CMakeLists.txt index ff5876046ca..293eba14b50 100644 --- a/base/applications/osk/CMakeLists.txt +++ b/base/applications/osk/CMakeLists.txt @@ -1,7 +1,13 @@ +list(APPEND SOURCE +main.c +settings.c +precomp.h) + file(GLOB osk_rc_deps res/*.*) -add_rc_deps(rsrc.rc ${osk_rc_deps}) -add_executable(osk main.c settings.c rsrc.rc) +add_rc_deps(osk.rc ${osk_rc_deps}) +add_executable(osk ${SOURCE} osk.rc) set_module_type(osk win32gui UNICODE) add_importlibs(osk comdlg32 uxtheme winmm shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll) +add_pch(osk precomp.h SOURCE) add_cd_file(TARGET osk DESTINATION reactos/system32 FOR all) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 0a3a001fa91..a467eb24518 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -8,26 +8,12 @@ /* INCLUDES ***/ -#include "osk.h" -#include "settings.h" +#include "precomp.h" /* GLOBALS / OSK_GLOBALS Globals; -/* Functions */ -int OSK_SetImage(int IdDlgItem, int IdResource); -int OSK_DlgInitDialog(HWND hDlg); -int OSK_DlgClose(void); -int OSK_DlgTimer(void); -BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl); -BOOL OSK_ReleaseKey(WORD ScanCode); -VOID OSK_RestoreDlgPlacement(HWND hDlg); - -INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); -LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw); -int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int); - /* FUNCTIONS **/ /*** diff --git a/base/applications/osk/main.h b/base/applications/osk/main.h deleted file mode 100644 index 5ce6a7acb7c..000 --- a/base/applications/osk/main.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * PROJECT: ReactOS On-Screen Keyboard - * LICENSE: GPL - See COPYING in the top level directory - * PURPOSE: On screen keyboard. - * COPYRIGHT: Denis ROBERT - * Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) - */ - -#ifndef _OSKMAIN_H -#define _OSKMAIN_H - -/* INCLUDES ***/ - -#include "osk_res.h" - -/* TYPES **/ - -typedef struct -{ -HINSTANCE hInstance; -HWND hMainWnd; -HBRUSH hBrushGreenLed; -UINT_PTR iTimer; -/* FIXME: To be deleted when ReactOS will support WS_EX_NOACTIVATE */ -HWND hActiveWnd; -BOOL bShowWarning; -BOOL bIsEnhancedKeyboard; -BOOL bSoundClick; -BOOL bAlwaysOnTop; -INTPosX; -INTPosY; -} OSK_GLOBALS; - -/* DEFINES / - -extern OSK_GLOBALS Globals; - -#define countof(x) (sizeof(x) / sizeof((x)[0])) -#define MAX_BUFF 256 - -#endif - -/* EOF */ diff --git a/base/applications/osk/osk.h b/base/applications/osk/osk.h deleted file mode 100644 index a435e69ac6a..000
[ros-diffs] [reactos] 01/01: [OSK] Romanian translation update (#1820)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4578ee3e2098647c8c4254f3ceb532c0b5815176 commit 4578ee3e2098647c8c4254f3ceb532c0b5815176 Author: Bișoc George AuthorDate: Mon Aug 12 20:58:39 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Aug 12 20:58:39 2019 +0200 [OSK] Romanian translation update (#1820) --- base/applications/osk/lang/ro-RO.rc | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/base/applications/osk/lang/ro-RO.rc b/base/applications/osk/lang/ro-RO.rc index bc30611f975..21cae9a49d5 100644 --- a/base/applications/osk/lang/ro-RO.rc +++ b/base/applications/osk/lang/ro-RO.rc @@ -256,11 +256,11 @@ BEGIN POPUP "Tastatură" BEGIN -MENUITEM "Tastatură îmbunătățită", IDM_ENHANCED_KB, CHECKED +MENUITEM "Tastatură extinsă", IDM_ENHANCED_KB, CHECKED MENUITEM "Tastatură standard", IDM_STANDARD_KB MENUITEM SEPARATOR -MENUITEM "Aspect regular", IDM_REG_LAYOUT, CHECKED, GRAYED -MENUITEM "Aspect pe blocuri", IDM_BLOCK_LAYOUT, GRAYED +MENUITEM "Structură standard", IDM_REG_LAYOUT, CHECKED, GRAYED +MENUITEM "Structură bloc", IDM_BLOCK_LAYOUT, GRAYED MENUITEM SEPARATOR MENUITEM "101 taste", IDM_101_KEYS, CHECKED, GRAYED MENUITEM "102 taste", IDM_102_KEYS, GRAYED @@ -269,20 +269,20 @@ BEGIN POPUP "Setări" BEGIN -MENUITEM "Întotdeauna în sus", IDM_ON_TOP, CHECKED +MENUITEM "Întotdeauna în față", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR -MENUITEM "ște sunetul de clic", IDM_CLICK_SOUND +MENUITEM " sunetul de clic", IDM_CLICK_SOUND MENUITEM SEPARATOR -MENUITEM " de scriere...", IDM_TYPE_MODE, GRAYED +MENUITEM " tastare...", IDM_TYPE_MODE, GRAYED MENUITEM SEPARATOR -MENUITEM " de caracter...", IDM_FONT, GRAYED +MENUITEM "", IDM_FONT, GRAYED END POPUP "Ajutor" BEGIN MENUITEM "", IDM_HELP_TOPICS, GRAYED MENUITEM SEPARATOR -MENUITEM " tastatură virtuală...", IDM_ABOUT +MENUITEM " Tastatura virtuală...", IDM_ABOUT END END
[ros-diffs] [reactos] 01/01: [UMPNPMGR] Implement registry functions for SuppressUI and SuppressNewHWUI handling. (#1683) CORE-15897
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=eede1b9b7a258a9094cafef5615b9ed8c3877081 commit eede1b9b7a258a9094cafef5615b9ed8c3877081 Author: Bișoc George AuthorDate: Wed Jun 19 17:51:11 2019 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Sun Jul 21 19:02:53 2019 +0200 [UMPNPMGR] Implement registry functions for SuppressUI and SuppressNewHWUI handling. (#1683) CORE-15897 Co-authored-by: Hermès Bélusca-Maïto --- base/services/umpnpmgr/install.c | 11 +- base/services/umpnpmgr/precomp.h | 8 +++- base/services/umpnpmgr/umpnpmgr.c | 81 ++- 3 files changed, 97 insertions(+), 3 deletions(-) diff --git a/base/services/umpnpmgr/install.c b/base/services/umpnpmgr/install.c index 2f3bdfd1050..4c876e490ef 100644 --- a/base/services/umpnpmgr/install.c +++ b/base/services/umpnpmgr/install.c @@ -340,6 +340,15 @@ cleanup: } +FORCEINLINE +BOOL +IsUISuppressionAllowed(VOID) +{ +/* Display the newdev.dll wizard UI only if it's allowed */ +return (g_IsUISuppressed || GetSuppressNewUIValue()); +} + + /* Loop to install all queued devices installations */ DWORD WINAPI @@ -368,7 +377,7 @@ DeviceInstallThread(LPVOID lpParameter) { ResetEvent(hNoPendingInstalls); Params = CONTAINING_RECORD(ListEntry, DeviceInstallParams, ListEntry); -InstallDevice(Params->DeviceIds, showWizard); +InstallDevice(Params->DeviceIds, showWizard && !IsUISuppressionAllowed()); HeapFree(GetProcessHeap(), 0, Params); } } diff --git a/base/services/umpnpmgr/precomp.h b/base/services/umpnpmgr/precomp.h index 3c51aa47b21..f7d7b4f9f72 100644 --- a/base/services/umpnpmgr/precomp.h +++ b/base/services/umpnpmgr/precomp.h @@ -39,7 +39,6 @@ typedef struct WCHAR DeviceIds[1]; } DeviceInstallParams; - /* install.c */ extern HANDLE hUserToken; @@ -52,6 +51,10 @@ extern HANDLE hDeviceInstallListNotEmpty; BOOL SetupIsActive(VOID); +FORCEINLINE +BOOL +IsUISuppressionAllowed(VOID); + DWORD WINAPI DeviceInstallThread( @@ -70,6 +73,9 @@ RpcServerThread( extern HKEY hEnumKey; extern HKEY hClassKey; +extern BOOL g_IsUISuppressed; +BOOL +GetSuppressNewUIValue(VOID); #endif /* _UMPNPMGR_PCH_ */ \ No newline at end of file diff --git a/base/services/umpnpmgr/umpnpmgr.c b/base/services/umpnpmgr/umpnpmgr.c index 7aa64813c75..0195f73813c 100644 --- a/base/services/umpnpmgr/umpnpmgr.c +++ b/base/services/umpnpmgr/umpnpmgr.c @@ -43,7 +43,7 @@ static SERVICE_STATUS ServiceStatus; HKEY hEnumKey = NULL; HKEY hClassKey = NULL; - +BOOL g_IsUISuppressed = FALSE; /* FUNCTIONS */ @@ -268,6 +268,77 @@ ServiceControlHandler(DWORD dwControl, } } +static DWORD +GetBooleanRegValue( +IN HKEY hKey, +IN PCWSTR lpSubKey, +IN PCWSTR lpValue, +OUT PBOOL pValue) +{ +DWORD dwError, dwType, dwData; +DWORD cbData = sizeof(dwData); +HKEY hSubKey = NULL; + +/* Default value */ +*pValue = FALSE; + +dwError = RegOpenKeyExW(hKey, +lpSubKey, +0, +KEY_READ, +); +if (dwError != ERROR_SUCCESS) +{ +DPRINT("GetBooleanRegValue(): RegOpenKeyExW() has failed to open '%S' key! (Error: %lu)\n", + lpSubKey, dwError); +return dwError; +} + +dwError = RegQueryValueExW(hSubKey, + lpValue, + 0, + , + (PBYTE), + ); +if (dwError != ERROR_SUCCESS) +{ +DPRINT("GetBooleanRegValue(): RegQueryValueExW() has failed to query '%S' value! (Error: %lu)\n", + lpValue, dwError); +goto Cleanup; +} +if (dwType != REG_DWORD) +{ +DPRINT("GetBooleanRegValue(): The value is not of REG_DWORD type!\n"); +goto Cleanup; +} + +/* Return the value */ +*pValue = (dwData == 1); + +Cleanup: +RegCloseKey(hSubKey); + +return dwError; +} + +BOOL +GetSuppressNewUIValue(VOID) +{ +BOOL bSuppressNewHWUI = FALSE; + +/* + * Query the SuppressNewHWUI policy registry value. Don't cache it + * as we want to update our behaviour in consequence. + */ +GetBooleanRegValue(HKEY_LOCAL_MACHINE, + L"Software\\Policies\\Microsoft\\Windows\\DeviceInstall\\Settings", + L"SuppressNewHWUI", + ); +if (bSuppressNewHWUI) +DPRINT("GetSuppressNewUIValue(): newdev.dll's wizard UI won't be shown!\n"); + +return bSuppressNewHWUI; +} VOID WINAPI ServiceMain(DWORD argc, LPTSTR *argv) @@ -363,6 +434,14 @@ InitializePnPManager(VOID) InitializeSListHead(); +
[ros-diffs] [reactos] 01/01: [OSK] Use new coordinates on keyboard layout changing (#1745)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4c4e3d60483e5b54d6e61a2489606b496ee76116 commit 4c4e3d60483e5b54d6e61a2489606b496ee76116 Author: Bișoc George AuthorDate: Sun Jul 21 16:52:25 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jul 21 16:52:25 2019 +0200 [OSK] Use new coordinates on keyboard layout changing (#1745) CORE-16214 --- base/applications/osk/main.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 4bb7f5010cb..0a3a001fa91 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -22,6 +22,7 @@ int OSK_DlgClose(void); int OSK_DlgTimer(void); BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl); BOOL OSK_ReleaseKey(WORD ScanCode); +VOID OSK_RestoreDlgPlacement(HWND hDlg); INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw); @@ -255,6 +256,18 @@ int OSK_DlgInitDialog(HWND hDlg) return TRUE; } +/*** + * + * OSK_RestoreDlgPlacement + * + * Restores the dialog placement + */ +VOID OSK_RestoreDlgPlacement(HWND hDlg) +{ +LoadDataFromRegistry(); +SetWindowPos(hDlg, (Globals.bAlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST), Globals.PosX, Globals.PosY, 0, 0, SWP_NOSIZE); +} + /*** * * OSK_DlgClose @@ -593,6 +606,13 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) CheckMenuItem(GetMenu(hDlg), IDM_ENHANCED_KB, MF_BYCOMMAND | MF_CHECKED); CheckMenuItem(GetMenu(hDlg), IDM_STANDARD_KB, MF_BYCOMMAND | MF_UNCHECKED); +/* +Before creating the dialog box restore the coordinates. The user can +move the dialog around before choosing a different dialog layout therefore +we must create the dialog with the new coordinates. +*/ +OSK_RestoreDlgPlacement(hDlg); + /* Finally, display the dialog modal box with the enhanced keyboard dialog */ DialogBoxW(Globals.hInstance, MAKEINTRESOURCEW(MAIN_DIALOG_ENHANCED_KB), @@ -619,6 +639,13 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) CheckMenuItem(GetMenu(hDlg), IDM_ENHANCED_KB, MF_BYCOMMAND | MF_UNCHECKED); CheckMenuItem(GetMenu(hDlg), IDM_STANDARD_KB, MF_BYCOMMAND | MF_CHECKED); +/* +Before creating the dialog box restore the coordinates. The user can +move the dialog around before choosing a different dialog layout therefore +we must create the dialog with the new coordinates. +*/ +OSK_RestoreDlgPlacement(hDlg); + /* Finally, display the dialog modal box with the standard keyboard dialog */ DialogBoxW(Globals.hInstance, MAKEINTRESOURCEW(MAIN_DIALOG_STANDARD_KB),
[ros-diffs] [reactos] 01/01: [OSK] Implement "Always on Top" feature (#1729)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b292acb5f78608ee6ef951daa404b95fee12fd64 commit b292acb5f78608ee6ef951daa404b95fee12fd64 Author: Bișoc George AuthorDate: Mon Jul 15 15:59:06 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Jul 15 15:59:06 2019 +0200 [OSK] Implement "Always on Top" feature (#1729) --- base/applications/osk/lang/ar-DZ.rc | 2 +- base/applications/osk/lang/cs-CZ.rc | 2 +- base/applications/osk/lang/de-DE.rc | 2 +- base/applications/osk/lang/en-GB.rc | 2 +- base/applications/osk/lang/en-US.rc | 2 +- base/applications/osk/lang/es-ES.rc | 2 +- base/applications/osk/lang/et-EE.rc | 2 +- base/applications/osk/lang/fr-CA.rc | 2 +- base/applications/osk/lang/fr-FR.rc | 2 +- base/applications/osk/lang/he-IL.rc | 2 +- base/applications/osk/lang/id-ID.rc | 2 +- base/applications/osk/lang/it-IT.rc | 2 +- base/applications/osk/lang/pl-PL.rc | 2 +- base/applications/osk/lang/ro-RO.rc | 2 +- base/applications/osk/lang/ru-RU.rc | 2 +- base/applications/osk/lang/tr-TR.rc | 2 +- base/applications/osk/lang/zh-CN.rc | 2 +- base/applications/osk/lang/zh-TW.rc | 2 +- base/applications/osk/main.c| 38 +++-- base/applications/osk/main.h| 1 + base/applications/osk/settings.c| 42 ++--- 21 files changed, 94 insertions(+), 23 deletions(-) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index edd4536dd68..f9cda704bcf 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -268,7 +268,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/cs-CZ.rc b/base/applications/osk/lang/cs-CZ.rc index 5360c7075d5..2802a978f97 100644 --- a/base/applications/osk/lang/cs-CZ.rc +++ b/base/applications/osk/lang/cs-CZ.rc @@ -268,7 +268,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/de-DE.rc b/base/applications/osk/lang/de-DE.rc index dba2dc1788f..419fb87a96c 100644 --- a/base/applications/osk/lang/de-DE.rc +++ b/base/applications/osk/lang/de-DE.rc @@ -269,7 +269,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/en-GB.rc b/base/applications/osk/lang/en-GB.rc index ab04edc3a3f..8665669447e 100644 --- a/base/applications/osk/lang/en-GB.rc +++ b/base/applications/osk/lang/en-GB.rc @@ -269,7 +269,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/en-US.rc b/base/applications/osk/lang/en-US.rc index d955621f20b..f852a7e6293 100644 --- a/base/applications/osk/lang/en-US.rc +++ b/base/applications/osk/lang/en-US.rc @@ -268,7 +268,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/es-ES.rc b/base/applications/osk/lang/es-ES.rc index 319fe387d00..e09e8f88dbc 100644 --- a/base/applications/osk/lang/es-ES.rc +++ b/base/applications/osk/lang/es-ES.rc @@ -270,7 +270,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED MENUITEM SEPARATOR MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/et-EE.rc b/base/applications/osk/lang/et-EE.rc index c527e7e4497..c449c8ed4fc 100644 --- a/base/applications/osk/lang/et-EE.rc +++ b/base/applications/osk/lang/et-EE.rc @@ -268,7 +268,7 @@ BEGIN POPUP "Settings" BEGIN -MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +
[ros-diffs] [reactos] 02/02: [SHELL32] Recycle-Bin: Validate the MaxCapacity value with respect to the available disk space. (#1688)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=019e3ffe5f0c15652a20ab84bbeb565199b0123f commit 019e3ffe5f0c15652a20ab84bbeb565199b0123f Author: Bișoc George AuthorDate: Mon Jun 24 18:45:52 2019 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Sun Jul 7 19:01:09 2019 +0200 [SHELL32] Recycle-Bin: Validate the MaxCapacity value with respect to the available disk space. (#1688) CORE-12313 Co-authored-by: Hermès Bélusca-Maïto --- dll/win32/shell32/dialogs/recycler_prop.cpp | 31 + dll/win32/shell32/lang/bg-BG.rc | 2 +- dll/win32/shell32/lang/ca-ES.rc | 2 +- dll/win32/shell32/lang/cs-CZ.rc | 2 +- dll/win32/shell32/lang/da-DK.rc | 2 +- dll/win32/shell32/lang/de-DE.rc | 2 +- dll/win32/shell32/lang/el-GR.rc | 2 +- dll/win32/shell32/lang/en-GB.rc | 2 +- dll/win32/shell32/lang/en-US.rc | 2 +- dll/win32/shell32/lang/es-ES.rc | 2 +- dll/win32/shell32/lang/et-EE.rc | 2 +- dll/win32/shell32/lang/fi-FI.rc | 2 +- dll/win32/shell32/lang/fr-FR.rc | 2 +- dll/win32/shell32/lang/he-IL.rc | 2 +- dll/win32/shell32/lang/hi-IN.rc | 2 +- dll/win32/shell32/lang/hu-HU.rc | 2 +- dll/win32/shell32/lang/it-IT.rc | 2 +- dll/win32/shell32/lang/ja-JP.rc | 2 +- dll/win32/shell32/lang/ko-KR.rc | 2 +- dll/win32/shell32/lang/nl-NL.rc | 2 +- dll/win32/shell32/lang/no-NO.rc | 2 +- dll/win32/shell32/lang/pl-PL.rc | 2 +- dll/win32/shell32/lang/pt-BR.rc | 2 +- dll/win32/shell32/lang/pt-PT.rc | 2 +- dll/win32/shell32/lang/ro-RO.rc | 2 +- dll/win32/shell32/lang/ru-RU.rc | 2 +- dll/win32/shell32/lang/sk-SK.rc | 2 +- dll/win32/shell32/lang/sl-SI.rc | 2 +- dll/win32/shell32/lang/sq-AL.rc | 2 +- dll/win32/shell32/lang/sv-SE.rc | 2 +- dll/win32/shell32/lang/tr-TR.rc | 2 +- dll/win32/shell32/lang/uk-UA.rc | 2 +- dll/win32/shell32/lang/zh-CN.rc | 2 +- dll/win32/shell32/lang/zh-TW.rc | 2 +- 34 files changed, 60 insertions(+), 37 deletions(-) diff --git a/dll/win32/shell32/dialogs/recycler_prop.cpp b/dll/win32/shell32/dialogs/recycler_prop.cpp index f6efad5e4ad..10b13500d3a 100644 --- a/dll/win32/shell32/dialogs/recycler_prop.cpp +++ b/dll/win32/shell32/dialogs/recycler_prop.cpp @@ -25,6 +25,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(CRecycleBin); typedef struct { +ULARGE_INTEGER FreeBytesAvailable; DWORD dwSerial; DWORD dwMaxCapacity; DWORD dwNukeOnDelete; @@ -122,12 +123,21 @@ InitializeRecycleBinDlg(HWND hwndDlg, WCHAR DefaultDrive) pItem = (DRIVE_ITEM_CONTEXT *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DRIVE_ITEM_CONTEXT)); if (pItem) { +pItem->FreeBytesAvailable = FreeBytesAvailable; +pItem->dwSerial = dwSerial; + swprintf(szName, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\BitBucket\\Volume\\%04X-%04X", LOWORD(dwSerial), HIWORD(dwSerial)); + dwSize = sizeof(DWORD); RegGetValueW(HKEY_CURRENT_USER, szName, L"MaxCapacity", RRF_RT_DWORD, NULL, >dwMaxCapacity, ); + +/* Check if the maximum capacity doesn't exceed the available disk space (in megabytes), and truncate it if needed */ +FreeBytesAvailable.QuadPart = (FreeBytesAvailable.QuadPart / (1024 * 1024)); +pItem->dwMaxCapacity = min(pItem->dwMaxCapacity, FreeBytesAvailable.LowPart); + dwSize = sizeof(DWORD); RegGetValueW(HKEY_CURRENT_USER, szName, L"NukeOnDelete", RRF_RT_DWORD, NULL, >dwNukeOnDelete, ); -pItem->dwSerial = dwSerial; + li.mask = LVIF_PARAM; li.lParam = (LPARAM)pItem; (void)SendMessageW(hDlgCtrl, LVM_SETITEMW, 0, (LPARAM)); @@ -163,7 +173,7 @@ InitializeRecycleBinDlg(HWND hwndDlg, WCHAR DefaultDrive) } ZeroMemory(, sizeof(li)); li.mask = LVIF_STATE; -li.stateMask = (UINT) - 1; +li.stateMask = (UINT)-1; li.state = LVIS_FOCUSED | LVIS_SELECTED; li.iItem = defIndex; (void)SendMessageW(hDlgCtrl, LVM_SETITEMW, 0, (LPARAM)); @@ -273,6 +283,7 @@ RecycleBinDlg( UINT uResult; PROPSHEETPAGE * page; DWORD dwStyle; +ULARGE_INTEGER FreeBytesAvailable; switch(uMsg) { @@ -320,7 +331,13 @@ RecycleBinDlg( {
[ros-diffs] [reactos] 01/01: [SHELL32] Enable the "Apply" button when user takes action on the edit box control (#1720)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=818d6608689cb2257b92bc674638beb33a14a70d commit 818d6608689cb2257b92bc674638beb33a14a70d Author: Bișoc George AuthorDate: Sun Jul 7 14:47:44 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jul 7 14:47:44 2019 +0200 [SHELL32] Enable the "Apply" button when user takes action on the edit box control (#1720) CORE-12312 --- dll/win32/shell32/dialogs/recycler_prop.cpp | 4 1 file changed, 4 insertions(+) diff --git a/dll/win32/shell32/dialogs/recycler_prop.cpp b/dll/win32/shell32/dialogs/recycler_prop.cpp index d249e05f396..95840be7699 100644 --- a/dll/win32/shell32/dialogs/recycler_prop.cpp +++ b/dll/win32/shell32/dialogs/recycler_prop.cpp @@ -304,6 +304,10 @@ RecycleBinDlg( toggleNukeOnDeleteOption(hwndDlg, FALSE); PropSheet_Changed(GetParent(hwndDlg), hwndDlg); break; +case 14002: +if (HIWORD(wParam) == EN_CHANGE) +PropSheet_Changed(GetParent(hwndDlg), hwndDlg); +break; case 14003: toggleNukeOnDeleteOption(hwndDlg, TRUE); PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
[ros-diffs] [reactos] 01/01: [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=42ce8519b6c46bc5143c6ff23603fdf2650b649f commit 42ce8519b6c46bc5143c6ff23603fdf2650b649f Author: Bișoc George AuthorDate: Sat Jun 22 16:20:58 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Jun 22 16:20:58 2019 +0200 [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) "Most code should not directly call the platform-specific ObfDereferenceObject() function but use the ObDereferenceObject() macro instead." CORE-16081 --- drivers/filesystems/fastfat/misc.c | 2 +- drivers/filters/fltmgr/Interface.c | 8 drivers/filters/fltmgr/Messaging.c | 10 +- ntoskrnl/fsrtl/oplock.c| 2 +- ntoskrnl/io/iomgr/rawfs.c | 2 +- ntoskrnl/ob/devicemap.c| 4 ++-- ntoskrnl/po/poshtdwn.c | 2 +- ntoskrnl/ps/job.c | 2 +- ntoskrnl/wmi/guidobj.c | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/filesystems/fastfat/misc.c b/drivers/filesystems/fastfat/misc.c index f3054633c58..4f7bf5b7d4b 100644 --- a/drivers/filesystems/fastfat/misc.c +++ b/drivers/filesystems/fastfat/misc.c @@ -582,7 +582,7 @@ VfatCheckForDismount( ExDeleteResourceLite(>FatResource); /* Dismount our device if possible */ -ObfDereferenceObject(DeviceExt->StorageDevice); +ObDereferenceObject(DeviceExt->StorageDevice); IoDeleteDevice(DeviceExt->VolumeDevice); } diff --git a/drivers/filters/fltmgr/Interface.c b/drivers/filters/fltmgr/Interface.c index 1ed7e7986e4..b412adec1f0 100644 --- a/drivers/filters/fltmgr/Interface.c +++ b/drivers/filters/fltmgr/Interface.c @@ -2005,7 +2005,7 @@ FltpDetachFromFileSystemDevice(_In_ PDEVICE_OBJECT DeviceObject) NextDevice = IoGetLowerDeviceObject(AttachedDevice); /* Remove the reference we added */ -Count = ObfDereferenceObject(AttachedDevice); +Count = ObDereferenceObject(AttachedDevice); /* Bail if this is the last one */ if (NextDevice == NULL) return Count; @@ -2028,7 +2028,7 @@ FltpDetachFromFileSystemDevice(_In_ PDEVICE_OBJECT DeviceObject) IoDeleteDevice(AttachedDevice); /* Remove the reference we added so the delete can complete */ -return ObfDereferenceObject(AttachedDevice); +return ObDereferenceObject(AttachedDevice); } DRIVER_FS_NOTIFICATION FltpFsNotification; @@ -2143,7 +2143,7 @@ DriverEntry(_In_ PDRIVER_OBJECT DriverObject, if (NT_SUCCESS(Status)) { FltpFsNotification(RawDeviceObject, TRUE); -ObfDereferenceObject(RawFileObject); +ObDereferenceObject(RawFileObject); } RtlInitUnicodeString(, L"\\Device\\RawCdRom"); @@ -2154,7 +2154,7 @@ DriverEntry(_In_ PDRIVER_OBJECT DriverObject, if (NT_SUCCESS(Status)) { FltpFsNotification(RawDeviceObject, TRUE); -ObfDereferenceObject(RawFileObject); +ObDereferenceObject(RawFileObject); } /* We're done, clear the initializing flag */ diff --git a/drivers/filters/fltmgr/Messaging.c b/drivers/filters/fltmgr/Messaging.c index d30292a5a3e..f4ed276eb4d 100644 --- a/drivers/filters/fltmgr/Messaging.c +++ b/drivers/filters/fltmgr/Messaging.c @@ -369,7 +369,7 @@ NTAPI FltpClientPortDelete(PVOID Object) { PFLT_PORT_OBJECT PortObject = (PFLT_PORT_OBJECT)Object; -ObfDereferenceObject(PortObject->ServerPort); +ObDereferenceObject(PortObject->ServerPort); } @@ -447,14 +447,14 @@ Quit: if (ClientPortObjectType) { ObMakeTemporaryObject(ClientPortObjectType); -ObfDereferenceObject(ClientPortObjectType); +ObDereferenceObject(ClientPortObjectType); ClientPortObjectType = NULL; } if (ServerPortObjectType) { ObMakeTemporaryObject(ServerPortObjectType); -ObfDereferenceObject(ServerPortObjectType); +ObDereferenceObject(ServerPortObjectType); ServerPortObjectType = NULL; } } @@ -737,7 +737,7 @@ Quit: { if (ClientPortObject) { -ObfDereferenceObject(ClientPortObject); +ObDereferenceObject(ClientPortObject); } if (PortHandle) @@ -747,7 +747,7 @@ Quit: else if (ServerPortObject) { InterlockedDecrement(>NumberOfConnections); -ObfDereferenceObject(ServerPortObject); +ObDereferenceObject(ServerPortObject); } if (PortCCB) diff --git a/ntoskrnl/fsrtl/oplock.c b/ntoskrnl/fsrtl/oplock.c index f89adc465cd..f4c38d37d2c 100644 --- a/ntoskrnl/fsrtl/oplock.c +++ b/ntoskrnl/fsrtl/oplock.c @@ -454,7 +454,7 @@ FsRtlAcknowledgeOplockBreak(IN PINTERNAL_OPLOCK Oplock, /* If we dropped oplock, remove our extra ref */ if (Deref) { -ObfDereferenceObject(Oplock->File
[ros-diffs] [reactos] 01/01: [MAIN.CPL] Adjust the GROUPBOX control spacing for French resource (#1682)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4c9dc7302b8ed91bce829cf7011cee3e69750fb2 commit 4c9dc7302b8ed91bce829cf7011cee3e69750fb2 Author: Bișoc George AuthorDate: Sat Jun 22 15:37:59 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Jun 22 15:37:59 2019 +0200 [MAIN.CPL] Adjust the GROUPBOX control spacing for French resource (#1682) CORE-12372 --- dll/cpl/main/lang/fr-FR.rc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dll/cpl/main/lang/fr-FR.rc b/dll/cpl/main/lang/fr-FR.rc index 4701b2aa5a9..057599fb801 100644 --- a/dll/cpl/main/lang/fr-FR.rc +++ b/dll/cpl/main/lang/fr-FR.rc @@ -55,10 +55,10 @@ BEGIN CHECKBOX " les boutons gauche et droite", IDC_SWAP_MOUSE_BUTTONS, 10, 15, 140, 10 CONTROL "", IDC_IMAGE_SWAP_MOUSE, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 165, 15, 65, 57, WS_EX_STATICEDGE LTEXT "Cochez cette case pour faire du bouton droit le bouton principal pour les fonctions telles que la sélection et le déplacement.", -1, 10, 30, 150, 30 -GROUPBOX "Vitesse du double-click ", -1, 5, 75, 230, 70 +GROUPBOX "Vitesse du double-click ", -1, 5, 77, 230, 70 LTEXT "Double-cliquer le dossier pour tester le paramètre. Si le dossier ne s'ouvre pas ou se ferme, essayez un réglage plus lent.", -1, 10, 85, 150, 30 -LTEXT "Vite : Lente", -1, 10, 120, 90, 8 -LTEXT "Rapide", -1, 140, 120, 30, 8 +LTEXT "Vite : Lente", -1, 10, 120, 90, 8 +LTEXT "Rapide", -1, 133, 120, 30, 8 CONTROL "", IDC_SLIDER_DOUBLE_CLICK_SPEED, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 60, 120, 70, 17 CONTROL "", IDC_IMAGE_DOUBLE_CLICK_SPEED, "Static", SS_ICON | SS_NOTIFY | SS_CENTERIMAGE | WS_VISIBLE, 165, 85, 65, 57, WS_EX_STATICEDGE GROUPBOX "Verrouillage clic", -1, 5, 150, 230, 70
[ros-diffs] [reactos] 01/01: [MAGNIFY] Fix a string buffer misuage that led to division by zero exception. (#1655)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9ade0e7b04ede20a13a512780ada2631fd645416 commit 9ade0e7b04ede20a13a512780ada2631fd645416 Author: Bișoc George AuthorDate: Fri Jun 14 20:52:41 2019 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Sat Jun 15 18:12:54 2019 +0200 [MAGNIFY] Fix a string buffer misuage that led to division by zero exception. (#1655) The iZoom variable was wrongly initialized to zero because the _ttoi() called failed due to the fact the temporary string buffer was too small. --- base/applications/magnify/magnifier.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/applications/magnify/magnifier.c b/base/applications/magnify/magnifier.c index cfca2519914..13a0a3cd190 100644 --- a/base/applications/magnify/magnifier.c +++ b/base/applications/magnify/magnifier.c @@ -931,7 +931,7 @@ INT_PTR CALLBACK OptionsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPar if (HIWORD(wParam) == CBN_SELCHANGE) { HWND hCombo = GetDlgItem(hDlg,IDC_ZOOM); -LPCTSTR currentZoomValue = TEXT(""); +TCHAR currentZoomValue[2] = TEXT(""); /* Get index of current selection and the text of that selection */ int currentSelectionIndex = ComboBox_GetCurSel(hCombo);
[ros-diffs] [reactos] 01/01: [MAGNIFY] Initialize the common controls as the program has a manifest
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6a124ef38aa9ee9ff142f62cb897febe72df8f83 commit 6a124ef38aa9ee9ff142f62cb897febe72df8f83 Author: Bișoc George AuthorDate: Sun May 12 16:18:28 2019 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Tue May 14 20:49:36 2019 +0200 [MAGNIFY] Initialize the common controls as the program has a manifest --- base/applications/magnify/CMakeLists.txt | 2 +- base/applications/magnify/magnifier.c| 6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/base/applications/magnify/CMakeLists.txt b/base/applications/magnify/CMakeLists.txt index ee7919e948c..271b4aad229 100644 --- a/base/applications/magnify/CMakeLists.txt +++ b/base/applications/magnify/CMakeLists.txt @@ -7,6 +7,6 @@ list(APPEND SOURCE add_rc_deps(magnify.rc ${CMAKE_CURRENT_SOURCE_DIR}/res/magnify.ico) add_executable(magnify ${SOURCE} magnify.rc) set_module_type(magnify win32gui) -add_importlibs(magnify user32 gdi32 advapi32 shell32 msvcrt kernel32) +add_importlibs(magnify user32 gdi32 comctl32 advapi32 shell32 msvcrt kernel32) add_pch(magnify magnifier.h SOURCE) add_cd_file(TARGET magnify DESTINATION reactos/system32 FOR all) diff --git a/base/applications/magnify/magnifier.c b/base/applications/magnify/magnifier.c index f8d63cfce45..cfca2519914 100644 --- a/base/applications/magnify/magnifier.c +++ b/base/applications/magnify/magnifier.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -77,6 +78,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine { MSG msg; HACCEL hAccelTable; +INITCOMMONCONTROLSEX iccex; UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); @@ -111,6 +113,10 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine } } +/* Load the common controls */ +iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); +iccex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; +InitCommonControlsEx(); SelectObject(hdcOffscreen, hbmpOld); DeleteObject (hbmpOffscreen);
[ros-diffs] [reactos] 01/01: [OSK] Hotfix for PR #1536 (#1549)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f8b90805ff124a951c903535ce30090d7a57798a commit f8b90805ff124a951c903535ce30090d7a57798a Author: Bișoc George AuthorDate: Wed May 1 10:33:13 2019 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Wed May 1 22:22:08 2019 +0200 [OSK] Hotfix for PR #1536 (#1549) CORE-15965 --- base/applications/osk/main.c | 78 +--- 1 file changed, 52 insertions(+), 26 deletions(-) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 6f04d78f97..939326d0da 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -181,7 +181,7 @@ int OSK_DlgInitDialog(HWND hDlg) GetMonitorInfoW(monitor, ); GetWindowRect(hDlg, ); -/* +/* If the coordination values are default then re-initialize using the specific formulas to move the dialog at the bottom of the screen. */ @@ -191,7 +191,7 @@ int OSK_DlgInitDialog(HWND hDlg) Globals.PosY = info.rcMonitor.bottom - (rcWindow.bottom - rcWindow.top); } -/* +/* Calculate the intersection of two rectangle sources (dialog and work desktop area). If such sources do not intersect, then the dialog is deemed as "off screen". */ @@ -439,6 +439,7 @@ LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw) { HTHEME hTheme; HWND hDlgButtonCtrl; +LRESULT Ret; INT iState = PBS_NORMAL; /* Retrieve the theme handle for the button controls */ @@ -451,34 +452,59 @@ LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw) */ if (hTheme) { -/* -The button could be either in normal state or pushed. -Retrieve its state and save to a variable. -*/ -if (pNmDraw->uItemState & CDIS_DEFAULT) -{ -iState = PBS_DEFAULTED; -} -else if (pNmDraw->uItemState & CDIS_SELECTED) -{ -iState = PBS_PRESSED; -} -else if (pNmDraw->uItemState & CDIS_HOT) +/* Obtain CDDS drawing stages */ +switch (pNmDraw->dwDrawStage) { -iState = PBS_HOT; -} +case CDDS_PREPAINT: +{ +/* +The button could be either in normal state or pushed. +Retrieve its state and save to a variable. +*/ +if (pNmDraw->uItemState & CDIS_DEFAULT) +{ +iState = PBS_DEFAULTED; +} +else if (pNmDraw->uItemState & CDIS_SELECTED) +{ +iState = PBS_PRESSED; +} +else if (pNmDraw->uItemState & CDIS_HOT) +{ +iState = PBS_HOT; +} -if (IsThemeBackgroundPartiallyTransparent(hTheme, BP_PUSHBUTTON, iState)) -{ -/* Draw the application if the theme is transparent */ -DrawThemeParentBackground(hDlg, pNmDraw->hdc, >rc); -} +if (IsThemeBackgroundPartiallyTransparent(hTheme, BP_PUSHBUTTON, iState)) +{ +/* Draw the application if the theme is transparent */ +DrawThemeParentBackground(hDlgButtonCtrl, pNmDraw->hdc, >rc); +} -/* Draw it */ -DrawThemeBackground(hTheme, pNmDraw->hdc, BP_PUSHBUTTON, iState, >rc, NULL); +/* Draw it */ +DrawThemeBackground(hTheme, pNmDraw->hdc, BP_PUSHBUTTON, iState, >rc, NULL); + +Ret = CDRF_SKIPDEFAULT; +break; +} + +case CDDS_PREERASE: +{ +Ret = CDRF_DODEFAULT; +break; +} + +default: +Ret = CDRF_SKIPDEFAULT; +break; +} +} +else +{ +/* hTheme is NULL so bail right away */ +Ret = CDRF_DODEFAULT; } -return CDRF_SKIPDEFAULT; +return Ret; } /*** @@ -543,7 +569,7 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { if (!Globals.bIsEnhancedKeyboard) { -/* +/* The user attempted to switch to enhanced keyboard dialog type. Set the member value as TRUE, destroy the dialog and save the data configuration into the registry. */
[ros-diffs] [reactos] 01/01: [OSK] Make the buttons themed
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f681bad2463687049c539ebd9ab6324fa93dadb1 commit f681bad2463687049c539ebd9ab6324fa93dadb1 Author: Bișoc George AuthorDate: Mon Apr 22 15:01:18 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Apr 29 21:31:29 2019 +0200 [OSK] Make the buttons themed Our On-Screen Keyboard has a manifest and the buttons (the ones with BS_ICON styles) aren't rendered with the specific theme as it should be but instead it takes the classic theme. The code relies on NM_CUSTOMDRAW notification, which is more intuitive and efficient than doing owner-drawn operations as NM_CUSTOMDRAW allows the controls to use styles whereas you cannot do it on owner-drawn controls. CORE-15965 --- base/applications/osk/CMakeLists.txt | 2 +- base/applications/osk/main.c | 61 base/applications/osk/osk.h | 6 ++-- 3 files changed, 66 insertions(+), 3 deletions(-) diff --git a/base/applications/osk/CMakeLists.txt b/base/applications/osk/CMakeLists.txt index 24b64eafa9e..ff5876046ca 100644 --- a/base/applications/osk/CMakeLists.txt +++ b/base/applications/osk/CMakeLists.txt @@ -3,5 +3,5 @@ file(GLOB osk_rc_deps res/*.*) add_rc_deps(rsrc.rc ${osk_rc_deps}) add_executable(osk main.c settings.c rsrc.rc) set_module_type(osk win32gui UNICODE) -add_importlibs(osk comdlg32 winmm shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll) +add_importlibs(osk comdlg32 uxtheme winmm shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll) add_cd_file(TARGET osk DESTINATION reactos/system32 FOR all) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index e12d68dedf0..6f04d78f979 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -24,6 +24,7 @@ BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl); BOOL OSK_ReleaseKey(WORD ScanCode); INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); +LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw); int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int); /* FUNCTIONS **/ @@ -428,6 +429,58 @@ BOOL OSK_ReleaseKey(WORD ScanCode) return TRUE; } +/*** + * + * OSK_ThemeHandler + * + * Function helper which handles theme drawing of controls + */ +LRESULT APIENTRY OSK_ThemeHandler(HWND hDlg, NMCUSTOMDRAW *pNmDraw) +{ +HTHEME hTheme; +HWND hDlgButtonCtrl; +INT iState = PBS_NORMAL; + +/* Retrieve the theme handle for the button controls */ +hDlgButtonCtrl = pNmDraw->hdr.hwndFrom; +hTheme = GetWindowTheme(hDlgButtonCtrl); + +/* +Begin the painting procedures if we retrieved +the theme for control buttons of the dialog. +*/ +if (hTheme) +{ +/* +The button could be either in normal state or pushed. +Retrieve its state and save to a variable. +*/ +if (pNmDraw->uItemState & CDIS_DEFAULT) +{ +iState = PBS_DEFAULTED; +} +else if (pNmDraw->uItemState & CDIS_SELECTED) +{ +iState = PBS_PRESSED; +} +else if (pNmDraw->uItemState & CDIS_HOT) +{ +iState = PBS_HOT; +} + +if (IsThemeBackgroundPartiallyTransparent(hTheme, BP_PUSHBUTTON, iState)) +{ +/* Draw the application if the theme is transparent */ +DrawThemeParentBackground(hDlg, pNmDraw->hdc, >rc); +} + +/* Draw it */ +DrawThemeBackground(hTheme, pNmDraw->hdc, BP_PUSHBUTTON, iState, >rc, NULL); +} + +return CDRF_SKIPDEFAULT; +} + /*** * * OSK_DlgProc @@ -444,6 +497,9 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) OSK_DlgTimer(); return TRUE; +case WM_NOTIFY: +return OSK_ThemeHandler(hDlg, (LPNMCUSTOMDRAW)lParam); + case WM_CTLCOLORSTATIC: if ((HWND)lParam == GetDlgItem(hDlg, IDC_LED_NUM)) { @@ -567,6 +623,11 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) } break; +case WM_THEMECHANGED: +/* Redraw the dialog (and its control buttons) using the new theme */ +InvalidateRect(hDlg, NULL, FALSE); +break; + case WM_CLOSE: OSK_DlgClose(); break; diff --git a/base/applications/osk/osk.h b/base/applications/osk/osk.h index f320d14c4f4..a435e69ac6a 100644 --- a/base/applications/osk/osk.h +++ b/base/applications/osk/osk.h @@ -1,9 +1,9 @@ /* * PROJECT: ReactOS On-Screen Keyboard * LICENSE: GPL - See COPYING
[ros-diffs] [reactos] 01/01: [ACCESS] Reposition the "ToggleKeys" group box control (#1541)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=89f6929dae09c1eba3426b928e08d5b2a3088fac commit 89f6929dae09c1eba3426b928e08d5b2a3088fac Author: Bișoc George AuthorDate: Sun Apr 28 20:21:38 2019 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Apr 28 20:21:38 2019 +0200 [ACCESS] Reposition the "ToggleKeys" group box control (#1541) CORE-15383 --- dll/cpl/access/lang/bg-BG.rc | 2 +- dll/cpl/access/lang/cs-CZ.rc | 2 +- dll/cpl/access/lang/de-DE.rc | 2 +- dll/cpl/access/lang/el-GR.rc | 2 +- dll/cpl/access/lang/en-US.rc | 2 +- dll/cpl/access/lang/es-ES.rc | 2 +- dll/cpl/access/lang/et-EE.rc | 2 +- dll/cpl/access/lang/fr-FR.rc | 6 +++--- dll/cpl/access/lang/he-IL.rc | 2 +- dll/cpl/access/lang/hu-HU.rc | 2 +- dll/cpl/access/lang/id-ID.rc | 2 +- dll/cpl/access/lang/it-IT.rc | 2 +- dll/cpl/access/lang/ja-JP.rc | 2 +- dll/cpl/access/lang/no-NO.rc | 2 +- dll/cpl/access/lang/pt-BR.rc | 2 +- dll/cpl/access/lang/ro-RO.rc | 2 +- dll/cpl/access/lang/ru-RU.rc | 2 +- dll/cpl/access/lang/sk-SK.rc | 2 +- dll/cpl/access/lang/sq-AL.rc | 2 +- dll/cpl/access/lang/tr-TR.rc | 2 +- dll/cpl/access/lang/uk-UA.rc | 2 +- dll/cpl/access/lang/zh-CN.rc | 2 +- dll/cpl/access/lang/zh-TW.rc | 2 +- 23 files changed, 25 insertions(+), 25 deletions(-) diff --git a/dll/cpl/access/lang/bg-BG.rc b/dll/cpl/access/lang/bg-BG.rc index 7f4bdcb8f2..449ba338a2 100644 --- a/dll/cpl/access/lang/bg-BG.rc +++ b/dll/cpl/access/lang/bg-BG.rc @@ -15,7 +15,7 @@ BEGIN -1, 12, 89, 222, 29 AUTOCHECKBOX "Използване на &ПресяващиКлавиши", IDC_FILTER_BOX, 12, 121, 140, 14 PUSHBUTTON "На&стройки", IDC_FILTER_BUTTON, 104, 121, 50, 14 -GROUPBOX "ОбращащиКлавиши", -1, 6, 145, 234, 62 +GROUPBOX "ОбращащиКлавиши", -1, 6, 148, 234, 62 LTEXT "Използвайте ОбръщащиКлавиши, ако искате да чувате звук при натискане на Caps Lock, Num Lock и Scroll Lock.", -1, 12, 161, 222, 20 AUTOCHECKBOX "Използване на &ОбръщащиКлавиши", IDC_TOGGLE_BOX, 12, 184, 154, 14 diff --git a/dll/cpl/access/lang/cs-CZ.rc b/dll/cpl/access/lang/cs-CZ.rc index b118b3ee9f..ca98d8628e 100644 --- a/dll/cpl/access/lang/cs-CZ.rc +++ b/dll/cpl/access/lang/cs-CZ.rc @@ -15,7 +15,7 @@ BEGIN -1, 12, 89, 222, 29 AUTOCHECKBOX "Používat funkci ání kláves", IDC_FILTER_BOX, 12, 121, 126, 14 PUSHBUTTON "Ní", IDC_FILTER_BUTTON, 144, 121, 90, 14 -GROUPBOX "Ozvučení kláves", -1, 6, 145, 234, 62 +GROUPBOX "Ozvučení kláves", -1, 6, 148, 234, 62 LTEXT "Použijte funkci Ozvučení kláves, chcete-li být upozorněni na stisk kláves Caps Lock, Num Lock a Scroll Lock zvukovým signálem.", -1, 12, 161, 222, 26 AUTOCHECKBOX "Používat funkci Očení kláves", IDC_TOGGLE_BOX, 12, 186, 126, 14 diff --git a/dll/cpl/access/lang/de-DE.rc b/dll/cpl/access/lang/de-DE.rc index bc8cb4a9d3..638cde30cb 100644 --- a/dll/cpl/access/lang/de-DE.rc +++ b/dll/cpl/access/lang/de-DE.rc @@ -17,7 +17,7 @@ BEGIN -1, 12, 89, 222, 29 AUTOCHECKBOX "ögerung aktivieren", IDC_FILTER_BOX, 12, 121, 126, 14 PUSHBUTTON "E", IDC_FILTER_BUTTON, 144, 121, 90, 14 -GROUPBOX "Signalfunktion", -1, 6, 145, 234, 62 +GROUPBOX "Signalfunktion", -1, 6, 148, 234, 62 LTEXT "Benutzen Sie die Signalfunktion, wenn Sie einen Signalton hören wollen, wenn Sie Caps-, Num-, oder Scroll-Lock drücken.", -1, 12, 161, 222, 29 AUTOCHECKBOX " benutzen", IDC_TOGGLE_BOX, 12, 184, 126, 14 diff --git a/dll/cpl/access/lang/el-GR.rc b/dll/cpl/access/lang/el-GR.rc index 45d8737fac..b5bcbb3b1f 100644 --- a/dll/cpl/access/lang/el-GR.rc +++ b/dll/cpl/access/lang/el-GR.rc @@ -15,7 +15,7 @@ BEGIN -1, 12, 89, 222, 29 AUTOCHECKBOX "Χρήση &Φίλτρου πλήκτρων", IDC_FILTER_BOX, 12, 121, 126, 14 PUSHBUTTON "Ρ&υθμίσεις", IDC_FILTER_BUTTON, 144, 121, 90, 14 -GROUPBOX "Εναλλαγή πλήκτρων", -1, 6, 145, 234, 62 +GROUPBOX "Εναλλαγή πλήκτρων", -1, 6, 148, 234, 62 LTEXT "Χρησιμοποιήστε την Εναλλαγή πλήκτρων, αν θέλετε να ακούτε ηχητικό σήμα όταν πατάτε Caps Lock, Num Lock και Scroll Lock.", -1, 12, 161, 222, 20 AUTOCHECKBOX "Χρήση &Εναλλαγής πλήκτρων", IDC_TOGGLE_BOX, 12, 184, 126, 14 diff --git a/dll/cpl/access/lang/en-US.rc b/dll/cpl/access/lang/en-US.rc index 5b653e596e..4086c4fb5f 100644 --- a/dll/cpl/access/lang/en-US.rc +++ b/dll/cpl/access/lang/en-US.rc @@ -15,7 +15,7 @@ BEGIN -1, 12, 89, 222, 29 AUTOCHECKBOX "Use ", IDC_FILTER_BOX, 12, 121, 126, 14 PUSHBUTTON "S", IDC_FILTER_BUTTON, 144, 121, 90, 14 -GROUPBOX "ToggleKeys", -1, 6, 145, 234, 62 +GROUPBOX "ToggleKeys", -1, 6, 148, 234, 62 LTEXT "Use ToggleKeys if you
[ros-diffs] [reactos] 01/01: [COVERITY][SPOOLSS] Fix a resource leak
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bd5fb32b798378df05799b9106858086b219cf42 commit bd5fb32b798378df05799b9106858086b219cf42 Author: Bișoc George AuthorDate: Sat Mar 30 14:48:44 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Mar 31 20:09:42 2019 +0200 [COVERITY][SPOOLSS] Fix a resource leak Unload the library pointed by hWinspool when the function fails. CID 1401149 --- win32ss/printing/base/spoolss/main.c | 5 + 1 file changed, 5 insertions(+) diff --git a/win32ss/printing/base/spoolss/main.c b/win32ss/printing/base/spoolss/main.c index c7b3f63561..985ac1554c 100644 --- a/win32ss/printing/base/spoolss/main.c +++ b/win32ss/printing/base/spoolss/main.c @@ -227,8 +227,13 @@ SplInitializeWinSpoolDrv(PVOID* pTable) // Verify that all calls succeeded. for (i = 0; i < 9; i++) +{ if (!pTable[i]) +{ +FreeLibrary(hWinspool); return FALSE; +} +} return TRUE; }
[ros-diffs] [reactos] 01/01: [OSK] Initialize the common controls
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f8e0b4675f1293acf6f5b5fcddb5083636ee3d12 commit f8e0b4675f1293acf6f5b5fcddb5083636ee3d12 Author: Bișoc George AuthorDate: Thu Mar 28 16:09:16 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Thu Mar 28 19:02:48 2019 +0100 [OSK] Initialize the common controls On-Screen Keyboard has a manifest which is used for visual styles. However, the common controls aren't initialized and as a general rule the controls have to be loaded in the application's handle instance. --- base/applications/osk/main.c | 6 ++ base/applications/osk/osk.h | 1 + 2 files changed, 7 insertions(+) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 30e97941140..e12d68dedf0 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -587,6 +587,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, HANDLE hMutex; DWORD dwError; INT LayoutResource; +INITCOMMONCONTROLSEX iccex; UNREFERENCED_PARAMETER(prev); UNREFERENCED_PARAMETER(cmdline); @@ -615,6 +616,11 @@ int WINAPI wWinMain(HINSTANCE hInstance, } } +/* Load the common controls */ +iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); +iccex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; +InitCommonControlsEx(); + ZeroMemory(, sizeof(Globals)); Globals.hInstance = hInstance; diff --git a/base/applications/osk/osk.h b/base/applications/osk/osk.h index 5de39d32115..f320d14c4f4 100644 --- a/base/applications/osk/osk.h +++ b/base/applications/osk/osk.h @@ -14,6 +14,7 @@ #include #include +#include #include #include "main.h"
[ros-diffs] [reactos] 01/01: [OSK] Fix an instance race condition
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=75a7cf89a71dbeacfc8b58855edfd0a0a0152071 commit 75a7cf89a71dbeacfc8b58855edfd0a0a0152071 Author: Bișoc George AuthorDate: Sun Mar 24 09:40:43 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Mar 27 22:34:03 2019 +0100 [OSK] Fix an instance race condition On-Screen Keyboard provides a mechanism to launch the application only once, to avoid multiple entry point instances. Such mechanism is based upon mutex objects, although it could happen that the program may end up creating two or more mutexes (a race condition). CORE-15877 --- base/applications/osk/CMakeLists.txt | 2 +- base/applications/osk/main.c | 53 +--- base/applications/osk/osk.h | 1 + 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/base/applications/osk/CMakeLists.txt b/base/applications/osk/CMakeLists.txt index 5d5ddf76f9a..24b64eafa9e 100644 --- a/base/applications/osk/CMakeLists.txt +++ b/base/applications/osk/CMakeLists.txt @@ -3,5 +3,5 @@ file(GLOB osk_rc_deps res/*.*) add_rc_deps(rsrc.rc ${osk_rc_deps}) add_executable(osk main.c settings.c rsrc.rc) set_module_type(osk win32gui UNICODE) -add_importlibs(osk comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 winmm) +add_importlibs(osk comdlg32 winmm shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll) add_cd_file(TARGET osk DESTINATION reactos/system32 FOR all) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 92e1a05b5b8..30e97941140 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -585,12 +585,36 @@ int WINAPI wWinMain(HINSTANCE hInstance, int show) { HANDLE hMutex; +DWORD dwError; INT LayoutResource; UNREFERENCED_PARAMETER(prev); UNREFERENCED_PARAMETER(cmdline); UNREFERENCED_PARAMETER(show); +/* +Obtain a mutex for the program. This will ensure that +the program is launched only once. +*/ +hMutex = CreateMutexW(NULL, FALSE, L"OSKRunning"); + +if (hMutex) +{ +/* Check if there's already a mutex for the program */ +dwError = GetLastError(); + +if (dwError == ERROR_ALREADY_EXISTS) +{ +/* +A mutex with the object name has been created previously. +Therefore, another instance is already running. +*/ +DPRINT("wWinMain(): Failed to create a mutex! The program instance is already running.\n"); +CloseHandle(hMutex); +return 0; +} +} + ZeroMemory(, sizeof(Globals)); Globals.hInstance = hInstance; @@ -613,31 +637,16 @@ int WINAPI wWinMain(HINSTANCE hInstance, LayoutResource = MAIN_DIALOG_STANDARD_KB; } -/* Rry to open a mutex for a single instance */ -hMutex = OpenMutexW(MUTEX_ALL_ACCESS, FALSE, L"osk"); +/* Create the modal box based on the configuration registry */ +DialogBoxW(hInstance, + MAKEINTRESOURCEW(LayoutResource), + GetDesktopWindow(), + OSK_DlgProc); -if (!hMutex) +/* Delete the mutex */ +if (hMutex) { -/* Mutex doesn't exist. This is the first instance so create the mutex. */ -hMutex = CreateMutexW(NULL, FALSE, L"osk"); - -/* Create the modal box based on the configuration registry */ -DialogBoxW(hInstance, - MAKEINTRESOURCEW(LayoutResource), - GetDesktopWindow(), - OSK_DlgProc); - -/* Delete the mutex */ -if (hMutex) CloseHandle(hMutex); -} -else -{ -/* Programme already launched */ - -/* Delete the mutex */ CloseHandle(hMutex); - -ExitProcess(0); } return 0; diff --git a/base/applications/osk/osk.h b/base/applications/osk/osk.h index ce7e0e19ad1..5de39d32115 100644 --- a/base/applications/osk/osk.h +++ b/base/applications/osk/osk.h @@ -14,6 +14,7 @@ #include #include +#include #include "main.h"
[ros-diffs] [reactos] 01/01: [OSK] Restore the previous window coordination
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=65239bcf4b26d2392c831ac3d31235806aadacfb commit 65239bcf4b26d2392c831ac3d31235806aadacfb Author: Bișoc George AuthorDate: Sat Mar 2 18:10:26 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Mar 23 16:34:48 2019 +0100 [OSK] Restore the previous window coordination Implement the coordination dialog data saver. This allows OSK to launch using the previous placement values. Such behaviour can be seen with the XP's part of On-Screen Keyboard. --- base/applications/osk/main.c | 53 +++-- base/applications/osk/main.h | 6 ++- base/applications/osk/settings.c | 99 3 files changed, 134 insertions(+), 24 deletions(-) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 972f8c8e9b..92e1a05b5b 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -1,9 +1,9 @@ /* * PROJECT: ReactOS On-Screen Keyboard * LICENSE: GPL - See COPYING in the top level directory - * FILE:base/applications/osk/main.c * PURPOSE: On-screen keyboard. - * PROGRAMMERS: Denis ROBERT + * COPYRIGHT: Denis ROBERT + * Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) */ /* INCLUDES ***/ @@ -138,7 +138,7 @@ int OSK_DlgInitDialog(HWND hDlg) HMONITOR monitor; MONITORINFO info; POINT Pt; -RECT rcWindow; +RECT rcWindow, rcDlgIntersect; /* Save handle */ Globals.hMainWnd = hDlg; @@ -178,17 +178,42 @@ int OSK_DlgInitDialog(HWND hDlg) monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY); info.cbSize = sizeof(info); GetMonitorInfoW(monitor, ); - -/* Move the dialog on the bottom of main screen */ GetWindowRect(hDlg, ); -MoveWindow(hDlg, - (info.rcMonitor.left + info.rcMonitor.right) / 2 - // Center of screen - (rcWindow.right - rcWindow.left) / 2, // - half size of dialog - info.rcMonitor.bottom - // Bottom of screen - (rcWindow.bottom - rcWindow.top), // - size of window - rcWindow.right - rcWindow.left, // Width - rcWindow.bottom - rcWindow.top, // Height - TRUE); + +/* +If the coordination values are default then re-initialize using the specific formulas +to move the dialog at the bottom of the screen. +*/ +if (Globals.PosX == CW_USEDEFAULT && Globals.PosY == CW_USEDEFAULT) +{ +Globals.PosX = (info.rcMonitor.left + info.rcMonitor.right - (rcWindow.right - rcWindow.left)) / 2; +Globals.PosY = info.rcMonitor.bottom - (rcWindow.bottom - rcWindow.top); +} + +/* +Calculate the intersection of two rectangle sources (dialog and work desktop area). +If such sources do not intersect, then the dialog is deemed as "off screen". +*/ +if (IntersectRect(, , ) == 0) +{ +Globals.PosX = (info.rcMonitor.left + info.rcMonitor.right - (rcWindow.right - rcWindow.left)) / 2; +Globals.PosY = info.rcMonitor.bottom - (rcWindow.bottom - rcWindow.top); +} +else +{ +/* +There's still some intersection but we're not for sure if it is sufficient (the dialog could also be partially hidden). +Therefore, check the remaining intersection if it's enough. +*/ +if (rcWindow.top < info.rcWork.top || rcWindow.left < info.rcWork.left || rcWindow.right > info.rcWork.right || rcWindow.bottom > info.rcWork.bottom) +{ +Globals.PosX = (info.rcMonitor.left + info.rcMonitor.right - (rcWindow.right - rcWindow.left)) / 2; +Globals.PosY = info.rcMonitor.bottom - (rcWindow.bottom - rcWindow.top); +} +} + +/* Move the dialog according to the placement coordination */ +SetWindowPos(hDlg, HWND_TOP, Globals.PosX, Globals.PosY, 0, 0, SWP_NOSIZE); /* Set icon on visual buttons */ OSK_SetImage(SCAN_CODE_15, IDI_BACK); @@ -593,7 +618,7 @@ int WINAPI wWinMain(HINSTANCE hInstance, if (!hMutex) { -/* Mutex doesn�t exist. This is the first instance so create the mutex. */ +/* Mutex doesn't exist. This is the first instance so create the mutex. */ hMutex = CreateMutexW(NULL, FALSE, L"osk"); /* Create the modal box based on the configuration registry */ diff --git a/base/applications/osk/main.h b/base/applications/osk/main.h index 137cf5b2ca..da4cf2a7ba 100644 --- a/base/applications/osk/main.h +++ b/base/applications/osk/main.h @@ -1,9 +1,9 @@ /* * PROJECT: ReactOS On-Screen Keyboard * LICENSE: GPL - See COPYING in the top level directory - * FILE:base/applications/osk/main.h * PURPOSE: On scr
[ros-diffs] [reactos] 01/01: [COVERITY][SETUPAPI] Release the blocks of memory when done
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0bc8e2a5bb733d4227b474b50d1b8ebfd0b3ee09 commit 0bc8e2a5bb733d4227b474b50d1b8ebfd0b3ee09 Author: Bișoc George AuthorDate: Fri Mar 1 20:24:18 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Mar 2 20:39:09 2019 +0100 [COVERITY][SETUPAPI] Release the blocks of memory when done pRange variable allocates blocks of memory from the heap by HeapAlloc() although this resource is never freed afterwards. COVERITY CID 1427056 --- dll/win32/setupapi/cfgmgr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dll/win32/setupapi/cfgmgr.c b/dll/win32/setupapi/cfgmgr.c index 98b09139b7..0a3035d6ae 100644 --- a/dll/win32/setupapi/cfgmgr.c +++ b/dll/win32/setupapi/cfgmgr.c @@ -1075,7 +1075,8 @@ CM_Add_Range( } else { - +HeapFree(GetProcessHeap(), 0, pRange); +UNIMPLEMENTED; } done:
[ros-diffs] [reactos] 01/01: [OSK] Implement "Use Click Sound" feature
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d000a1e1c6506da7c67d16133867fd9b1825d85a commit d000a1e1c6506da7c67d16133867fd9b1825d85a Author: Bișoc George AuthorDate: Sun Feb 24 16:40:02 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Mar 1 00:13:47 2019 +0100 [OSK] Implement "Use Click Sound" feature - Implement the save/load handler for this feature - Check the "Use Click Sound" item state accordingly depending if it's enabled or disabled - Use PlaySoundW() to play the wave sound file from resource - Add the WAV sound click file. The work is made thanks to Midori Mizuno --- base/applications/osk/CMakeLists.txt | 2 +- base/applications/osk/lang/ar-DZ.rc | 2 +- base/applications/osk/lang/cs-CZ.rc | 2 +- base/applications/osk/lang/de-DE.rc | 2 +- base/applications/osk/lang/en-GB.rc | 2 +- base/applications/osk/lang/en-US.rc | 2 +- base/applications/osk/lang/es-ES.rc | 2 +- base/applications/osk/lang/et-EE.rc | 2 +- base/applications/osk/lang/fr-CA.rc | 2 +- base/applications/osk/lang/fr-FR.rc | 2 +- base/applications/osk/lang/he-IL.rc | 2 +- base/applications/osk/lang/it-IT.rc | 2 +- base/applications/osk/lang/pl-PL.rc | 2 +- base/applications/osk/lang/ro-RO.rc | 2 +- base/applications/osk/lang/ru-RU.rc | 2 +- base/applications/osk/lang/tr-TR.rc | 2 +- base/applications/osk/lang/zh-CN.rc | 2 +- base/applications/osk/lang/zh-TW.rc | 2 +- base/applications/osk/main.c | 32 ++ base/applications/osk/main.h | 1 + base/applications/osk/osk_res.h | 2 ++ base/applications/osk/res/click.wav | Bin 0 -> 20856 bytes base/applications/osk/rsrc.rc| 3 ++- base/applications/osk/settings.c | 42 --- 24 files changed, 94 insertions(+), 22 deletions(-) diff --git a/base/applications/osk/CMakeLists.txt b/base/applications/osk/CMakeLists.txt index 51ff4f3a42..5d5ddf76f9 100644 --- a/base/applications/osk/CMakeLists.txt +++ b/base/applications/osk/CMakeLists.txt @@ -3,5 +3,5 @@ file(GLOB osk_rc_deps res/*.*) add_rc_deps(rsrc.rc ${osk_rc_deps}) add_executable(osk main.c settings.c rsrc.rc) set_module_type(osk win32gui UNICODE) -add_importlibs(osk comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32) +add_importlibs(osk comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 winmm) add_cd_file(TARGET osk DESTINATION reactos/system32 FOR all) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index 3bf1192f0a..edd4536dd6 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -270,7 +270,7 @@ BEGIN BEGIN MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED MENUITEM SEPARATOR -MENUITEM " Click Sound", IDM_CLICK_SOUND, GRAYED +MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR MENUITEM " Mode...", IDM_TYPE_MODE, GRAYED MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/cs-CZ.rc b/base/applications/osk/lang/cs-CZ.rc index 3d35fa2b47..5360c7075d 100644 --- a/base/applications/osk/lang/cs-CZ.rc +++ b/base/applications/osk/lang/cs-CZ.rc @@ -270,7 +270,7 @@ BEGIN BEGIN MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED MENUITEM SEPARATOR -MENUITEM " Click Sound", IDM_CLICK_SOUND, GRAYED +MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR MENUITEM " Mode...", IDM_TYPE_MODE, GRAYED MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/de-DE.rc b/base/applications/osk/lang/de-DE.rc index 6748444650..dba2dc1788 100644 --- a/base/applications/osk/lang/de-DE.rc +++ b/base/applications/osk/lang/de-DE.rc @@ -271,7 +271,7 @@ BEGIN BEGIN MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED MENUITEM SEPARATOR -MENUITEM " Click Sound", IDM_CLICK_SOUND, GRAYED +MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR MENUITEM " Mode...", IDM_TYPE_MODE, GRAYED MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/en-GB.rc b/base/applications/osk/lang/en-GB.rc index 11f91b9b2f..ab04edc3a3 100644 --- a/base/applications/osk/lang/en-GB.rc +++ b/base/applications/osk/lang/en-GB.rc @@ -271,7 +271,7 @@ BEGIN BEGIN MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED MENUITEM SEPARATOR -MENUITEM " Click Sound", IDM_CLICK_SOUND, GRAYED +MENUITEM " Click Sound", IDM_CLICK_SOUND MENUITEM SEPARATOR MENUITEM " Mode...", IDM_TYPE_MODE, GRAYED MENUITEM SEPARATOR diff --git a/base/applications/osk/lang/en-US.rc b/base/applications/osk/lang/en-US.rc
[ros-diffs] [reactos] 01/01: [SNDVOL32] Small Italian translation update
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8423d8b7e1938bf0838ea7534fe6833365eb422e commit 8423d8b7e1938bf0838ea7534fe6833365eb422e Author: Bișoc George AuthorDate: Tue Feb 26 15:49:47 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Tue Feb 26 23:04:23 2019 +0100 [SNDVOL32] Small Italian translation update --- base/applications/sndvol32/lang/it-IT.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/applications/sndvol32/lang/it-IT.rc b/base/applications/sndvol32/lang/it-IT.rc index af0a89a380..42db02aa91 100644 --- a/base/applications/sndvol32/lang/it-IT.rc +++ b/base/applications/sndvol32/lang/it-IT.rc @@ -21,8 +21,8 @@ STRINGTABLE BEGIN IDS_SNDVOL32 "Controllo Volume" IDS_NOMIXERDEVICES "Non ci sono dispositivi mixer disponibili! Il programma si chiuderà." -IDS_SELECT "" -IDS_ADVANCED_CONTROLS "Advanced Controls for %s" +IDS_SELECT "" +IDS_ADVANCED_CONTROLS "Controlli Avanzati per %s" IDS_OTHER_CONTROLS1 "&1 %s" IDS_OTHER_CONTROLS2 "&2 %s" END
[ros-diffs] [reactos] 01/01: [USETUP] Check the status value of BuildInstallPaths() (#1349)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=35f7267a9712da2b94dfd2fc0c08d4a021f15b88 commit 35f7267a9712da2b94dfd2fc0c08d4a021f15b88 Author: Bișoc George AuthorDate: Wed Feb 13 15:22:28 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Feb 13 15:22:28 2019 +0100 [USETUP] Check the status value of BuildInstallPaths() (#1349) --- base/setup/usetup/usetup.c | 29 +++-- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c index a9a4f81174..f10effde10 100644 --- a/base/setup/usetup/usetup.c +++ b/base/setup/usetup/usetup.c @@ -3324,6 +3324,7 @@ InstallDirectoryPage(PINPUT_RECORD Ir) WCHAR InstallDir[MAX_PATH]; WCHAR c; ULONG Length, Pos; +NTSTATUS Status; /* We do not need the filesystem list anymore */ if (FileSystemList != NULL) @@ -3360,9 +3361,17 @@ InstallDirectoryPage(PINPUT_RECORD Ir) */ if ((RepairUpdateFlag || IsUnattendedSetup) && IsValidPath(InstallDir)) { -BuildInstallPaths(InstallDir, - DiskEntry, - PartEntry); +Status = BuildInstallPaths(InstallDir, + DiskEntry, + PartEntry); +if (!NT_SUCCESS(Status)) +{ +DPRINT1("BuildInstallPaths() failed. Status code: 0x%lx", Status); +PopupError("Failed to build the installation paths for the ReactOS installation directory!", + MUIGetString(STRING_CONTINUE), + Ir, POPUP_WAIT_ENTER); +return QUIT_PAGE; +} /* * Check whether the user attempts to install ReactOS within the @@ -3462,9 +3471,17 @@ InstallDirectoryPage(PINPUT_RECORD Ir) return INSTALL_DIRECTORY_PAGE; } -BuildInstallPaths(InstallDir, - DiskEntry, - PartEntry); +Status = BuildInstallPaths(InstallDir, + DiskEntry, + PartEntry); +if (!NT_SUCCESS(Status)) +{ +DPRINT1("BuildInstallPaths() failed. Status code: 0x%lx", Status); +PopupError("Failed to build the installation paths for the ReactOS installation directory!", + MUIGetString(STRING_CONTINUE), + Ir, POPUP_WAIT_ENTER); +return QUIT_PAGE; +} /* * Check whether the user attempts to install ReactOS within the
[ros-diffs] [reactos] 01/01: [CRYPTEXT] Add Romanian & Italian translations (#1352)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=67a3747722865bd0b85404a0b9bcaf39ca1f0dd7 commit 67a3747722865bd0b85404a0b9bcaf39ca1f0dd7 Author: Bișoc George AuthorDate: Wed Feb 13 13:11:17 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Feb 13 13:11:17 2019 +0100 [CRYPTEXT] Add Romanian & Italian translations (#1352) --- dll/shellext/cryptext/cryptext.rc | 6 ++ dll/shellext/cryptext/lang/it-IT.rc | 14 ++ dll/shellext/cryptext/lang/ro-RO.rc | 14 ++ 3 files changed, 34 insertions(+) diff --git a/dll/shellext/cryptext/cryptext.rc b/dll/shellext/cryptext/cryptext.rc index 9dc9c22e7d..88890f0b5f 100644 --- a/dll/shellext/cryptext/cryptext.rc +++ b/dll/shellext/cryptext/cryptext.rc @@ -23,6 +23,12 @@ #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif +#ifdef LANGUAGE_RO_RO +#include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_RU_RU #include "lang/ru-RU.rc" #endif diff --git a/dll/shellext/cryptext/lang/it-IT.rc b/dll/shellext/cryptext/lang/it-IT.rc new file mode 100644 index 00..36995db997 --- /dev/null +++ b/dll/shellext/cryptext/lang/it-IT.rc @@ -0,0 +1,14 @@ +/* + * PROJECT: ReactOS CryptExt Shell Extension + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Italian (Neutral) resource translation + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_INVALIDFILE "Il file del certificato non è valido." +IDS_CER_FILE "File certificato" +END diff --git a/dll/shellext/cryptext/lang/ro-RO.rc b/dll/shellext/cryptext/lang/ro-RO.rc new file mode 100644 index 00..5609ce5f3f --- /dev/null +++ b/dll/shellext/cryptext/lang/ro-RO.rc @@ -0,0 +1,14 @@ +/* + * PROJECT: ReactOS CryptExt Shell Extension + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Romanian (Neutral) resource translation + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_INVALIDFILE "Acest fișier de certificat este invalid." +IDS_CER_FILE "Fișier de certificat" +END
[ros-diffs] [reactos] 01/01: [OSK] Romanian & Italian translations update (#1353)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a95a8c02762255f0fbc2bc5d99e373a3b0bbc5ff commit a95a8c02762255f0fbc2bc5d99e373a3b0bbc5ff Author: Bișoc George AuthorDate: Wed Feb 13 13:10:54 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Feb 13 13:10:54 2019 +0100 [OSK] Romanian & Italian translations update (#1353) --- base/applications/osk/lang/it-IT.rc | 219 ++-- base/applications/osk/lang/ro-RO.rc | 200 2 files changed, 210 insertions(+), 209 deletions(-) diff --git a/base/applications/osk/lang/it-IT.rc b/base/applications/osk/lang/it-IT.rc index 0f614a1a98..965a73af5c 100644 --- a/base/applications/osk/lang/it-IT.rc +++ b/base/applications/osk/lang/it-IT.rc @@ -129,7 +129,7 @@ BEGIN END MAIN_DIALOG_STANDARD_KB DIALOGEX DISCARDABLE 0, 0, 362, 115 -CAPTION "On screen keyboard" +CAPTION "Tastiera a schermo" FONT 8, "MS Shell Dlg" MENU IDR_OSK_MENU STYLE WS_SYSMENU | WS_MINIMIZEBOX @@ -140,18 +140,18 @@ BEGIN PUSHBUTTON "F2",SCAN_CODE_113,63,3,15,15 PUSHBUTTON "F3",SCAN_CODE_114,83,3,15,15 PUSHBUTTON "F4",SCAN_CODE_115,103,3,15,15 -PUSHBUTTON "F5",SCAN_CODE_116,123,3,15,15 -PUSHBUTTON "F6",SCAN_CODE_117,143,3,15,15 +PUSHBUTTON "F5",SCAN_CODE_116,143,3,15,15 +PUSHBUTTON "F6",SCAN_CODE_117,163,3,15,15 PUSHBUTTON "F7",SCAN_CODE_118,183,3,15,15 PUSHBUTTON "F8",SCAN_CODE_119,203,3,15,15 -PUSHBUTTON "F9",SCAN_CODE_120,223,3,15,15 -PUSHBUTTON "F10",SCAN_CODE_121,243,3,15,15 -PUSHBUTTON "F11",SCAN_CODE_122,263,3,15,15 -PUSHBUTTON "F12",SCAN_CODE_123,283,3,15,15 -PUSHBUTTON "Prn",SCAN_CODE_124,304,3,15,15 -PUSHBUTTON "Stop",SCAN_CODE_125,324,3,15,15 -PUSHBUTTON "Attn",SCAN_CODE_126,344,3,15,15 -PUSHBUTTON "`",SCAN_CODE_1,3,22,15,15 +PUSHBUTTON "F9",SCAN_CODE_120,243,3,15,15 +PUSHBUTTON "F10",SCAN_CODE_121,263,3,15,15 +PUSHBUTTON "F11",SCAN_CODE_122,283,3,15,15 +PUSHBUTTON "F12",SCAN_CODE_123,303,3,15,15 +PUSHBUTTON "Imp",SCAN_CODE_124,323,3,15,15 +PUSHBUTTON "Arr",SCAN_CODE_125,343,3,15,15 +PUSHBUTTON "Attn",SCAN_CODE_126,363,3,15,15 +PUSHBUTTON "\\",SCAN_CODE_1,3,22,15,15 PUSHBUTTON "1",SCAN_CODE_2,23,22,15,15 PUSHBUTTON "2",SCAN_CODE_3,43,22,15,15 PUSHBUTTON "3",SCAN_CODE_4,63,22,15,15 @@ -161,128 +161,129 @@ BEGIN PUSHBUTTON "7",SCAN_CODE_8,143,22,15,15 PUSHBUTTON "8",SCAN_CODE_9,163,22,15,15 PUSHBUTTON "9",SCAN_CODE_10,183,22,15,15 -PUSHBUTTON "0",SCAN_CODE_11,203,22,15,15 -PUSHBUTTON "-",SCAN_CODE_12,223,22,15,15 -PUSHBUTTON "=",SCAN_CODE_13,243,22,15,15 -PUSHBUTTON "<--",SCAN_CODE_15,263,22,36,15,BS_ICON +PUSHBUTTON "0 ",SCAN_CODE_11,203,22,15,15 +PUSHBUTTON "'",SCAN_CODE_12,223,22,15,15 +PUSHBUTTON "|",SCAN_CODE_13,243,22,15,15 +PUSHBUTTON "<--",SCAN_CODE_15,263,22,55,15,BS_ICON PUSHBUTTON "Tab",SCAN_CODE_16,3,41,35,15,BS_ICON -PUSHBUTTON "q",SCAN_CODE_17,42,41,15,15 -PUSHBUTTON "w",SCAN_CODE_18,61,41,15,15 -PUSHBUTTON "e",SCAN_CODE_19,80,41,15,15 -PUSHBUTTON "r",SCAN_CODE_20,99,41,15,15 -PUSHBUTTON "t",SCAN_CODE_21,118,41,15,15 -PUSHBUTTON "y",SCAN_CODE_22,137,41,15,15 -PUSHBUTTON "u",SCAN_CODE_23,156,41,15,15 -PUSHBUTTON "i",SCAN_CODE_24,175,41,15,15 -PUSHBUTTON "o",SCAN_CODE_25,194,41,15,15 -PUSHBUTTON "p",SCAN_CODE_26,213,41,15,15 -PUSHBUTTON "[",SCAN_CODE_27,232,41,15,15 -PUSHBUTTON "]",SCAN_CODE_28,251,41,15,15 -PUSHBUTTON "lock",SCAN_CODE_30,3,60,46,15,BS_ICON -PUSHBUTTON "a",SCAN_CODE_31,53,60,15,15 -PUSHBUTTON "s",SCAN_CODE_32,72,60,15,15 -PUSHBUTTON "d",SCAN_CODE_33,91,60,15,15 -PUSHBUTTON "f",SCAN_CODE_34,110,60,15,15 -PUSHBUTTON "g",SCAN_CODE_35,129,60,15,15 -PUSHBUTTON "h",SCAN_CODE_36,148,60,15,15 -PUSHBUTTON "j",SCAN_CODE_37,167,60,15,15 -PUSHBUTTON "k",SCAN_CODE_38,186,60,15,15 -PUSHBUTTON "l",SCAN_CODE_39,205,60,15,15 -PUSHBUTTON ";",SCAN_CODE_40,2
[ros-diffs] [reactos] 01/01: [USETUP][REACTOS] Check the status return value of InitDestinationPaths() (#1264)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8bde4de2d6ad0a768574334c035de83604a2e821 commit 8bde4de2d6ad0a768574334c035de83604a2e821 Author: Bișoc George AuthorDate: Sun Feb 10 16:43:51 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Feb 10 16:43:51 2019 +0100 [USETUP][REACTOS] Check the status return value of InitDestinationPaths() (#1264) - Within the function's body code, check the status values returned by the called functions. - Change the BuildInstallPaths's function type to NTSTATUS instead of VOID (and check the status of InitDestinationPaths() as well. --- base/setup/lib/setuplib.c | 98 ++ base/setup/reactos/drivepage.c | 10 - base/setup/usetup/usetup.c | 12 -- 3 files changed, 96 insertions(+), 24 deletions(-) diff --git a/base/setup/lib/setuplib.c b/base/setup/lib/setuplib.c index 2b52c463f3..9e4d22ee37 100644 --- a/base/setup/lib/setuplib.c +++ b/base/setup/lib/setuplib.c @@ -628,18 +628,29 @@ InitDestinationPaths( IN PPARTENTRY PartEntry)// FIXME: HACK! { WCHAR PathBuffer[MAX_PATH]; - -// -// TODO: Check return status values of the functions! -// +NTSTATUS Status; /* Create 'pSetupData->DestinationRootPath' string */ RtlFreeUnicodeString(>DestinationRootPath); -RtlStringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), -L"\\Device\\Harddisk%lu\\Partition%lu\\", -DiskEntry->DiskNumber, -PartEntry->PartitionNumber); -RtlCreateUnicodeString(>DestinationRootPath, PathBuffer); +Status = RtlStringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), + L"\\Device\\Harddisk%lu\\Partition%lu\\", + DiskEntry->DiskNumber, + PartEntry->PartitionNumber); + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("RtlStringCchPrintfW() failed with status 0x%08lx\n", Status); +return Status; +} + +Status = RtlCreateUnicodeString(>DestinationRootPath, PathBuffer) ? STATUS_SUCCESS : STATUS_NO_MEMORY; + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("RtlCreateUnicodeString() failed with status 0x%08lx\n", Status); +return Status; +} + DPRINT("DestinationRootPath: %wZ\n", >DestinationRootPath); // FIXME! Which variable to choose? @@ -649,23 +660,72 @@ InitDestinationPaths( /** Equivalent of 'NTOS_INSTALLATION::SystemArcPath' **/ /* Create 'pSetupData->DestinationArcPath' */ RtlFreeUnicodeString(>DestinationArcPath); -RtlStringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), -L"multi(0)disk(0)rdisk(%lu)partition(%lu)\\", -DiskEntry->BiosDiskNumber, -PartEntry->OnDiskPartitionNumber); -ConcatPaths(PathBuffer, ARRAYSIZE(PathBuffer), 1, InstallationDir); -RtlCreateUnicodeString(>DestinationArcPath, PathBuffer); +Status = RtlStringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), + L"multi(0)disk(0)rdisk(%lu)partition(%lu)\\", + DiskEntry->BiosDiskNumber, + PartEntry->OnDiskPartitionNumber); + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("RtlStringCchPrintfW() failed with status 0x%08lx\n", Status); +RtlFreeUnicodeString(>DestinationRootPath); +return Status; +} + +Status = ConcatPaths(PathBuffer, ARRAYSIZE(PathBuffer), 1, InstallationDir); + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("ConcatPaths() failed with status 0x%08lx\n", Status); +RtlFreeUnicodeString(>DestinationRootPath); +return Status; +} + +Status = RtlCreateUnicodeString(>DestinationArcPath, PathBuffer) ? STATUS_SUCCESS : STATUS_NO_MEMORY; + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("RtlCreateUnicodeString() failed with status 0x%08lx\n", Status); +RtlFreeUnicodeString(>DestinationRootPath); +return Status; +} /** Equivalent of 'NTOS_INSTALLATION::SystemNtPath' **/ /* Create 'pSetupData->DestinationPath' string */ RtlFreeUnicodeString(>DestinationPath); -CombinePaths(PathBuffer, ARRAYSIZE(PathBuffer), 2, - pSetupData->DestinationRootPath.Buffer, InstallationDir); -RtlCreateUnicodeString(>DestinationPath, PathBuffer); +Status = CombinePaths(PathBuffer, ARRAYSIZE(PathBuffer), 2, + pSetupData->DestinationRootPath.Buffer, InstallationDir); + +if (!NT_SUCCESS(Status)) +{ +DPRINT1("CombinePaths() failed with status 0x%08lx\n", Status); +RtlFreeUnicodeString(>DestinationRootPath); +RtlFreeUnicodeString(>DestinationArcPath); +return Status; +} + +Status = RtlCreateUnicodeString(>DestinationPath, PathBuffer) ? STATUS_SUCCESS
[ros-diffs] [reactos] 01/01: [OSK] Implement standard/enhanced keyboard handler (#1338)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3cd3d896b7659f1c5376f4036594e28cd2edbf7c commit 3cd3d896b7659f1c5376f4036594e28cd2edbf7c Author: Bișoc George AuthorDate: Sun Feb 10 16:04:16 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Feb 10 16:04:16 2019 +0100 [OSK] Implement standard/enhanced keyboard handler (#1338) - Add the respective standard keyboard resource. - Implement the standard/enhanced keyboard dialog switcher. - Implement save/load handler. - Move the warning box conditinal check (bShowWarning) to wWinMain application entry point (this will prevent the modal welcome box from displaying each time the user switches into another dialog). CORE-14428 --- base/applications/osk/lang/ar-DZ.rc | 125 +++- base/applications/osk/lang/cs-CZ.rc | 125 +++- base/applications/osk/lang/de-DE.rc | 125 +++- base/applications/osk/lang/en-GB.rc | 125 +++- base/applications/osk/lang/en-US.rc | 125 +++- base/applications/osk/lang/es-ES.rc | 125 +++- base/applications/osk/lang/et-EE.rc | 125 +++- base/applications/osk/lang/fr-CA.rc | 125 +++- base/applications/osk/lang/fr-FR.rc | 125 +++- base/applications/osk/lang/he-IL.rc | 125 +++- base/applications/osk/lang/it-IT.rc | 125 +++- base/applications/osk/lang/pl-PL.rc | 125 +++- base/applications/osk/lang/ro-RO.rc | 125 +++- base/applications/osk/lang/ru-RU.rc | 125 +++- base/applications/osk/lang/tr-TR.rc | 125 +++- base/applications/osk/lang/zh-CN.rc | 125 +++- base/applications/osk/lang/zh-TW.rc | 125 +++- base/applications/osk/main.c| 96 --- base/applications/osk/main.h| 1 + base/applications/osk/osk_res.h | 79 --- base/applications/osk/settings.c| 52 --- 21 files changed, 2246 insertions(+), 107 deletions(-) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index 4feabe086a..3bf1192f0a 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -8,7 +8,7 @@ LANGUAGE LANG_ARABIC, SUBLANG_DEFAULT -MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 +MAIN_DIALOG_ENHANCED_KB DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "On screen keyboard" FONT 8, "MS Shell Dlg" MENU IDR_OSK_MENU @@ -127,6 +127,125 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +MAIN_DIALOG_STANDARD_KB DIALOGEX DISCARDABLE 0, 0, 362, 115 +CAPTION "On screen keyboard" +FONT 8, "MS Shell Dlg" +MENU IDR_OSK_MENU +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW +BEGIN +PUSHBUTTON "Esc",SCAN_CODE_110,3,3,15,15 +PUSHBUTTON "F1",SCAN_CODE_112,43,3,15,15 +PUSHBUTTON "F2",SCAN_CODE_113,63,3,15,15 +PUSHBUTTON "F3",SCAN_CODE_114,83,3,15,15 +PUSHBUTTON "F4",SCAN_CODE_115,103,3,15,15 +PUSHBUTTON "F5",SCAN_CODE_116,123,3,15,15 +PUSHBUTTON "F6",SCAN_CODE_117,143,3,15,15 +PUSHBUTTON "F7",SCAN_CODE_118,183,3,15,15 +PUSHBUTTON "F8",SCAN_CODE_119,203,3,15,15 +PUSHBUTTON "F9",SCAN_CODE_120,223,3,15,15 +PUSHBUTTON "F10",SCAN_CODE_121,243,3,15,15 +PUSHBUTTON "F11",SCAN_CODE_122,263,3,15,15 +PUSHBUTTON "F12",SCAN_CODE_123,283,3,15,15 +PUSHBUTTON "Prn",SCAN_CODE_124,304,3,15,15 +PUSHBUTTON "Stop",SCAN_CODE_125,324,3,15,15 +PUSHBUTTON "Attn",SCAN_CODE_126,344,3,15,15 +PUSHBUTTON "`",SCAN_CODE_1,3,22,15,15 +PUSHBUTTON "1",SCAN_CODE_2,23,22,15,15 +PUSHBUTTON "2",SCAN_CODE_3,43,22,15,15 +PUSHBUTTON "3",SCAN_CODE_4,63,22,15,15 +PUSHBUTTON "4",SCAN_CODE_5,83,22,15,15 +PUSHBUTTON "5",SCAN_CODE_6,103,22,15,15 +PUSHBUTTON "6",SCAN_CODE_7,123,22,15,15 +PUSHBUTTON "7",SCAN_CODE_8,143,22,15,15 +PUSHBUTTON "8",SCAN_CODE_9,163,22,15,15 +PUSHBUTTON "9",SCAN_CODE_10,183,22,15,15 +PUSHBUTTON "0",SCAN_CODE_11,203,22,15,15 +PUSHBUTTON "-",SCAN_CODE_12,223,22,15,15 +
[ros-diffs] [reactos] 01/01: [OSK] Initial implementation of a menu (#1301)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dfa5ff553ba88d2ac1fb4eeaedea2a67af6556d3 commit dfa5ff553ba88d2ac1fb4eeaedea2a67af6556d3 Author: Bișoc George AuthorDate: Sun Jan 27 17:35:26 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jan 27 17:35:26 2019 +0100 [OSK] Initial implementation of a menu (#1301) --- base/applications/osk/lang/ar-DZ.rc | 46 +++ base/applications/osk/lang/cs-CZ.rc | 46 +++ base/applications/osk/lang/de-DE.rc | 46 +++ base/applications/osk/lang/en-GB.rc | 46 +++ base/applications/osk/lang/en-US.rc | 46 +++ base/applications/osk/lang/es-ES.rc | 46 +++ base/applications/osk/lang/et-EE.rc | 46 +++ base/applications/osk/lang/fr-CA.rc | 46 +++ base/applications/osk/lang/fr-FR.rc | 46 +++ base/applications/osk/lang/he-IL.rc | 46 +++ base/applications/osk/lang/it-IT.rc | 46 +++ base/applications/osk/lang/pl-PL.rc | 46 +++ base/applications/osk/lang/ro-RO.rc | 46 +++ base/applications/osk/lang/ru-RU.rc | 46 +++ base/applications/osk/lang/tr-TR.rc | 46 +++ base/applications/osk/lang/zh-CN.rc | 46 +++ base/applications/osk/lang/zh-TW.rc | 46 +++ base/applications/osk/main.c| 54 ++--- base/applications/osk/main.h| 1 + base/applications/osk/osk_res.h | 19 + 20 files changed, 852 insertions(+), 4 deletions(-) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index c11d82844b..4feabe086a 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -11,6 +11,7 @@ LANGUAGE LANG_ARABIC, SUBLANG_DEFAULT MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "On screen keyboard" FONT 8, "MS Shell Dlg" +MENU IDR_OSK_MENU STYLE WS_SYSMENU | WS_MINIMIZEBOX EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN @@ -126,6 +127,45 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +IDR_OSK_MENU MENU DISCARDABLE +BEGIN +POPUP "File" +BEGIN +MENUITEM "", IDM_EXIT +END + +POPUP "Keyboard" +BEGIN +MENUITEM "Enhanced Keyboard", IDM_ENCHANCED_KB, CHECKED, GRAYED +MENUITEM "Standard Keyboard", IDM_STANDARD_KB, GRAYED +MENUITEM SEPARATOR +MENUITEM "Regular Layout", IDM_REG_LAYOUT, CHECKED, GRAYED +MENUITEM "Block Layout", IDM_BLOCK_LAYOUT, GRAYED +MENUITEM SEPARATOR +MENUITEM "101 keys", IDM_101_KEYS, CHECKED, GRAYED +MENUITEM "102 keys", IDM_102_KEYS, GRAYED +MENUITEM "106 keys", IDM_106_KEYS, GRAYED +END + +POPUP "Settings" +BEGIN +MENUITEM "Always on Top", IDM_ON_TOP, CHECKED, GRAYED +MENUITEM SEPARATOR +MENUITEM " Click Sound", IDM_CLICK_SOUND, GRAYED +MENUITEM SEPARATOR +MENUITEM " Mode...", IDM_TYPE_MODE, GRAYED +MENUITEM SEPARATOR +MENUITEM "", IDM_FONT, GRAYED +END + +POPUP "Help" +BEGIN +MENUITEM " Topics", IDM_HELP_TOPICS, GRAYED +MENUITEM SEPARATOR +MENUITEM " On-Screen Keyboard...", IDM_ABOUT +END +END + IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION CAPTION "On-Screen Keyboard" @@ -138,4 +178,10 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END +STRINGTABLE +BEGIN +STRING_OSK "On-Screen Keyboard" +STRING_AUTHORS "Copyright Denis Robert" +END + /* EOF */ diff --git a/base/applications/osk/lang/cs-CZ.rc b/base/applications/osk/lang/cs-CZ.rc index 316efe7de7..21b68ec8af 100644 --- a/base/applications/osk/lang/cs-CZ.rc +++ b/base/applications/osk/lang/cs-CZ.rc @@ -11,6 +11,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "Klávesnice na obrazovce" FONT 8, "MS Shell Dlg" +MENU IDR_OSK_MENU STYLE WS_SYSMENU | WS_MINIMIZEBOX EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN @@ -126,6 +127,45 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +IDR_OSK_MENU MENU DISCARDABLE +BEGIN +POPUP "File" +BEGIN +MENUITEM "", IDM_EXIT +END + +POPUP &q
[ros-diffs] [reactos] 01/01: [OSK] Use Unicode functions explicitly (#1291)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f2e0de2f31b5c894437b30197c08862c9dc309db commit f2e0de2f31b5c894437b30197c08862c9dc309db Author: Bișoc George AuthorDate: Wed Jan 23 13:28:56 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Jan 23 13:28:56 2019 +0100 [OSK] Use Unicode functions explicitly (#1291) --- base/applications/osk/main.c | 42 +- base/applications/osk/osk.h | 1 - 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 463b72d38d..8e623661c0 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -24,7 +24,7 @@ BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl); BOOL OSK_ReleaseKey(WORD ScanCode); INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); -int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int); +int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int); /* FUNCTIONS **/ @@ -39,8 +39,8 @@ int OSK_SetImage(int IdDlgItem, int IdResource) HICON hIcon; HWND hWndItem; -hIcon = (HICON)LoadImage(Globals.hInstance, MAKEINTRESOURCE(IdResource), - IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); +hIcon = (HICON)LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IdResource), + IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); if (hIcon == NULL) return FALSE; @@ -51,7 +51,7 @@ int OSK_SetImage(int IdDlgItem, int IdResource) return FALSE; } -SendMessage(hWndItem, BM_SETIMAGE, (WPARAM)IMAGE_ICON, (LPARAM)hIcon); +SendMessageW(hWndItem, BM_SETIMAGE, (WPARAM)IMAGE_ICON, (LPARAM)hIcon); /* The system automatically deletes these resources when the process that created them terminates (MSDN) */ @@ -174,7 +174,7 @@ int OSK_DlgInitDialog(HWND hDlg) /* If the member of the struct (bShowWarning) is set then display the dialog box */ if (Globals.bShowWarning) { -DialogBox(Globals.hInstance, MAKEINTRESOURCE(IDD_WARNINGDIALOG_OSK), Globals.hMainWnd, OSK_WarningProc); +DialogBoxW(Globals.hInstance, MAKEINTRESOURCEW(IDD_WARNINGDIALOG_OSK), Globals.hMainWnd, OSK_WarningProc); } return TRUE; @@ -253,19 +253,19 @@ BOOL OSK_DlgCommand(WPARAM wCommand, HWND hWndControl) MSG msg; SetForegroundWindow(Globals.hActiveWnd); -while (PeekMessage(, 0, 0, 0, PM_REMOVE)) +while (PeekMessageW(, 0, 0, 0, PM_REMOVE)) { TranslateMessage(); -DispatchMessage(); +DispatchMessageW(); } } /* KeyDown and/or KeyUp ? */ -WindowStyle = GetWindowLong(hWndControl, GWL_STYLE); +WindowStyle = GetWindowLongW(hWndControl, GWL_STYLE); if ((WindowStyle & BS_AUTOCHECKBOX) == BS_AUTOCHECKBOX) { /* 2-states key like Shift, Alt, Ctrl, ... */ -if (SendMessage(hWndControl, BM_GETCHECK, 0, 0) == BST_CHECKED) +if (SendMessageW(hWndControl, BM_GETCHECK, 0, 0) == BST_CHECKED) { bKeyDown = TRUE; bKeyUp = FALSE; @@ -334,11 +334,11 @@ BOOL OSK_ReleaseKey(WORD ScanCode) /* Is it a 2-states key ? */ hWndControl = GetDlgItem(Globals.hMainWnd, ScanCode); -WindowStyle = GetWindowLong(hWndControl, GWL_STYLE); +WindowStyle = GetWindowLongW(hWndControl, GWL_STYLE); if ((WindowStyle & BS_AUTOCHECKBOX) != BS_AUTOCHECKBOX) return FALSE; /* Is the key down ? */ -if (SendMessage(hWndControl, BM_GETCHECK, 0, 0) != BST_CHECKED) return TRUE; +if (SendMessageW(hWndControl, BM_GETCHECK, 0, 0) != BST_CHECKED) return TRUE; /* Extended key ? */ if (ScanCode & 0x0200) @@ -419,10 +419,10 @@ INT_PTR APIENTRY OSK_DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) * * WinMain */ -int WINAPI _tWinMain(HINSTANCE hInstance, - HINSTANCE prev, - LPTSTR cmdline, - int show) +int WINAPI wWinMain(HINSTANCE hInstance, +HINSTANCE prev, +LPWSTR cmdline, +int show) { HANDLE hMutex; @@ -434,17 +434,17 @@ int WINAPI _tWinMain(HINSTANCE hInstance, Globals.hInstance = hInstance; /* Rry to open a mutex for a single instance */ -hMutex = OpenMutexA(MUTEX_ALL_ACCESS, FALSE, "osk"); +hMutex = OpenMutexW(MUTEX_ALL_ACCESS, FALSE, L"osk"); if (!hMutex) { /* Mutex doesn�t exist. This is the first instance so create the mutex. */ -hMutex = CreateMutexA(NULL, FALSE, "osk"); +hMutex = CreateMutexW(NULL, FALSE, L"osk"); -DialogBox(hInstance, - MAKEINTRESOURCE(MAIN_DIALOG), - GetDesktopWindow(), - OSK_DlgProc); +DialogBoxW(hInstan
[ros-diffs] [reactos] 01/01: [NOTEPAD] Fix "Save As" dialog resource (#1272)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c09a7b5bd70a8a3926b434316e431a9acd5dab15 commit c09a7b5bd70a8a3926b434316e431a9acd5dab15 Author: Bișoc George AuthorDate: Sun Jan 20 19:58:26 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Jan 20 19:58:26 2019 +0100 [NOTEPAD] Fix "Save As" dialog resource (#1272) Fix the placement of the "Encoding" and "Endlines" selection controls. CORE-15596 --- base/applications/notepad/lang/bg-BG.rc | 8 base/applications/notepad/lang/cs-CZ.rc | 8 base/applications/notepad/lang/da-DK.rc | 8 base/applications/notepad/lang/de-DE.rc | 8 base/applications/notepad/lang/el-GR.rc | 8 base/applications/notepad/lang/en-US.rc | 8 base/applications/notepad/lang/es-ES.rc | 8 base/applications/notepad/lang/et-EE.rc | 8 base/applications/notepad/lang/eu-ES.rc | 8 base/applications/notepad/lang/fi-FI.rc | 8 base/applications/notepad/lang/fr-FR.rc | 8 base/applications/notepad/lang/he-IL.rc | 8 base/applications/notepad/lang/hi-IN.rc | 8 base/applications/notepad/lang/hu-HU.rc | 8 base/applications/notepad/lang/hy-AM.rc | 8 base/applications/notepad/lang/id-ID.rc | 8 base/applications/notepad/lang/it-IT.rc | 8 base/applications/notepad/lang/ja-JP.rc | 8 base/applications/notepad/lang/lt-LT.rc | 8 base/applications/notepad/lang/ms-MY.rc | 8 base/applications/notepad/lang/nl-NL.rc | 8 base/applications/notepad/lang/no-NO.rc | 8 base/applications/notepad/lang/pl-PL.rc | 8 base/applications/notepad/lang/pt-BR.rc | 8 base/applications/notepad/lang/pt-PT.rc | 8 base/applications/notepad/lang/ro-RO.rc | 8 base/applications/notepad/lang/ru-RU.rc | 8 base/applications/notepad/lang/sk-SK.rc | 8 base/applications/notepad/lang/sl-SI.rc | 8 base/applications/notepad/lang/sq-AL.rc | 8 base/applications/notepad/lang/sv-SE.rc | 8 base/applications/notepad/lang/th-TH.rc | 8 base/applications/notepad/lang/tr-TR.rc | 8 base/applications/notepad/lang/uk-UA.rc | 8 base/applications/notepad/lang/uz-UZ.rc | 8 base/applications/notepad/lang/zh-CN.rc | 8 base/applications/notepad/lang/zh-TW.rc | 8 37 files changed, 148 insertions(+), 148 deletions(-) diff --git a/base/applications/notepad/lang/bg-BG.rc b/base/applications/notepad/lang/bg-BG.rc index 7d63a030e0..5f1726abd0 100644 --- a/base/applications/notepad/lang/bg-BG.rc +++ b/base/applications/notepad/lang/bg-BG.rc @@ -109,10 +109,10 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_S FONT 8, "MS Shell Dlg" CAPTION "Знаков набор" BEGIN -COMBOBOX ID_ENCODING, 65, 0, 145, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP -LTEXT "Знаков набор:", 0x155, 5, 2, 60, 12 -COMBOBOX ID_EOLN, 65, 18, 145, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -LTEXT "Знак за нов ред:", 0x156, 5, 20, 60, 12 +COMBOBOX ID_ENCODING, 124, 0, 125, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP +LTEXT "Знаков набор:", 0x155, 65, 2, 60, 12 +COMBOBOX ID_EOLN, 124, 18, 125, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +LTEXT "Знак за нов ред:", 0x156, 65, 20, 60, 12 END /* Dialog 'Go To' */ diff --git a/base/applications/notepad/lang/cs-CZ.rc b/base/applications/notepad/lang/cs-CZ.rc index d148ca7381..aa6c5da542 100644 --- a/base/applications/notepad/lang/cs-CZ.rc +++ b/base/applications/notepad/lang/cs-CZ.rc @@ -109,10 +109,10 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_S FONT 8, "MS Shell Dlg" CAPTION "Kódování" BEGIN -COMBOBOX ID_ENCODING, 54, 0, 156, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP -LTEXT "Kódování:", 0x155, 5, 2, 41, 12 -COMBOBOX ID_EOLN, 54, 18, 156, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -LTEXT "Odřádkování:", 0x156, 5, 20, 41, 12 +COMBOBOX ID_ENCODING, 124, 0, 125, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP +LTEXT "Kódování:", 0x155, 65, 2, 41, 12 +COMBOBOX ID_EOLN, 124, 18, 125, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +LTEXT "Odřádkování:", 0x156, 65, 20, 41, 12 END /* Dialog 'Go To' */ diff --git a/base/applications/notepad/lang/da-DK.rc b/base/applications/notepad/lang/da-DK.rc index b9609eeddf..79709a5a5d 100644 --- a/base/applications/notepad/lang/da-DK.rc +++ b/base/applications/notepad/lang/da-DK.rc @@ -109,10 +109,10 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_S FONT 8, "MS Shell Dlg" CAPTION "Encoding" BEGIN -COMBO
[ros-diffs] [reactos] 01/01: [VCDCONTROLTOOL] Implement Romanian & Italian translations (#1218)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e549de4924654de11f10606f2c98946ab0e2dffe commit e549de4924654de11f10606f2c98946ab0e2dffe Author: Bișoc George AuthorDate: Sat Jan 5 14:54:57 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Jan 5 14:54:57 2019 +0100 [VCDCONTROLTOOL] Implement Romanian & Italian translations (#1218) --- .../applications/vcdcontroltool/lang/it-IT.rc | 69 ++ .../applications/vcdcontroltool/lang/ro-RO.rc | 69 ++ .../applications/vcdcontroltool/vcdcontroltool.rc | 6 ++ 3 files changed, 144 insertions(+) diff --git a/modules/rosapps/applications/vcdcontroltool/lang/it-IT.rc b/modules/rosapps/applications/vcdcontroltool/lang/it-IT.rc new file mode 100644 index 00..dea61e3a96 --- /dev/null +++ b/modules/rosapps/applications/vcdcontroltool/lang/it-IT.rc @@ -0,0 +1,69 @@ +/* + * PROJECT: ReactOS Virtual CD Control Tool + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2019 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +IDD_MAINWINDOW DIALOGEX 0, 0, 320, 200 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Pannello di controllo dell'unità virtuale CD-ROM" +FONT 8, "MS Shell Dlg" +BEGIN +PUSHBUTTON "OK", IDC_MAINOK, 211, 179, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +CONTROL "", IDC_MAINDEVICES, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 7, 7, 306, 83 +GROUPBOX "Geometria del driver", IDC_STATIC, 7, 101, 153, 74, BS_GROUPBOX | WS_CHILD | WS_VISIBLE +LTEXT "Numero dei settori", IDC_STATIC, 15, 115, 60, 9, WS_CHILD | WS_VISIBLE | WS_GROUP +LTEXT "Dimensione settore", IDC_STATIC, 15, 127, 49, 9, WS_CHILD | WS_VISIBLE | WS_GROUP +LTEXT "Cluster liberi", IDC_STATIC, 15, 139, 49, 9, WS_CHILD | WS_VISIBLE | WS_GROUP +LTEXT "Totale di cluster", IDC_STATIC, 15, 151, 49, 9, WS_CHILD | WS_VISIBLE | WS_GROUP +EDITTEXT IDC_MAINSECTORS, 88, 115, 49, 12, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP +EDITTEXT IDC_MAINSIZE, 88, 127, 49, 12, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP +EDITTEXT IDC_MAINFREE, 88, 139, 49, 12, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP +EDITTEXT IDC_MAINTOTAL, 88, 151, 49, 12, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP +PUSHBUTTON " Drive", IDC_MAINADD, 183, 123, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON " Drive", IDC_MAINREMOVE, 242, 123, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Monta", IDC_MAINMOUNT, 183, 142, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Espelli", IDC_MAINEJECT, 183, 161, 109, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Rimonta", IDC_MAINREMOUNT, 242, 142, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Controllo Driver ...", IDC_MAINCONTROL, 183, 105, 109, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +IDD_MOUNTWINDOW DIALOG 0, 0, 187, 97 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Opzioni di montaggio specifiche" +FONT 8, "MS Shell Dlg" +BEGIN +PUSHBUTTON "OK", IDC_MOUNTOK, 130, 59, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Annulla", IDC_MOUNTCANCEL, 130, 76, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +EDITTEXT IDC_MOUNTIMAGE, 7, 17, 173, 14, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP +LTEXT "Immagine da montare", IDC_STATIC, 7, 7, 173, 10, SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE | WS_GROUP +AUTOCHECKBOX "Tralasciare UDF", IDC_MOUNTUDF, 7, 40, 114, 10, BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP +AUTOCHECKBOX "Tralasciare Joliet", IDC_MOUNTJOLIET, 7, 56, 111, 9, BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP +AUTOCHECKBOX "Montaggio persistente", IDC_MOUNTPERSIST, 7, 71, 111, 9, BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +IDD_DRIVERWINDOW DIALOG 0, 0, 189, 123 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Controllo driver dell'unità virtuale CD-ROM" +FONT 8, "MS Shell Dlg" +BEGIN +PUSHBUTTON "OK", IDC_DRIVEROK, 43, 98, 103, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PUSHBUTTON "Installa Driver ...", IDC_DRIVERINSTALL, 43, 61, 51, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +PU
[ros-diffs] [reactos] 01/01: [OSK] Fix a sentence in Italian resource (#1219)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=94fd5099ca130477e67bf2c599b4caac7b34be5b commit 94fd5099ca130477e67bf2c599b4caac7b34be5b Author: Bișoc George AuthorDate: Fri Jan 4 23:14:16 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Jan 4 23:14:16 2019 +0100 [OSK] Fix a sentence in Italian resource (#1219) Addendum to 76002778 (see the comment left). --- base/applications/osk/lang/it-IT.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/applications/osk/lang/it-IT.rc b/base/applications/osk/lang/it-IT.rc index e63092de54..96c733487f 100644 --- a/base/applications/osk/lang/it-IT.rc +++ b/base/applications/osk/lang/it-IT.rc @@ -134,7 +134,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 -LTEXT "La tastiera virtuale fornisce un livello minimo di funzionalità per gli utenti con mobilità ridotta. Gli utenti con mobilità ridotta hanno bisogno di questa programma con maggiore funzionalità per un uso giornaliero.", IDC_STATIC, 36, 7, 207, 33 +LTEXT "La tastiera virtuale fornisce un livello minimo di funzionalità per gli utenti con mobilità ridotta. Gli utenti con mobilità ridotta hanno bisogno di un programma con maggiori funzionalità per un uso giornaliero.", IDC_STATIC, 36, 7, 207, 33 CONTROL "Non visualizzare più questo messaggio", IDC_SHOWWARNINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END
[ros-diffs] [reactos] 01/01: [OSK] Update translation files (#1189)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=760027783a6c8d5c8e23fb49addef4c694b8e672 commit 760027783a6c8d5c8e23fb49addef4c694b8e672 Author: Bișoc George AuthorDate: Thu Jan 3 22:28:03 2019 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Thu Jan 3 22:28:03 2019 +0100 [OSK] Update translation files (#1189) Translate the welcome dialog resource for Italian and Romanian. --- base/applications/osk/lang/it-IT.rc | 8 base/applications/osk/lang/ro-RO.rc | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/base/applications/osk/lang/it-IT.rc b/base/applications/osk/lang/it-IT.rc index 6448871909..e63092de54 100644 --- a/base/applications/osk/lang/it-IT.rc +++ b/base/applications/osk/lang/it-IT.rc @@ -9,7 +9,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 463, 115 -CAPTION "Tastiera visivo" +CAPTION "Tastiera a schermo" FONT 8, "MS Shell Dlg" STYLE WS_SYSMENU | WS_MINIMIZEBOX EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW @@ -129,13 +129,13 @@ END IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "On-Screen Keyboard" +CAPTION "Tastiera a schermo" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 -LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 -CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", +LTEXT "La tastiera virtuale fornisce un livello minimo di funzionalità per gli utenti con mobilità ridotta. Gli utenti con mobilità ridotta hanno bisogno di questa programma con maggiore funzionalità per un uso giornaliero.", IDC_STATIC, 36, 7, 207, 33 +CONTROL "Non visualizzare più questo messaggio", IDC_SHOWWARNINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END diff --git a/base/applications/osk/lang/ro-RO.rc b/base/applications/osk/lang/ro-RO.rc index d02d41f5e9..9b3d080aaa 100644 --- a/base/applications/osk/lang/ro-RO.rc +++ b/base/applications/osk/lang/ro-RO.rc @@ -129,13 +129,13 @@ END IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "On-Screen Keyboard" +CAPTION "Tastatură virtuală" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 -LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 -CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", +LTEXT "Tastatura virtuală asigură un nivel minim de funcționalitate pentru utilizatori cu dizabilități. Utilizatori cu dizabilități au nevoie de un program cu o mai mare funcționalitate pentru un uz zilnic.", IDC_STATIC, 36, 7, 207, 33 +CONTROL "Nu mai afișa acest mesaj", IDC_SHOWWARNINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END
[ros-diffs] [reactos] 01/01: [CONTRIBUTING] Add a notice for how to set your real name/mail (#1197)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a825774096fb0f9eb50cf3718d19a85eba982109 commit a825774096fb0f9eb50cf3718d19a85eba982109 Author: Bișoc George AuthorDate: Mon Dec 31 21:31:32 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Dec 31 21:31:32 2018 +0100 [CONTRIBUTING] Add a notice for how to set your real name/mail (#1197) Instead of posting the links each time, they'll be posted on README for future notice. --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e9033d2971..fc1f21b188 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -71,6 +71,8 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or - *Respect our __[Coding Style]__ and __[Programming Guidelines]__.* - *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel. +To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically). + ## Where To Start? Finding a good project to start with can be a challenge, because when starting out you are (usually) not aware of all the possibilities. To help you find a project, here are some ideas to try:
[ros-diffs] [reactos] 01/01: [APPWIZ] Do not hardcode the strings (#1208)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=96228ccc0ae6ea19f7453f8329fb6f5968579b7a commit 96228ccc0ae6ea19f7453f8329fb6f5968579b7a Author: Bișoc George AuthorDate: Mon Dec 31 08:42:53 2018 +0100 Commit: Katayama Hirofumi MZ CommitDate: Mon Dec 31 16:42:53 2018 +0900 [APPWIZ] Do not hardcode the strings (#1208) Let's make those message strings translatable. --- dll/cpl/appwiz/createlink.c | 10 +++--- dll/cpl/appwiz/lang/bg-BG.rc | 3 +++ dll/cpl/appwiz/lang/cs-CZ.rc | 3 +++ dll/cpl/appwiz/lang/de-DE.rc | 3 +++ dll/cpl/appwiz/lang/el-GR.rc | 3 +++ dll/cpl/appwiz/lang/en-US.rc | 3 +++ dll/cpl/appwiz/lang/es-ES.rc | 3 +++ dll/cpl/appwiz/lang/et-EE.rc | 3 +++ dll/cpl/appwiz/lang/fr-FR.rc | 3 +++ dll/cpl/appwiz/lang/he-IL.rc | 3 +++ dll/cpl/appwiz/lang/it-IT.rc | 3 +++ dll/cpl/appwiz/lang/ja-JP.rc | 3 +++ dll/cpl/appwiz/lang/no-NO.rc | 3 +++ dll/cpl/appwiz/lang/pl-PL.rc | 3 +++ dll/cpl/appwiz/lang/pt-BR.rc | 3 +++ dll/cpl/appwiz/lang/ro-RO.rc | 3 +++ dll/cpl/appwiz/lang/ru-RU.rc | 3 +++ dll/cpl/appwiz/lang/sk-SK.rc | 3 +++ dll/cpl/appwiz/lang/sq-AL.rc | 3 +++ dll/cpl/appwiz/lang/tr-TR.rc | 3 +++ dll/cpl/appwiz/lang/uk-UA.rc | 3 +++ dll/cpl/appwiz/lang/zh-CN.rc | 3 +++ dll/cpl/appwiz/lang/zh-TW.rc | 3 +++ dll/cpl/appwiz/resource.h| 3 +++ 24 files changed, 76 insertions(+), 3 deletions(-) diff --git a/dll/cpl/appwiz/createlink.c b/dll/cpl/appwiz/createlink.c index 5f70b4641f..a35e915f03 100644 --- a/dll/cpl/appwiz/createlink.c +++ b/dll/cpl/appwiz/createlink.c @@ -408,12 +408,14 @@ ShowCreateShortcutWizard(HWND hwndCPl, LPWSTR szPath) UINT nLength; DWORD attrs; PCREATE_LINK_CONTEXT pContext; +WCHAR szMessage[128]; pContext = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pContext)); if (!pContext) { /* no memory */ -MessageBoxA(hwndCPl, "Out of memory!", NULL, MB_ICONERROR); +LoadStringW(hApplet, IDS_NO_MEMORY, szMessage, _countof(szMessage)); +MessageBoxW(hwndCPl, szMessage, NULL, MB_ICONERROR); return FALSE; } @@ -423,7 +425,8 @@ ShowCreateShortcutWizard(HWND hwndCPl, LPWSTR szPath) HeapFree(GetProcessHeap(), 0, pContext); /* no directory given */ -MessageBoxA(hwndCPl, "No directory given!", NULL, MB_ICONERROR); +LoadStringW(hApplet, IDS_NO_DIRECTORY, szMessage, _countof(szMessage)); +MessageBoxW(hwndCPl, szMessage, NULL, MB_ICONERROR); return FALSE; } @@ -433,7 +436,8 @@ ShowCreateShortcutWizard(HWND hwndCPl, LPWSTR szPath) HeapFree(GetProcessHeap(), 0, pContext); /* invalid path */ -MessageBoxA(hwndCPl, "Invalid path!", NULL, MB_ICONERROR); +LoadStringW(hApplet, IDS_INVALID_PATH, szMessage, _countof(szMessage)); +MessageBoxW(hwndCPl, szMessage, NULL, MB_ICONERROR); return FALSE; } diff --git a/dll/cpl/appwiz/lang/bg-BG.rc b/dll/cpl/appwiz/lang/bg-BG.rc index 06c00ea539..4198ecd387 100644 --- a/dll/cpl/appwiz/lang/bg-BG.rc +++ b/dll/cpl/appwiz/lang/bg-BG.rc @@ -82,4 +82,7 @@ BEGIN IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." +IDS_NO_MEMORY "No memory could be allocated!" +IDS_NO_DIRECTORY "No directory given!" +IDS_INVALID_PATH "The given path is invalid!" END diff --git a/dll/cpl/appwiz/lang/cs-CZ.rc b/dll/cpl/appwiz/lang/cs-CZ.rc index f680584e0a..4d0157bc21 100644 --- a/dll/cpl/appwiz/lang/cs-CZ.rc +++ b/dll/cpl/appwiz/lang/cs-CZ.rc @@ -87,4 +87,7 @@ BEGIN IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." +IDS_NO_MEMORY "No memory could be allocated!" +IDS_NO_DIRECTORY "No directory given!" +IDS_INVALID_PATH "The given path is invalid!" END diff --git a/dll/cpl/appwiz/lang/de-DE.rc b/dll/cpl/appwiz/lang/de-DE.rc index af95ea7a34..29f55f9f69 100644 --- a/dll/cpl/appwiz/lang/de-DE.rc +++ b/dll/cpl/appwiz/lang/de-DE.rc @@ -82,4 +82,7 @@ BEGIN IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." +IDS_NO_MEMORY "No memory could be allocated!" +IDS_NO
[ros-diffs] [reactos] 01/01: [OSK] Add missing welcome box resource for Estonian (#1181)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d6141954f20dee7d8360b1ee328a06ed229cd5e2 commit d6141954f20dee7d8360b1ee328a06ed229cd5e2 Author: Bișoc George AuthorDate: Sun Dec 23 20:46:36 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Dec 23 20:46:36 2018 +0100 [OSK] Add missing welcome box resource for Estonian (#1181) --- base/applications/osk/lang/et-EE.rc | 12 1 file changed, 12 insertions(+) diff --git a/base/applications/osk/lang/et-EE.rc b/base/applications/osk/lang/et-EE.rc index d1f770b90b..4284c6b603 100644 --- a/base/applications/osk/lang/et-EE.rc +++ b/base/applications/osk/lang/et-EE.rc @@ -126,4 +126,16 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,443,15,4,3 END +IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "On-Screen Keyboard" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 +ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 +LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 +CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", +BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 +END + /* EOF */
[ros-diffs] [reactos] 01/01: [OSK] Display the correct icon of the application. (#1105)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=42ddd011ce7d6dad470484bc8a0a579f60219e4a commit 42ddd011ce7d6dad470484bc8a0a579f60219e4a Author: Bișoc George AuthorDate: Sun Dec 9 20:13:17 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Dec 9 20:13:17 2018 +0100 [OSK] Display the correct icon of the application. (#1105) --- base/applications/osk/main.c | 29 + 1 file changed, 29 insertions(+) diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index 6c1793353c..7f5a5e9869 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -58,6 +58,32 @@ int OSK_SetImage(int IdDlgItem, int IdResource) return TRUE; } +/*** + * + * OSK_SetAppIcon + * + * Set the application's icon + */ +BOOL OSK_SetAppIcon() +{ +HICON hIconSmall; + +/* Load the icon */ +hIconSmall = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_OSK), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE); + +/* Send a message window indicating that the icon has to be set */ +SendMessageW(Globals.hMainWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall); + +if (!hIconSmall) +{ +/* If we fail then return FALSE and bail out */ +DestroyIcon(hIconSmall); +return FALSE; +} + +return TRUE; +} + /*** * * OSK_WarningProc @@ -119,6 +145,9 @@ int OSK_DlgInitDialog(HWND hDlg) /* Load the settings from the registry hive */ LoadDataFromRegistry(); +/* Set the application's icon */ +OSK_SetAppIcon(); + /* Get screen info */ memset(, 0, sizeof(Pt)); monitor = MonitorFromPoint(Pt, MONITOR_DEFAULTTOPRIMARY );
[ros-diffs] [reactos] 01/01: [OSK] Add the minimize button (#1102)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3493992e7a91f4dd4dbe757810ca02df9c760531 commit 3493992e7a91f4dd4dbe757810ca02df9c760531 Author: Bișoc George AuthorDate: Sat Dec 8 23:44:42 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Dec 8 23:44:42 2018 +0100 [OSK] Add the minimize button (#1102) --- base/applications/osk/lang/ar-DZ.rc | 3 ++- base/applications/osk/lang/cs-CZ.rc | 3 ++- base/applications/osk/lang/de-DE.rc | 3 ++- base/applications/osk/lang/en-GB.rc | 3 ++- base/applications/osk/lang/en-US.rc | 3 ++- base/applications/osk/lang/es-ES.rc | 3 ++- base/applications/osk/lang/et-EE.rc | 3 ++- base/applications/osk/lang/fr-CA.rc | 3 ++- base/applications/osk/lang/fr-FR.rc | 3 ++- base/applications/osk/lang/he-IL.rc | 3 ++- base/applications/osk/lang/it-IT.rc | 3 ++- base/applications/osk/lang/pl-PL.rc | 3 ++- base/applications/osk/lang/ro-RO.rc | 3 ++- base/applications/osk/lang/ru-RU.rc | 3 ++- base/applications/osk/lang/tr-TR.rc | 3 ++- base/applications/osk/lang/zh-CN.rc | 3 ++- base/applications/osk/lang/zh-TW.rc | 3 ++- 17 files changed, 34 insertions(+), 17 deletions(-) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index 3fc9a277c2..c11d82844b 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -11,7 +11,8 @@ LANGUAGE LANG_ARABIC, SUBLANG_DEFAULT MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "On screen keyboard" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN PUSHBUTTON "Esc",SCAN_CODE_110,3,3,23,22 PUSHBUTTON "F1",SCAN_CODE_112,48,3,23,22 diff --git a/base/applications/osk/lang/cs-CZ.rc b/base/applications/osk/lang/cs-CZ.rc index f3d03f7d5b..316efe7de7 100644 --- a/base/applications/osk/lang/cs-CZ.rc +++ b/base/applications/osk/lang/cs-CZ.rc @@ -11,7 +11,8 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "Klávesnice na obrazovce" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN PUSHBUTTON "Esc",SCAN_CODE_110,3,3,23,22 PUSHBUTTON "F1",SCAN_CODE_112,48,3,23,22 diff --git a/base/applications/osk/lang/de-DE.rc b/base/applications/osk/lang/de-DE.rc index 02f714ec32..f3faa31e19 100644 --- a/base/applications/osk/lang/de-DE.rc +++ b/base/applications/osk/lang/de-DE.rc @@ -11,7 +11,8 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "Bildschirmtastatur" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN PUSHBUTTON "Esc",SCAN_CODE_110,3,3,23,22 PUSHBUTTON "F1",SCAN_CODE_112,48,3,23,22 diff --git a/base/applications/osk/lang/en-GB.rc b/base/applications/osk/lang/en-GB.rc index 03572dd06c..01d02c599b 100644 --- a/base/applications/osk/lang/en-GB.rc +++ b/base/applications/osk/lang/en-GB.rc @@ -11,7 +11,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "On screen keyboard" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN PUSHBUTTON "Ech",SCAN_CODE_110,3,3,23,22 PUSHBUTTON "F1",SCAN_CODE_112,48,3,23,22 diff --git a/base/applications/osk/lang/en-US.rc b/base/applications/osk/lang/en-US.rc index 890894b09f..c9dacb2b10 100644 --- a/base/applications/osk/lang/en-US.rc +++ b/base/applications/osk/lang/en-US.rc @@ -11,7 +11,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 463, 115 CAPTION "On screen keyboard" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU | WS_MINIMIZEBOX +EXSTYLE WS_EX_TOPMOST | WS_EX_NOACTIVATE | WS_EX_APPWINDOW BEGIN PUSHBUTTON "Esc",SCAN_CODE_110,3,3,15,15 PUSHBUTTON "F1",SCAN_CODE_112,43,3,15,15 diff --git a/base/applications/osk/lang/es-ES.rc b/base/applications/osk/lang/es-ES.rc index aa8c6a3e0c..f7f138e47a 100644 --- a/base/applications/osk/lang/es-ES.rc +++ b/base/applications/osk/lang/es-ES.rc @@ -12,7 +12,8 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 CAPTION "Teclado en pantalla" FONT 8, "MS Shell Dlg" -EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE +STYLE WS_SYSMENU
[ros-diffs] 01/01: [OSK] Implement the welcome box (#1007)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=34c812365f81686c99f0c2ad2602da712617183e commit 34c812365f81686c99f0c2ad2602da712617183e Author: Bișoc George AuthorDate: Sat Nov 17 21:27:33 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Nov 17 21:27:33 2018 +0100 [OSK] Implement the welcome box (#1007) In Windows XP, both in On-Screen Keyboard and in Magnify there is a welcome box which is shown upon startup of the application. This feature is already implemented for Magnify in ReactOS which however in On-Screen Keyboard is still unimplemented. --- base/applications/osk/CMakeLists.txt | 2 +- base/applications/osk/lang/ar-DZ.rc | 12 base/applications/osk/lang/cs-CZ.rc | 12 base/applications/osk/lang/de-DE.rc | 12 base/applications/osk/lang/en-GB.rc | 12 base/applications/osk/lang/en-US.rc | 12 base/applications/osk/lang/es-ES.rc | 12 base/applications/osk/lang/fr-CA.rc | 12 base/applications/osk/lang/fr-FR.rc | 12 base/applications/osk/lang/he-IL.rc | 12 base/applications/osk/lang/it-IT.rc | 12 base/applications/osk/lang/pl-PL.rc | 12 base/applications/osk/lang/ro-RO.rc | 12 base/applications/osk/lang/ru-RU.rc | 12 base/applications/osk/lang/tr-TR.rc | 12 base/applications/osk/lang/zh-CN.rc | 12 base/applications/osk/lang/zh-TW.rc | 12 base/applications/osk/main.c | 54 ++ base/applications/osk/main.h | 1 + base/applications/osk/osk_res.h | 3 + base/applications/osk/settings.c | 104 +++ base/applications/osk/settings.h | 15 + 22 files changed, 370 insertions(+), 1 deletion(-) diff --git a/base/applications/osk/CMakeLists.txt b/base/applications/osk/CMakeLists.txt index a6451ea227..51ff4f3a42 100644 --- a/base/applications/osk/CMakeLists.txt +++ b/base/applications/osk/CMakeLists.txt @@ -1,7 +1,7 @@ file(GLOB osk_rc_deps res/*.*) add_rc_deps(rsrc.rc ${osk_rc_deps}) -add_executable(osk main.c rsrc.rc) +add_executable(osk main.c settings.c rsrc.rc) set_module_type(osk win32gui UNICODE) add_importlibs(osk comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32) add_cd_file(TARGET osk DESTINATION reactos/system32 FOR all) diff --git a/base/applications/osk/lang/ar-DZ.rc b/base/applications/osk/lang/ar-DZ.rc index fa99defaaa..3fc9a277c2 100644 --- a/base/applications/osk/lang/ar-DZ.rc +++ b/base/applications/osk/lang/ar-DZ.rc @@ -125,4 +125,16 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "On-Screen Keyboard" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 +ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 +LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 +CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", +BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 +END + /* EOF */ diff --git a/base/applications/osk/lang/cs-CZ.rc b/base/applications/osk/lang/cs-CZ.rc index 7361e3cbaa..f3d03f7d5b 100644 --- a/base/applications/osk/lang/cs-CZ.rc +++ b/base/applications/osk/lang/cs-CZ.rc @@ -125,4 +125,16 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "On-Screen Keyboard" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN +DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 +ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 +LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 +CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", +BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 +END + /* EOF */ diff --git a/base/applications/osk/lang/de-DE.rc b/base/applications/osk/lang/de-DE.rc index 704dfedabf..02f714ec32 100644 --- a/base/applications/osk/lang/de-DE.rc +++ b/base/applications/osk/lang/de-DE.rc @@ -126,4 +126,16 @@ BEGIN CONTROL "",IDC_LED_SCROLL,"Static",SS_CENTER|SS_NOTIFY,580,16,4,3 END +IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "On-Screen Keyboard" +FONT 8, "MS
[ros-diffs] 01/01: [CHKDSK] Implement translation files for Romanian & Italian (#961)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cfff74daed2aab0705f1d5c8fb7d3c40c9f8f38e commit cfff74daed2aab0705f1d5c8fb7d3c40c9f8f38e Author: Bișoc George AuthorDate: Sat Nov 17 15:16:36 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Nov 17 15:16:36 2018 +0100 [CHKDSK] Implement translation files for Romanian & Italian (#961) --- base/system/chkdsk/chkdsk.rc | 6 ++ base/system/chkdsk/lang/it-IT.rc | 38 ++ base/system/chkdsk/lang/ro-RO.rc | 38 ++ 3 files changed, 82 insertions(+) diff --git a/base/system/chkdsk/chkdsk.rc b/base/system/chkdsk/chkdsk.rc index c3154e36d4..00a5373b53 100644 --- a/base/system/chkdsk/chkdsk.rc +++ b/base/system/chkdsk/chkdsk.rc @@ -16,9 +16,15 @@ #ifdef LANGUAGE_FR_FR #include "lang/fr-FR.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif +#ifdef LANGUAGE_RO_RO +#include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_RU_RU #include "lang/ru-RU.rc" #endif diff --git a/base/system/chkdsk/lang/it-IT.rc b/base/system/chkdsk/lang/it-IT.rc new file mode 100644 index 00..e49a092592 --- /dev/null +++ b/base/system/chkdsk/lang/it-IT.rc @@ -0,0 +1,38 @@ +/* + * PROJECT: Check Disk utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "\n\ +Uso: %s [drive:] [-F] [-V] [-R] [-C] \n\n\ +[drive:]Specifica un disco per il controllo.\n\ +-F Risolvi gli errori del disco.\n\ +-V Visualizza il percorso del file di ogni file del disco.\n\ +-R Trova i settori danneggiati e recupera le informazioni leggibili.\n\ +-C Controlla il drive solamente se è sporco.\n\ +\n" + +IDS_PERCENT_COMPL "%d percentuale completato.\r" +IDS_FILE_SYSTEM "Il tipo del file di sistema è %s.\n" +IDS_ABOUT "\n\ +Chkdskx v1.0.1 di Mark Russinovich\n\ +Systems Internals - http://www.sysinternals.com\n\ +Adattazione ReactOS nel 1999 di Emanuele Aliberti\n\n" +END + +STRINGTABLE +BEGIN +IDS_VOLUME_IN_USE "Il volume è in uso e non può essere bloccato\n" +IDS_CHKDSK_FAIL "Chkdsk non era in grado di finire con successo.\n\n" +IDS_NO_ENTRY_POINT "Impossibile trovare i punti d'ingresso FMIFS.\n\n" +IDS_BAD_ARGUMENT "Argomento sconosciuto: %s\n" +IDS_NO_CURRENT_DIR "Impossibile ottenre la cartella corrente. Codice errore: " +IDS_NO_QUERY_VOL "Impossibile interrogare il volume. Codice errore: " +IDS_VOLUME_IN_USE_PROC "Impossibile l'esecuzione del Chkdsk perché il volume è in uso da un altro processo.\n\n" +END diff --git a/base/system/chkdsk/lang/ro-RO.rc b/base/system/chkdsk/lang/ro-RO.rc new file mode 100644 index 00..6f3cb9cfba --- /dev/null +++ b/base/system/chkdsk/lang/ro-RO.rc @@ -0,0 +1,38 @@ +/* + * PROJECT: Check Disk utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Romanian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "\n\ +Uz: %s [drive:] [-F] [-V] [-R] [-C] \n\n\ +[drive:]Specifică unitatea de stocare pentru control.\n\ +-F Rezolvă erorile discului.\n\ +-V Vizualizează calea tuturor fișierelor de pe disc.\n\ +-R Găsește sectoarele defecte și recuperează informațiile care pot fi citite.\n\ +-C Controlează unitatea de stocare doar dacă este necesar.\n\ +\n" + +IDS_PERCENT_COMPL "%d completat.\r" +IDS_FILE_SYSTEM "Tipul sistemului de fișier este %s.\n" +IDS_ABOUT "\n\ +Chkdskx v1.0.1 de către Mark Russinovich\n\ +Systems Internals - http://www.sysinternals.com\n\ +Adaptarea pentru ReactOS din 1999 de către Emanuele Aliberti\n\n" +END + +STRINGTABLE +BEGIN +IDS_VOLUME_IN_USE "Volumul este în uz și nu poate fi blocat\n" +IDS_CHKDSK_FAIL "Operația programului Chkdsk a eșuat.\n\n" +IDS_NO_ENTRY_POINT "Nu s-au putut găsi punctele de intrare FMIFS.\n\n" +IDS_BAD_ARGUMENT "Argument necunoscut: %s\n" +IDS_NO_CURRENT_DIR "Nu s-a putut găsi directorul respectiv. Cod de eroare: " +IDS_NO_QUERY_VOL "Nu s-a putut interoga volumul. Cod de eroare: " +IDS_VOLUME_IN_USE_PROC "Execuția Chkdsk a eșuat pentru că volumul este folosit de către un alt proces.\n\n" +END
[ros-diffs] 01/01: [SHELL32] Print out the error code (#973)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c00bafaad97edc72e15c38b30b722649b81896eb commit c00bafaad97edc72e15c38b30b722649b81896eb Author: Bișoc George AuthorDate: Fri Nov 16 23:09:15 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Nov 16 23:09:15 2018 +0100 [SHELL32] Print out the error code (#973) When SearchPathW, GetFullPathNameW and PathFileExistsW fail, output the error code. --- dll/win32/shell32/CShellLink.cpp | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dll/win32/shell32/CShellLink.cpp b/dll/win32/shell32/CShellLink.cpp index fa1adab35f..7b402eb186 100644 --- a/dll/win32/shell32/CShellLink.cpp +++ b/dll/win32/shell32/CShellLink.cpp @@ -2213,7 +2213,7 @@ static BOOL HACKISH_PathResolve( _countof(szPath), szPath, NULL) != 0); if (!Success) { -ERR("SearchPathW(pszPath = '%S') failed\n", pszPath); +ERR("SearchPathW(pszPath = '%S') failed. Error code: %lu\n", pszPath, GetLastError()); } else { @@ -2224,7 +2224,7 @@ static BOOL HACKISH_PathResolve( if (!Success) { -ERR("SearchPathW(pszPath = '%S') failed\n", pszPath); +ERR("SearchPathW(pszPath = '%S') failed. Error code: %lu\n", pszPath, GetLastError()); /* We failed, try with PathFindOnPath, as explained by MSDN */ // Success = PathFindOnPathW(pszPath, dirs); @@ -2237,13 +2237,13 @@ static BOOL HACKISH_PathResolve( /* We failed again, fall back to building a possible non-existing path */ if (!GetFullPathNameW(pszPath, _countof(szPath), szPath, )) { -ERR("GetFullPathNameW(pszPath = '%S') failed\n", pszPath); +ERR("GetFullPathNameW(pszPath = '%S') failed. Error code: %lu\n", pszPath, GetLastError()); return FALSE; } Success = PathFileExistsW(szPath); if (!Success) -ERR("PathFileExistsW(szPath = '%S') failed\n", szPath); +ERR("PathFileExistsW(szPath = '%S') failed. Error code: %lu\n", szPath, GetLastError()); /**/ /* Question: Why this line is needed only for files?? */
[ros-diffs] 01/01: Update the release info
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=501145e27b85a25ab1390b0507d3e5e347407a88 commit 501145e27b85a25ab1390b0507d3e5e347407a88 Author: Bișoc George AuthorDate: Sat Nov 10 15:48:11 2018 +0100 Commit: Pierre Schweitzer CommitDate: Sat Nov 10 15:53:14 2018 +0100 Update the release info --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 199ce9029d..5fec87b8c0 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ --- - https://reactos.org/project-news/reactos-049-released;> -https://img.shields.io/badge/release-0.4.9-0688CB.svg;> + https://reactos.org/project-news/reactos-0410-released;> +https://img.shields.io/badge/release-0.4.10-0688CB.svg;> https://reactos.org/download;> https://img.shields.io/badge/download-latest-0688CB.svg;>
[ros-diffs] 02/02: [USETUP] Remove the PARTITION_EXT2 constant and use PARTITION_LINUX in favour since PARTITION_EXT2 is just an alias to PARTITION_LINUX
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4c6370de16611a4361453556dca394596a775e1d commit 4c6370de16611a4361453556dca394596a775e1d Author: Bișoc George AuthorDate: Sun Oct 28 13:28:56 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Nov 7 23:16:29 2018 +0100 [USETUP] Remove the PARTITION_EXT2 constant and use PARTITION_LINUX in favour since PARTITION_EXT2 is just an alias to PARTITION_LINUX And since we're here, add PARTITION_LINUX_EXT to ReactOS I/O controls header (rosioctl.h). --- base/setup/lib/fsutil.c | 4 ++-- base/setup/lib/utils/partlist.c | 3 +-- base/system/diskpart/partlist.c | 4 ++-- sdk/include/reactos/rosioctl.h | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/base/setup/lib/fsutil.c b/base/setup/lib/fsutil.c index 2fb61bf0ea..e561806b83 100644 --- a/base/setup/lib/fsutil.c +++ b/base/setup/lib/fsutil.c @@ -221,7 +221,7 @@ GetFileSystem( else FileSystemName = NULL; } -else if (PartEntry->PartitionType == PARTITION_EXT2) +else if (PartEntry->PartitionType == PARTITION_LINUX) { if (CheckExt2Format()) FileSystemName = L"EXT2"; @@ -386,7 +386,7 @@ PreparePartitionForFormatting( #if 0 else if (wcscmp(FileSystem->FileSystemName, L"EXT2") == 0) { -SetPartitionType(PartEntry, PARTITION_EXT2); +SetPartitionType(PartEntry, PARTITION_LINUX); } else if (wcscmp(FileSystem->FileSystemName, L"NTFS") == 0) { diff --git a/base/setup/lib/utils/partlist.c b/base/setup/lib/utils/partlist.c index 4047bc1ff9..7145b2f10d 100644 --- a/base/setup/lib/utils/partlist.c +++ b/base/setup/lib/utils/partlist.c @@ -2969,8 +2969,7 @@ CheckActiveSystemPartition( } // HACK: WARNING: We cannot write on this FS yet! // See fsutil.c:GetFileSystem() -if (List->OriginalSystemPartition->PartitionType == PARTITION_EXT2 || -List->OriginalSystemPartition->PartitionType == PARTITION_IFS) +if (List->OriginalSystemPartition->PartitionType == PARTITION_IFS) { DPRINT1("Recognized file system %S that doesn't support write support yet!\n", FileSystem->FileSystemName); diff --git a/base/system/diskpart/partlist.c b/base/system/diskpart/partlist.c index 0fd99eabda..6202eb0439 100644 --- a/base/system/diskpart/partlist.c +++ b/base/system/diskpart/partlist.c @@ -33,7 +33,7 @@ } /* We have to define it there, because it is not in the MS DDK */ -#define PARTITION_EXT2 0x83 +#define PARTITION_LINUX 0x83 #define PARTITION_TBL_SIZE 4 @@ -451,7 +451,7 @@ AddPartitionToDisk( #endif PartEntry->FormatState = Preformatted; } -else if (PartEntry->PartitionType == PARTITION_EXT2) +else if (PartEntry->PartitionType == PARTITION_LINUX) { #if 0 if (CheckExt2Format()) diff --git a/sdk/include/reactos/rosioctl.h b/sdk/include/reactos/rosioctl.h index 9c017c6621..9c8397a174 100644 --- a/sdk/include/reactos/rosioctl.h +++ b/sdk/include/reactos/rosioctl.h @@ -14,7 +14,7 @@ #define PARTITION_OS2BOOTMGR 0x0A // OS/2 Boot Manager/OPUS/Coherent swap #define PARTITION_LINUX_SWAP 0x82 // Linux Swap Partition #define PARTITION_LINUX 0x83 // Linux Partition Ext2/Ext3/Ext4 -#define PARTITION_EXT2PARTITION_LINUX // some apps use this identifier +#define PARTITION_LINUX_EXT 0x85 // Linux Extended Partition #define PARTITION_LINUX_LVM 0x8E #endif /* __ROSIOCTL_H */
[ros-diffs] 01/02: [USETUP] When choosing BTRFS for the partition, don't think of it as Ext2 but just a Linux partition
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=538f9d6aaec36378fb8eee8b35cab07a6ab390c8 commit 538f9d6aaec36378fb8eee8b35cab07a6ab390c8 Author: Bișoc George AuthorDate: Fri Oct 19 20:07:44 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Nov 7 23:16:29 2018 +0100 [USETUP] When choosing BTRFS for the partition, don't think of it as Ext2 but just a Linux partition Most of Linux filesystems have the MBR ID assigned as 0x83 and when the user chooses BTRFS upon partitions page wizard, we're thinking of the partition as having Ext2 filesystem which is wrong and misleading. --- base/setup/usetup/usetup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c index 975c45f5ea..ae5b86be94 100644 --- a/base/setup/usetup/usetup.c +++ b/base/setup/usetup/usetup.c @@ -3886,10 +3886,10 @@ BootLoaderPage(PINPUT_RECORD Ir) DPRINT("Found OS/2 boot manager partition\n"); InstallOnFloppy = TRUE; } -else if (PartitionType == PARTITION_EXT2) +else if (PartitionType == PARTITION_LINUX) { -/* Linux EXT2 partition */ -DPRINT("Found Linux EXT2 partition\n"); +/* Linux partition */ +DPRINT("Found Linux native partition (ext2/ext3/ReiserFS/BTRFS/etc)\n"); InstallOnFloppy = FALSE; } else if (PartitionType == PARTITION_IFS)
[ros-diffs] 01/01: [USRMGR] Fix a truncated text on French resource
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0c88f79480d28bc65b757ae514a7cc1458ec6dd1 commit 0c88f79480d28bc65b757ae514a7cc1458ec6dd1 Author: Bișoc George AuthorDate: Sun Oct 28 18:56:45 2018 +0100 Commit: Pierre Schweitzer CommitDate: Sun Oct 28 19:30:17 2018 +0100 [USRMGR] Fix a truncated text on French resource CORE-15267 --- dll/cpl/usrmgr/lang/fr-FR.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dll/cpl/usrmgr/lang/fr-FR.rc b/dll/cpl/usrmgr/lang/fr-FR.rc index 8efd002883..f95042f2ab 100644 --- a/dll/cpl/usrmgr/lang/fr-FR.rc +++ b/dll/cpl/usrmgr/lang/fr-FR.rc @@ -128,7 +128,7 @@ BEGIN RTEXT "Mot de passe :", -1, 7, 70, 96, 8 EDITTEXT IDC_USER_NEW_PASSWORD2, 107, 85, 153, 14, ES_AUTOHSCROLL | ES_PASSWORD RTEXT "Répéter le mot de passe :", -1, 7, 88, 96, 8 -AUTOCHECKBOX "L'utilisateur doit changer son mot de passe après sa première connexion", IDC_USER_NEW_FORCE_CHANGE, 7, 109, 200, 10 +AUTOCHECKBOX "L'utilisateur doit changer son mot de passe après sa première connexion", IDC_USER_NEW_FORCE_CHANGE, 7, 109, 245, 10 AUTOCHECKBOX "L'utilisateur ne peut pas changer le mot de passe", IDC_USER_NEW_CANNOT_CHANGE, 7, 123, 200, 10, WS_DISABLED AUTOCHECKBOX "Le mot de passe n'expire jamais", IDC_USER_NEW_NEVER_EXPIRES, 7, 137, 200, 10, WS_DISABLED AUTOCHECKBOX "Compte désactivé", IDC_USER_NEW_DISABLED, 7, 151, 200, 10
[ros-diffs] 01/01: [USETUP] Fix a broken character in Italian resource (#968)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0e41230dac43640f476c2e38b5accd22669fb5e1 commit 0e41230dac43640f476c2e38b5accd22669fb5e1 Author: Bișoc George AuthorDate: Tue Oct 23 17:41:38 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Tue Oct 23 17:41:38 2018 +0200 [USETUP] Fix a broken character in Italian resource (#968) Also add two spaces at the beginning of the "deleting cache" string. --- base/setup/usetup/lang/it-IT.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/setup/usetup/lang/it-IT.h b/base/setup/usetup/lang/it-IT.h index 691830a939..5ac3a4c8b7 100644 --- a/base/setup/usetup/lang/it-IT.h +++ b/base/setup/usetup/lang/it-IT.h @@ -561,7 +561,7 @@ static MUI_ENTRY itITFlushPageEntries[] = { 0, 0, -"Svuotamento della cache in corso", +" Svuotamento della cache in corso", TEXT_TYPE_STATUS }, { @@ -1785,7 +1785,7 @@ MUI_STRING itITStrings[] = {STRING_REBOOTCOMPUTER2, " INVIO = Riavvia il computer"}, {STRING_REBOOTPROGRESSBAR, -" Il computer si riavvierà in %li secondi... "}, +" Il computer si riavvier\x85 in %li secondi... "}, {STRING_CONSOLEFAIL1, "Impossibile aprire la console\r\n\r\n"}, {STRING_CONSOLEFAIL2,
[ros-diffs] 01/01: [APPWIZ] Do not display the message box if the user aborts the download
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f31cf503fb5450dd6063571412374a22754e0ca2 commit f31cf503fb5450dd6063571412374a22754e0ca2 Author: Bișoc George AuthorDate: Sun Oct 14 16:07:51 2018 +0200 Commit: Mark Jansen CommitDate: Sun Oct 21 13:10:12 2018 +0200 [APPWIZ] Do not display the message box if the user aborts the download CORE-15183 --- dll/cpl/appwiz/addons.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dll/cpl/appwiz/addons.c b/dll/cpl/appwiz/addons.c index c2fb28d2ad..238348d0dc 100644 --- a/dll/cpl/appwiz/addons.c +++ b/dll/cpl/appwiz/addons.c @@ -362,10 +362,15 @@ static DWORD WINAPI download_proc(PVOID arg) hres = URLDownloadToFileW(NULL, GeckoUrl, tmp_file, 0, ); if(FAILED(hres)) { -ERR("URLDownloadToFile failed: %08x\n", hres); if (LoadStringW(hApplet, IDS_DWL_FAILED, message, sizeof(message) / sizeof(WCHAR))) { -MessageBoxW(NULL, message, NULL, MB_ICONERROR); +/* If the user aborted the download, DO NOT display the message box */ +if (hres == E_ABORT) { +TRACE("Downloading of Gecko package aborted!\n"); +} else { +MessageBoxW(NULL, message, NULL, MB_ICONERROR); +} } +ERR("URLDownloadToFile failed: %08x\n", hres); } else { if(sha_check(tmp_file)) { install_file(tmp_file);
[ros-diffs] 01/01: [CHKDSK] Implement localization support (#891)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8e48f8f2dd521a9e23ec6d9ed1c3d3abd8f19232 commit 8e48f8f2dd521a9e23ec6d9ed1c3d3abd8f19232 Author: Bișoc George AuthorDate: Sat Oct 20 21:21:51 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Oct 20 21:21:51 2018 +0200 [CHKDSK] Implement localization support (#891) - Make the strings translatable. - Include the English translation within the main resource file. - Use ConResPrintf() and ConResPuts() for resource strings. --- base/system/chkdsk/chkdsk.c | 40 base/system/chkdsk/chkdsk.rc | 9 + base/system/chkdsk/lang/en-US.rc | 31 +++ base/system/chkdsk/resource.h| 18 ++ 4 files changed, 74 insertions(+), 24 deletions(-) diff --git a/base/system/chkdsk/chkdsk.c b/base/system/chkdsk/chkdsk.c index 76dc975098..6fc25f7268 100644 --- a/base/system/chkdsk/chkdsk.c +++ b/base/system/chkdsk/chkdsk.c @@ -49,6 +49,9 @@ #include +/* Resource header */ +#include "resource.h" + #define NTOS_MODE_USER #include @@ -85,9 +88,9 @@ PCHKDSK Chkdsk; // Takes the win32 error code and prints the text version. // //-- -static VOID PrintWin32Error(LPWSTR Message, DWORD ErrorCode) +static VOID PrintWin32Error(int Message, DWORD ErrorCode) { -ConPrintf(StdErr, L"%s: ", Message); +ConResPuts(StdErr, Message); ConMsgPuts(StdErr, FORMAT_MESSAGE_FROM_SYSTEM, NULL, ErrorCode, LANG_USER_DEFAULT); ConPuts(StdErr, L"\n"); @@ -123,14 +126,7 @@ CtrlCIntercept(DWORD dwCtrlType) static VOID Usage(PWCHAR ProgramName) { -ConPrintf(StdOut, -L"Usage: %s [drive:] [-F] [-V] [-R] [-C]\n\n" -L"[drive:]Specifies the drive to check.\n" -L"-F Fixes errors on the disk.\n" -L"-V Displays the full path of every file on the disk.\n" -L"-R Locates bad sectors and recovers readable information.\n" -L"-C Checks the drive only if it is dirty.\n\n", -ProgramName); +ConResPrintf(StdOut, IDS_USAGE, ProgramName); } @@ -261,7 +257,7 @@ ChkdskCallback( break; case VOLUMEINUSE: -ConPuts(StdOut, L"Volume is in use and cannot be locked\n"); +ConResPuts(StdOut, IDS_VOLUME_IN_USE); Ret = FALSE; break; @@ -299,7 +295,7 @@ ChkdskCallback( case PROGRESS: percent = (PDWORD)Argument; -ConPrintf(StdOut, L"%d percent completed.\r", *percent); +ConResPrintf(StdOut, IDS_PERCENT_COMPL, *percent); break; case OUTPUT: @@ -311,7 +307,7 @@ ChkdskCallback( status = (PBOOLEAN)Argument; if (*status == FALSE) { -ConPuts(StdOut, L"Chkdsk was unable to complete successfully.\n\n"); +ConResPuts(StdOut, IDS_CHKDSK_FAIL); Error = TRUE; } break; @@ -371,11 +367,7 @@ wmain(int argc, WCHAR *argv[]) /* Initialize the Console Standard Streams */ ConInitStdStreams(); -ConPuts(StdOut, -L"\n" -L"Chkdskx v1.0.1 by Mark Russinovich\n" -L"Systems Internals - http://www.sysinternals.com\n; -L"ReactOS adaptation 1999 by Emanuele Aliberti\n\n"); +ConResPuts(StdOut, IDS_ABOUT); #ifndef FMIFS_IMPORT_DLL // @@ -383,7 +375,7 @@ wmain(int argc, WCHAR *argv[]) // if (!LoadFMIFSEntryPoints()) { -ConPuts(StdErr, L"Could not located FMIFS entry points.\n\n"); +ConResPuts(StdErr, IDS_NO_ENTRY_POINT); return -1; } #endif @@ -394,7 +386,7 @@ wmain(int argc, WCHAR *argv[]) badArg = ParseCommandLine(argc, argv); if (badArg) { -ConPrintf(StdOut, L"Unknown argument: %s\n", argv[badArg]); +ConResPrintf(StdOut, IDS_BAD_ARGUMENT, argv[badArg]); Usage(argv[0]); return -1; } @@ -406,7 +398,7 @@ wmain(int argc, WCHAR *argv[]) { if (!GetCurrentDirectoryW(ARRAYSIZE(CurrentDirectory), CurrentDirectory)) { -PrintWin32Error(L"Could not get current directory", GetLastError()); +PrintWin32Error(IDS_NO_CURRENT_DIR, GetLastError()); return -1; } } @@ -431,7 +423,7 @@ wmain(int argc, WCHAR *argv[]) fileSystem, ARRAYSIZE(fileSystem))) { -PrintWin32Error(L"Could not query volume", GetLastError()); +PrintWin32Error(IDS_NO_QUERY_VOL, GetLastError()); return -1; } @@ -450,7 +442,7 @@ wmain(int argc, WCHAR *argv[])
[ros-diffs] 01/01: [APPWIZ] Translation update for Romanian & Italian
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e9f993d1b8ae3433dc828fb5bf067b6e42ce7b22 commit e9f993d1b8ae3433dc828fb5bf067b6e42ce7b22 Author: Bișoc George AuthorDate: Thu Oct 11 16:50:31 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Oct 20 21:16:48 2018 +0200 [APPWIZ] Translation update for Romanian & Italian --- dll/cpl/appwiz/lang/it-IT.rc | 18 +- dll/cpl/appwiz/lang/ro-RO.rc | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dll/cpl/appwiz/lang/it-IT.rc b/dll/cpl/appwiz/lang/it-IT.rc index 3c886aed37..2bb3df36d5 100644 --- a/dll/cpl/appwiz/lang/it-IT.rc +++ b/dll/cpl/appwiz/lang/it-IT.rc @@ -21,7 +21,7 @@ END IDD_SHORTCUT_LOCATION DIALOGEX 0, 0, 340, 200 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Create Scociatoia" +CAPTION "Crea Collegamenti" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Questo wizard permette la creazione di collegamenti verso programmi locali o di rete, file, cartella, computer, o \nindirizzi Internet.", -1, 120, 15, 200, 30 @@ -43,14 +43,14 @@ END IDD_CONFIG_STARTMENU DIALOGEX 0, 0, 212, 200 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Remove Shortcuts/Folders" +CAPTION "Rimuovere Scorciatoie/Cartelle" FONT 8, "MS Shell Dlg" BEGIN -LTEXT " remove an item from the Start menu, select the item and click Remove.", -1, 10, 10, 192, 16 +LTEXT " rimuovere un elemento del menu di avvio, selezionalo e clicca Rimuovi.", -1, 10, 10, 192, 16 CONTROL "List1", IDC_STARTMENU_TREE, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 10, 32, 192, 138 -PUSHBUTTON "", IDC_REMOVE_ENTRIES, 98, 176, 50, 14, WS_GROUP | WS_TABSTOP -DEFPUSHBUTTON "Close", IDOK, 152, 176, 50, 14, WS_GROUP | WS_TABSTOP +PUSHBUTTON "", IDC_REMOVE_ENTRIES, 98, 176, 50, 14, WS_GROUP | WS_TABSTOP +DEFPUSHBUTTON "Chiudi", IDOK, 152, 176, 50, 14, WS_GROUP | WS_TABSTOP END ID_DWL_GECKO_DIALOG DIALOGEX 0, 0, 260, 95 @@ -78,8 +78,8 @@ BEGIN IDS_DOWNLOADING "Scaricando..." IDS_INSTALLING "Installando..." IDS_INVALID_SHA "Checksum imprevisto del file scaricato. Interruzione installazione del file danneggiato." -IDS_NEW_INTERNET_SHORTCUT "New Internet Shortcut" -IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." -IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." -IDS_CANTMAKESHORTCUT "Failed to create shortcut." +IDS_NEW_INTERNET_SHORTCUT "Nuovo Collegamento Internet" +IDS_DWL_FAILED "Lo scaricamento del pacchetto Gecko è fallito. Assicurati che hai una connessione internet per scaricarlo. Il setup procederà senza l'installazione del pacchetto Gecko." +IDS_CANTMAKEINETSHORTCUT "La creazione di un collegamento internet è fallita." +IDS_CANTMAKESHORTCUT "La creazione di un collegamento è fallita." END diff --git a/dll/cpl/appwiz/lang/ro-RO.rc b/dll/cpl/appwiz/lang/ro-RO.rc index 77fa5e2635..7410c99699 100644 --- a/dll/cpl/appwiz/lang/ro-RO.rc +++ b/dll/cpl/appwiz/lang/ro-RO.rc @@ -85,7 +85,7 @@ BEGIN IDS_INSTALLING "În curs de instalare…" IDS_INVALID_SHA "Suma de control a fișierului descărcat nu corespunde. Deoarece fișierul a fost corupt, instalarea trebuie abandonată." IDS_NEW_INTERNET_SHORTCUT "Creare scurtătură la Internet" -IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." +IDS_DWL_FAILED "Descărcarea pachetului Gecko a eșuat. Asigurați-vă că aveți conexiune la internet pentru a putea descărca. Asistentul va continua fără a instala pachetul Gecko." IDS_CANTMAKEINETSHORTCUT "Eșec în crearea scurtăturii la Internet." IDS_CANTMAKESHORTCUT "Eșec în crearea scurtăturii." END
[ros-diffs] 01/01: [APPWIZ] Display a message box in case of failure (#913)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cb499cd1fd700f311c391d2ca43bad8e35dd4fba commit cb499cd1fd700f311c391d2ca43bad8e35dd4fba Author: Bișoc George AuthorDate: Mon Oct 8 14:36:40 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Mon Oct 8 14:36:40 2018 +0200 [APPWIZ] Display a message box in case of failure (#913) When the downloading process of Gecko fails, display a warning message box. --- dll/cpl/appwiz/addons.c | 6 -- dll/cpl/appwiz/lang/bg-BG.rc | 1 + dll/cpl/appwiz/lang/cs-CZ.rc | 1 + dll/cpl/appwiz/lang/de-DE.rc | 1 + dll/cpl/appwiz/lang/el-GR.rc | 1 + dll/cpl/appwiz/lang/en-US.rc | 1 + dll/cpl/appwiz/lang/es-ES.rc | 1 + dll/cpl/appwiz/lang/et-EE.rc | 1 + dll/cpl/appwiz/lang/fr-FR.rc | 1 + dll/cpl/appwiz/lang/he-IL.rc | 1 + dll/cpl/appwiz/lang/it-IT.rc | 1 + dll/cpl/appwiz/lang/ja-JP.rc | 1 + dll/cpl/appwiz/lang/no-NO.rc | 1 + dll/cpl/appwiz/lang/pl-PL.rc | 1 + dll/cpl/appwiz/lang/pt-BR.rc | 1 + dll/cpl/appwiz/lang/ro-RO.rc | 1 + dll/cpl/appwiz/lang/ru-RU.rc | 1 + dll/cpl/appwiz/lang/sk-SK.rc | 1 + dll/cpl/appwiz/lang/sq-AL.rc | 1 + dll/cpl/appwiz/lang/tr-TR.rc | 1 + dll/cpl/appwiz/lang/uk-UA.rc | 1 + dll/cpl/appwiz/lang/zh-CN.rc | 1 + dll/cpl/appwiz/lang/zh-TW.rc | 1 + dll/cpl/appwiz/resource.h| 1 + 24 files changed, 27 insertions(+), 2 deletions(-) diff --git a/dll/cpl/appwiz/addons.c b/dll/cpl/appwiz/addons.c index beec6a799b..c2fb28d2ad 100644 --- a/dll/cpl/appwiz/addons.c +++ b/dll/cpl/appwiz/addons.c @@ -351,6 +351,7 @@ static IBindStatusCallback InstallCallback = { }; static DWORD WINAPI download_proc(PVOID arg) { +WCHAR message[256]; WCHAR tmp_dir[MAX_PATH], tmp_file[MAX_PATH]; HRESULT hres; @@ -362,12 +363,13 @@ static DWORD WINAPI download_proc(PVOID arg) hres = URLDownloadToFileW(NULL, GeckoUrl, tmp_file, 0, ); if(FAILED(hres)) { ERR("URLDownloadToFile failed: %08x\n", hres); +if (LoadStringW(hApplet, IDS_DWL_FAILED, message, sizeof(message) / sizeof(WCHAR))) { +MessageBoxW(NULL, message, NULL, MB_ICONERROR); +} } else { if(sha_check(tmp_file)) { install_file(tmp_file); }else { -WCHAR message[256]; - if(LoadStringW(hApplet, IDS_INVALID_SHA, message, sizeof(message)/sizeof(WCHAR))) { MessageBoxW(NULL, message, NULL, MB_ICONERROR); } diff --git a/dll/cpl/appwiz/lang/bg-BG.rc b/dll/cpl/appwiz/lang/bg-BG.rc index f1a883b21b..06c00ea539 100644 --- a/dll/cpl/appwiz/lang/bg-BG.rc +++ b/dll/cpl/appwiz/lang/bg-BG.rc @@ -79,6 +79,7 @@ BEGIN IDS_INSTALLING "Installing..." IDS_INVALID_SHA "Unexpected checksum of downloaded file. Aborting installation of corrupted file." IDS_NEW_INTERNET_SHORTCUT "New Internet Shortcut" +IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." END diff --git a/dll/cpl/appwiz/lang/cs-CZ.rc b/dll/cpl/appwiz/lang/cs-CZ.rc index 3b60b303ca..f680584e0a 100644 --- a/dll/cpl/appwiz/lang/cs-CZ.rc +++ b/dll/cpl/appwiz/lang/cs-CZ.rc @@ -84,6 +84,7 @@ BEGIN IDS_INSTALLING "Instalace..." IDS_INVALID_SHA "Stažený soubor má neplatný kontrolní součet. Instalace poškozeného souboru bude přerušena." IDS_NEW_INTERNET_SHORTCUT "New Internet Shortcut" +IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." END diff --git a/dll/cpl/appwiz/lang/de-DE.rc b/dll/cpl/appwiz/lang/de-DE.rc index 7dca52c8fa..af95ea7a34 100644 --- a/dll/cpl/appwiz/lang/de-DE.rc +++ b/dll/cpl/appwiz/lang/de-DE.rc @@ -79,6 +79,7 @@ BEGIN IDS_INSTALLING "Installiere..." IDS_INVALID_SHA "Die heruntergeladene Datei hat eine unerwartete Prüfsumme. Abbruch der Installation aufgrund beschädigter Datei." IDS_NEW_INTERNET_SHORTCUT "New Internet Shortcut" +IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." IDS_CANTMAKESHORTCUT "Failed to create shortcut." END diff --git a/dll/cpl/appwiz/lang/el-GR.rc b/dll/cpl/appwiz/lang/el-GR.rc index d747592d19..51b48c935a 100644 --- a/dll/cpl/appwiz/lang/el-GR.rc +++ b/dll/cpl/appwiz/lang/el-GR.rc @@ -79,6 +79,7 @@ BEGIN
[ros-diffs] 01/01: [NEWDEV] Fix a truncated text on device driver name
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=758f9fbdb93646d31d4e27ed49fb4cc576d15672 commit 758f9fbdb93646d31d4e27ed49fb4cc576d15672 Author: Bișoc George AuthorDate: Tue Oct 2 17:44:00 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Tue Oct 2 21:54:30 2018 +0200 [NEWDEV] Fix a truncated text on device driver name --- dll/win32/newdev/lang/bg-BG.rc | 8 dll/win32/newdev/lang/cs-CZ.rc | 8 dll/win32/newdev/lang/de-DE.rc | 8 dll/win32/newdev/lang/el-GR.rc | 8 dll/win32/newdev/lang/en-US.rc | 8 dll/win32/newdev/lang/es-ES.rc | 8 dll/win32/newdev/lang/fr-FR.rc | 8 dll/win32/newdev/lang/he-IL.rc | 8 dll/win32/newdev/lang/hu-HU.rc | 8 dll/win32/newdev/lang/id-ID.rc | 8 dll/win32/newdev/lang/it-IT.rc | 8 dll/win32/newdev/lang/ja-JP.rc | 8 dll/win32/newdev/lang/nl-NL.rc | 8 dll/win32/newdev/lang/no-NO.rc | 8 dll/win32/newdev/lang/pl-PL.rc | 8 dll/win32/newdev/lang/ro-RO.rc | 8 dll/win32/newdev/lang/ru-RU.rc | 8 dll/win32/newdev/lang/sk-SK.rc | 8 dll/win32/newdev/lang/sq-AL.rc | 8 dll/win32/newdev/lang/th-TH.rc | 8 dll/win32/newdev/lang/tr-TR.rc | 8 dll/win32/newdev/lang/uk-UA.rc | 8 dll/win32/newdev/lang/zh-CN.rc | 8 dll/win32/newdev/lang/zh-TW.rc | 8 24 files changed, 96 insertions(+), 96 deletions(-) diff --git a/dll/win32/newdev/lang/bg-BG.rc b/dll/win32/newdev/lang/bg-BG.rc index ed49c49c55..bb09ef8321 100644 --- a/dll/win32/newdev/lang/bg-BG.rc +++ b/dll/win32/newdev/lang/bg-BG.rc @@ -8,7 +8,7 @@ BEGIN LTEXT "Здравейте", IDC_WELCOMETITLE, 120, 8, 195, 16 LTEXT "Вълшебникът ще сложи водач за ново устройство:", IDC_STATIC, 120, 21, 195, 16 LTEXT "Натиснете „Напред“ за продължение.", IDC_STATIC, 120, 169, 195, 16 -LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 36, 147, 12 +LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 36, 147, 17 LTEXT "ВНИМАНИЕ! СЛАГАНЕТО НА ИЗБРАНО ОТ ПОТРЕБИТЕЛЯ УСТРОЙСТВО МОЖЕ ДА ДОВЕДЕ ДО ЗАБИВАНЕ НА КОМПЮТЪРА ВИ ИЛИ ДА ГО НАПРАВИ НЕЗАПУСКАЕМ!", IDC_STATIC, 120, 59, 195, 16 CONTROL "Сам сложи водача", IDC_RADIO_AUTO, "Button", BS_AUTORADIOBUTTON, 120, 112, 195, 12 CONTROL "Слагане на водача от определено място", IDC_RADIO_MANUAL, "Button", BS_AUTORADIOBUTTON, 120, 133, 195, 12 @@ -32,7 +32,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Слагането неуспешно", IDC_FINISHTITLE, 120, 8, 195, 16 LTEXT "Устройството не можа да бъде подкарано, поради неочавана грешка.", IDC_STATIC, 120, 32, 195, 16 -LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 12 +LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 17 END IDD_CHSOURCE DIALOGEX 0, 0, 317, 143 @@ -72,7 +72,7 @@ BEGIN LTEXT "Слагането приключи", IDC_FINISHTITLE, 120, 8, 195, 12 LTEXT "Трябва да презапуснете компютъра, за да завърши слагането на:", IDC_STATIC, 120, 32, 195, 16 LTEXT "Натиснете „Край“, за да затворите вълшебника.", IDC_STATIC, 120, 174, 195, 12 -LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 12 +LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 17 END IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193 @@ -83,7 +83,7 @@ BEGIN LTEXT "Слагането завърши", IDC_FINISHTITLE, 120, 8, 195, 12 LTEXT "Вълшебникът завърши слагането на водач за:", IDC_STATIC, 120, 32, 195, 16 LTEXT "Натиснете „Край“ за затваряне на вълшебника.", IDC_STATIC, 120, 174, 195, 12 -LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 12 +LTEXT "НЕИЗВЕСТНО УСТРОЙСТВО", IDC_DEVICE, 148, 53, 147, 17 END STRINGTABLE diff --git a/dll/win32/newdev/lang/cs-CZ.rc b/dll/win32/newdev/lang/cs-CZ.rc index 68621f7164..a2b757f221 100644 --- a/dll/win32/newdev/lang/cs-CZ.rc +++ b/dll/win32/newdev/lang/cs-CZ.rc @@ -13,7 +13,7 @@ BEGIN LTEXT "Vítejte", IDC_WELCOMETITLE, 120, 8, 195, 16 LTEXT "Tento průvodce nainstaluje ovladač nového zařízení pro:", IDC_STATIC, 120, 21, 195, 16 LTEXT "Pokračujte kliknutím na Další.", IDC_STATIC, 120, 169, 195, 16 -LTEXT "NEZNÁMÉ ZAŘÍZENÍ", IDC_DEVICE, 148, 36, 147, 12 +LTEXT "NEZNÁMÉ ZAŘÍZENÍ", IDC_DEVICE, 148, 36, 147, 17 LTEXT "POZOR! INSTALACE VLASTNÍHO ZAŘÍZENÍ MŮŽE ZASEKNOUT POČÍTAČ NEBO ZNEMOŽNIT START OPERAČNÍHO SYSTÉMU!", IDC_STATIC, 120, 59, 195, 16 CONTROL "Nainstalovat ovladač automaticky", IDC_RADIO_AUTO, "Button", BS_AUTORADIOBUTTON, 120, 112, 195, 12 CONTROL "Nainstalovat ovladač ze specifického umístění", IDC_RADIO_MANUAL, "Button", BS_A
[ros-diffs] 01/01: [DWNL] Add translations (for Romanian & Italian)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3caab66e223f59476fac8d62937dadcaf86ddfd1 commit 3caab66e223f59476fac8d62937dadcaf86ddfd1 Author: Bișoc George AuthorDate: Tue Sep 25 16:50:13 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Sep 28 00:23:48 2018 +0200 [DWNL] Add translations (for Romanian & Italian) And include them as well. --- base/applications/network/dwnl/dwnl.rc | 6 ++ base/applications/network/dwnl/lang/it-IT.rc | 32 base/applications/network/dwnl/lang/ro-RO.rc | 32 3 files changed, 70 insertions(+) diff --git a/base/applications/network/dwnl/dwnl.rc b/base/applications/network/dwnl/dwnl.rc index 5077a012ee..5b2aa1351e 100644 --- a/base/applications/network/dwnl/dwnl.rc +++ b/base/applications/network/dwnl/dwnl.rc @@ -20,9 +20,15 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_FR_FR #include "lang/fr-FR.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif +#ifdef LANGUAGE_RO_RO +#include "lang/ro-RO.rc" +#endif #ifdef LANGUAGE_RU_RU #include "lang/ru-RU.rc" #endif diff --git a/base/applications/network/dwnl/lang/it-IT.rc b/base/applications/network/dwnl/lang/it-IT.rc new file mode 100644 index 00..51c952e8ca --- /dev/null +++ b/base/applications/network/dwnl/lang/it-IT.rc @@ -0,0 +1,32 @@ +/* + * PROJECT: ReactOS File Download Utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "Uso: dwnl URL [DESTINAZIONE]\n" +IDS_RESOLVING "Risolvere %s... " +IDS_DONE "fatto.\n" +IDS_LENGTH_FULL "Lunghezza: %I64u [%s]\n" +IDS_LENGTH "Lunghezza: %I64u\n" +IDS_FILE_SAVED "\nIl file è stato salvato.\n" +IDS_CONNECTING_TO_FULL "Connettersi a %s [%s]... " +IDS_CONNECTING_TO "Connettersi a %s... " +IDS_REDIRECTING_TO "Reindirizzato a %s... " +IDS_SEND_REQUEST "Invio richiesta... " +IDS_BYTES_DOWNLOADED "%I64u byte scaricati" +IDS_BYTES_DOWNLOADED_FULL "%2d%% (%I64u byte scaricati)" +END + +STRINGTABLE +BEGIN +IDS_ERROR_DOWNLOAD "\nERRORE: Download fallito.\n" +IDS_ERROR_CODE "\nERRORE: %u\n" +IDS_ERROR_FILENAME "\nERRORE: Impossibile determinare il nome del file, si prega di specificare una destinazione.\n" +IDS_ERROR_PROTOCOL "\nERRORE: Protocollo non supportato.\n" +END diff --git a/base/applications/network/dwnl/lang/ro-RO.rc b/base/applications/network/dwnl/lang/ro-RO.rc new file mode 100644 index 00..fd43ceca87 --- /dev/null +++ b/base/applications/network/dwnl/lang/ro-RO.rc @@ -0,0 +1,32 @@ +/* + * PROJECT: ReactOS File Download Utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Romanian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "Uz: dwnl URL [DESTINAȚIE]\n" +IDS_RESOLVING "Rezolvare %s... " +IDS_DONE "terminat.\n" +IDS_LENGTH_FULL "Lungime: %I64u [%s]\n" +IDS_LENGTH "Lungime: %I64u\n" +IDS_FILE_SAVED "\nFișier descărcat.\n" +IDS_CONNECTING_TO_FULL "Conectare la %s [%s]... " +IDS_CONNECTING_TO "Conectare la %s... " +IDS_REDIRECTING_TO "Redirecționare la %s... " +IDS_SEND_REQUEST "Trimitere cerere... " +IDS_BYTES_DOWNLOADED "%I64u octeți descărcați" +IDS_BYTES_DOWNLOADED_FULL "%2d%% (%I64u octeți descărcați)" +END + +STRINGTABLE +BEGIN +IDS_ERROR_DOWNLOAD "\nEROARE: Descărcare eșuată.\n" +IDS_ERROR_CODE "\nEROARE: %u\n" +IDS_ERROR_FILENAME "\nEROARE: Determinarea numelui de fișier este imposibilă, specificați destinația numelui de fișier.\n" +IDS_ERROR_PROTOCOL "\nEROARE: Protocol nerecunoscut.\n" +END
[ros-diffs] 01/01: [MSCONFIG_NEW] Do not assign an access key to a letter with diacritic
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=983b4c9f9441a9e31b05a7ed23272b1d75d57b78 commit 983b4c9f9441a9e31b05a7ed23272b1d75d57b78 Author: Bișoc George AuthorDate: Sat Sep 22 21:40:57 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sat Sep 22 21:51:14 2018 +0200 [MSCONFIG_NEW] Do not assign an access key to a letter with diacritic --- base/applications/msconfig_new/lang/ro-RO.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/applications/msconfig_new/lang/ro-RO.rc b/base/applications/msconfig_new/lang/ro-RO.rc index a561922510..0c4cb7b3d7 100644 --- a/base/applications/msconfig_new/lang/ro-RO.rc +++ b/base/applications/msconfig_new/lang/ro-RO.rc @@ -84,7 +84,7 @@ BEGIN LTEXT "secunde", IDC_STATIC, 330, 104, 31, 10 CONTROL "ă configurația de inițializare", 292, "Button", BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP, 295, 121, 66, 49 -PUSHBUTTON "&Șterge", IDC_BTN_DELETE, 295, 68, 66, 14 +PUSHBUTTON "Ș", IDC_BTN_DELETE, 295, 68, 66, 14 END IDD_SERVICES_PAGE DIALOGEX 0, 0, 366, 175
[ros-diffs] 02/02: [MSCONFIG_NEW] Small Romanian translation update
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=29603e7291401080a14fde6f327c703b5ce6f640 commit 29603e7291401080a14fde6f327c703b5ce6f640 Author: Bișoc George AuthorDate: Sun Sep 16 19:27:31 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Sep 16 19:55:46 2018 +0200 [MSCONFIG_NEW] Small Romanian translation update --- base/applications/msconfig_new/lang/ro-RO.rc | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/base/applications/msconfig_new/lang/ro-RO.rc b/base/applications/msconfig_new/lang/ro-RO.rc index c45d4510da..a561922510 100644 --- a/base/applications/msconfig_new/lang/ro-RO.rc +++ b/base/applications/msconfig_new/lang/ro-RO.rc @@ -4,7 +4,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL IDD_ABOUTBOX DIALOGEX 0, 0, 229, 98 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "About the System Configuration Program" +CAPTION "Despre programul de configurare al sistemului" FONT 8, "MS Shell Dlg" BEGIN ICONIDI_APPICON, IDC_STATIC, 14, 14, 20, 20 @@ -40,7 +40,7 @@ END IDD_SYSTEM_PAGE DIALOGEX 0, 0, 366, 175 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CAPTION -CAPTION "System" +CAPTION "Sistem" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_SYSTEM_TREE, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | TVS_SHOWSELALWAYS | WS_BORDER | WS_HSCROLL | WS_TABSTOP, 5, 5, 285, 146 @@ -84,7 +84,7 @@ BEGIN LTEXT "secunde", IDC_STATIC, 330, 104, 31, 10 CONTROL "ă configurația de inițializare", 292, "Button", BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP, 295, 121, 66, 49 -PUSHBUTTON "", IDC_BTN_DELETE, 295, 68, 66, 14 +PUSHBUTTON "&Șterge", IDC_BTN_DELETE, 295, 68, 66, 14 END IDD_SERVICES_PAGE DIALOGEX 0, 0, 366, 175 @@ -124,7 +124,7 @@ END IDD_FILE_EXTRACT_DIALOG DIALOGEX 0, 0, 353, 117 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Expand Files from an Installation Source" +CAPTION "Extragere fișiere de la o instalație sursă" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Specificați fișierele pe care doriți să le extrageți, locația sursei cu fișierele de instalare, și locația destinației.", IDC_STATIC, 7, 7, 339, 17
[ros-diffs] 01/02: [CHARMAP_NEW] Update the E-mail header string
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=577d5347f11f1975b541e27ba3265024ffe2cb19 commit 577d5347f11f1975b541e27ba3265024ffe2cb19 Author: Bișoc George AuthorDate: Sun Sep 16 19:23:15 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Sep 16 19:55:46 2018 +0200 [CHARMAP_NEW] Update the E-mail header string --- base/applications/charmap_new/lang/it-IT.rc | 2 +- base/applications/charmap_new/lang/ro-RO.rc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/base/applications/charmap_new/lang/it-IT.rc b/base/applications/charmap_new/lang/it-IT.rc index 5a81e8f752..c04c6d723c 100644 --- a/base/applications/charmap_new/lang/it-IT.rc +++ b/base/applications/charmap_new/lang/it-IT.rc @@ -2,7 +2,7 @@ * PROJECT: ReactOS Character Map * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: Italian Translation for ReactOS Character Map - * COPYRIGHT: Bișoc George (fraizeraus...@gmail.com) + * COPYRIGHT: Bișoc George (fraizeraust99 at gmail dot com) */ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL diff --git a/base/applications/charmap_new/lang/ro-RO.rc b/base/applications/charmap_new/lang/ro-RO.rc index a043a35ca6..6863e70133 100644 --- a/base/applications/charmap_new/lang/ro-RO.rc +++ b/base/applications/charmap_new/lang/ro-RO.rc @@ -2,7 +2,7 @@ * PROJECT: ReactOS Character Map * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: Romanian Translation for ReactOS Character Map - * COPYRIGHT: Bișoc George (fraizeraus...@gmail.com) + * COPYRIGHT: Bișoc George (fraizeraust99 at gmail dot com) */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
[ros-diffs] 02/02: [USETUP] Italian translation update
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=402ea59af6b43eb2ed675624ab9087643fd6bc9d commit 402ea59af6b43eb2ed675624ab9087643fd6bc9d Author: Bișoc George AuthorDate: Sun Sep 9 19:37:10 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Sep 9 22:26:39 2018 +0200 [USETUP] Italian translation update --- base/setup/usetup/lang/it-IT.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/setup/usetup/lang/it-IT.h b/base/setup/usetup/lang/it-IT.h index 9fcaf4c6af..691830a939 100644 --- a/base/setup/usetup/lang/it-IT.h +++ b/base/setup/usetup/lang/it-IT.h @@ -1785,7 +1785,7 @@ MUI_STRING itITStrings[] = {STRING_REBOOTCOMPUTER2, " INVIO = Riavvia il computer"}, {STRING_REBOOTPROGRESSBAR, -" Your computer will reboot in %li second(s)... "}, +" Il computer si riavvierà in %li secondi... "}, {STRING_CONSOLEFAIL1, "Impossibile aprire la console\r\n\r\n"}, {STRING_CONSOLEFAIL2,
[ros-diffs] 01/02: [USETUP] Romanian translation update
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c1bf18bada6bda1b4f691efd9383c3380292411d commit c1bf18bada6bda1b4f691efd9383c3380292411d Author: Bișoc George AuthorDate: Sun Sep 9 19:36:24 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Sun Sep 9 22:26:39 2018 +0200 [USETUP] Romanian translation update --- base/setup/usetup/lang/ro-RO.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/setup/usetup/lang/ro-RO.h b/base/setup/usetup/lang/ro-RO.h index ea86f5a9cd..f1e45956a6 100644 --- a/base/setup/usetup/lang/ro-RO.h +++ b/base/setup/usetup/lang/ro-RO.h @@ -1832,7 +1832,7 @@ MUI_STRING roROStrings[] = {STRING_REBOOTCOMPUTER2, " ENTER = Repornire calculator"}, {STRING_REBOOTPROGRESSBAR, -" Your computer will reboot in %li second(s)... "}, +" Calculatorul va reporni �n %li secunde... "}, {STRING_CONSOLEFAIL1, "E�ec la deschiderea consolei\r\n\r\n"}, {STRING_CONSOLEFAIL2,
[ros-diffs] 01/01: [USETUP] Implement the shutdown timeout progress bar. (#833)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e5c0bfacf1374abf34abbaf75047149a6252ca5e commit e5c0bfacf1374abf34abbaf75047149a6252ca5e Author: Bișoc George AuthorDate: Wed Aug 22 11:10:18 2018 +0200 Commit: Hermès Bélusca-Maïto CommitDate: Sun Sep 9 17:17:16 2018 +0200 [USETUP] Implement the shutdown timeout progress bar. (#833) - Add the MUI ID resource. - Implement the shutdown timeout progress bar function and the TimeOut string handler. - Add the resource string to other resource languages. --- base/setup/usetup/lang/bg-BG.h | 2 + base/setup/usetup/lang/bn-BD.h | 2 + base/setup/usetup/lang/cs-CZ.h | 2 + base/setup/usetup/lang/da-DK.h | 2 + base/setup/usetup/lang/de-DE.h | 2 + base/setup/usetup/lang/el-GR.h | 2 + base/setup/usetup/lang/en-US.h | 2 + base/setup/usetup/lang/es-ES.h | 2 + base/setup/usetup/lang/et-EE.h | 2 + base/setup/usetup/lang/fr-FR.h | 2 + base/setup/usetup/lang/he-IL.h | 2 + base/setup/usetup/lang/it-IT.h | 2 + base/setup/usetup/lang/ja-JP.h | 2 + base/setup/usetup/lang/lt-LT.h | 2 + base/setup/usetup/lang/ms-MY.h | 2 + base/setup/usetup/lang/nl-NL.h | 2 + base/setup/usetup/lang/pl-PL.h | 2 + base/setup/usetup/lang/pt-BR.h | 2 + base/setup/usetup/lang/ro-RO.h | 2 + base/setup/usetup/lang/ru-RU.h | 2 + base/setup/usetup/lang/sk-SK.h | 2 + base/setup/usetup/lang/sq-AL.h | 2 + base/setup/usetup/lang/sv-SE.h | 2 + base/setup/usetup/lang/tr-TR.h | 2 + base/setup/usetup/lang/uk-UA.h | 2 + base/setup/usetup/mui.h| 1 + base/setup/usetup/usetup.c | 215 + 27 files changed, 246 insertions(+), 20 deletions(-) diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index c85d48cc86..b6366eac4e 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -1792,6 +1792,8 @@ MUI_STRING bgBGStrings[] = " ��⮢�..."}, {STRING_REBOOTCOMPUTER2, " ENTER = �१���᪠�� �� "}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "�⢠�ﭥ� �� � ���ꧬ\r\n\r\n"}, {STRING_CONSOLEFAIL2, diff --git a/base/setup/usetup/lang/bn-BD.h b/base/setup/usetup/lang/bn-BD.h index fcc483b7d3..5a4d7786e1 100644 --- a/base/setup/usetup/lang/bn-BD.h +++ b/base/setup/usetup/lang/bn-BD.h @@ -1777,6 +1777,8 @@ MUI_STRING bnBDStrings[] = " Done..."}, {STRING_REBOOTCOMPUTER2, " ENTER = Reboot computer"}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "Unable to open the console\r\n\r\n"}, {STRING_CONSOLEFAIL2, diff --git a/base/setup/usetup/lang/cs-CZ.h b/base/setup/usetup/lang/cs-CZ.h index 790fbfc6e6..4359652d37 100644 --- a/base/setup/usetup/lang/cs-CZ.h +++ b/base/setup/usetup/lang/cs-CZ.h @@ -1785,6 +1785,8 @@ MUI_STRING csCZStrings[] = " Hotovo..."}, {STRING_REBOOTCOMPUTER2, " ENTER = Restartovat po��ta�"}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "Nelze otev��t konzoli\r\n\r\n"}, {STRING_CONSOLEFAIL2, diff --git a/base/setup/usetup/lang/da-DK.h b/base/setup/usetup/lang/da-DK.h index f6029f6613..febfb2b68d 100644 --- a/base/setup/usetup/lang/da-DK.h +++ b/base/setup/usetup/lang/da-DK.h @@ -1791,6 +1791,8 @@ MUI_STRING daDKStrings[] = " Udf�rt..."}, {STRING_REBOOTCOMPUTER2, " ENTER = Genstart"}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "Kunne ikke �bne konsollen\r\n\r\n"}, {STRING_CONSOLEFAIL2, diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index 9ddac46c7f..fda98fbce0 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -1781,6 +1781,8 @@ MUI_STRING deDEStrings[] = " Fertig..."}, {STRING_REBOOTCOMPUTER2, " EINGABETASTE = Computer neu starten"}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "Konsole konnte nicht ge�ffnet werden\r\n\r\n"}, {STRING_CONSOLEFAIL2, diff --git a/base/setup/usetup/lang/el-GR.h b/base/setup/usetup/lang/el-GR.h index 034b895f90..58e624f0c3 100644 --- a/base/setup/usetup/lang/el-GR.h +++ b/base/setup/usetup/lang/el-GR.h @@ -1796,6 +1796,8 @@ MUI_STRING elGRStrings[] = " ���韞��..."}, {STRING_REBOOTCOMPUTER2, " ENTER = ���夞�� ��"}, +{STRING_REBOOTPROGRESSBAR, +" Your computer will reboot in %li second(s)... "}, {STRING_CONSOLEFAIL1, "��礘�� �� ��
[ros-diffs] 01/01: [FONTEXT] Add Italian translation (#831)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4208e7eed8542565a6059abbca4475f1cb78a5ae commit 4208e7eed8542565a6059abbca4475f1cb78a5ae Author: Bișoc George AuthorDate: Tue Sep 4 22:02:44 2018 +0200 Commit: Robert Naumann CommitDate: Tue Sep 4 22:02:44 2018 +0200 [FONTEXT] Add Italian translation (#831) --- dll/shellext/fontext/fontext.rc| 3 +++ dll/shellext/fontext/lang/it-IT.rc | 13 + 2 files changed, 16 insertions(+) diff --git a/dll/shellext/fontext/fontext.rc b/dll/shellext/fontext/fontext.rc index 61f9904cd3..eebe038fa7 100644 --- a/dll/shellext/fontext/fontext.rc +++ b/dll/shellext/fontext/fontext.rc @@ -14,6 +14,9 @@ #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_RO_RO #include "lang/ro-RO.rc" #endif diff --git a/dll/shellext/fontext/lang/it-IT.rc b/dll/shellext/fontext/lang/it-IT.rc new file mode 100644 index 00..5c067cdc5f --- /dev/null +++ b/dll/shellext/fontext/lang/it-IT.rc @@ -0,0 +1,13 @@ +/* + * PROJECT: ReactOS Font Text + * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) + * PURPOSE: Italian translation resource + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_REACTOS_FONTS_FOLDER "Cartella dei font di ReactOS" +END
[ros-diffs] 01/01: [ACCESS] Fix some truncated strings in French resource (#838)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=773d6a536aa684f31993d196a670c5c6a5e6c350 commit 773d6a536aa684f31993d196a670c5c6a5e6c350 Author: Bișoc George AuthorDate: Mon Sep 3 14:14:57 2018 +0200 Commit: Robert Naumann CommitDate: Mon Sep 3 14:14:57 2018 +0200 [ACCESS] Fix some truncated strings in French resource (#838) --- dll/cpl/access/lang/fr-FR.rc | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dll/cpl/access/lang/fr-FR.rc b/dll/cpl/access/lang/fr-FR.rc index 518a5e0314..e2659c10bc 100644 --- a/dll/cpl/access/lang/fr-FR.rc +++ b/dll/cpl/access/lang/fr-FR.rc @@ -87,16 +87,16 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Général" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN -GROUPBOX "Réinitialisation automatique", -1, 6, 11, 234, 47 +GROUPBOX "Réinitialisation automatique", -1, 6, 11, 234, 50 AUTOCHECKBOX "ésactiver les fonctionnalités d'accessibilité après un délai d'inactivité de :", - IDC_RESET_BOX, 12, 18, 222, 14 + IDC_RESET_BOX, 12, 20, 222, 16, BS_MULTILINE COMBOBOX IDC_RESET_COMBO, 24, 38, 60, 47, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP -GROUPBOX "Avertissement", -1, 6, 63, 234, 47 +GROUPBOX "Avertissement", -1, 6, 63, 234, 50 AUTOCHECKBOX "Afficher un message d'avertissement lors de l'activation d'une fonctionnalité", IDC_NOTIFICATION_MESSAGE, - 12, 72, 222, 14 + 12, 72, 222, 14, BS_MULTILINE AUTOCHECKBOX "Émettre un son lors de l'activation/désactivation d'une fonctionnalité", IDC_NOTIFICATION_SOUND, - 12, 90, 222, 14 + 12, 90, 222, 18, BS_MULTILINE GROUPBOX "Périphériques Touches série", -1, 6, 115, 234, 47 LTEXT "Les périphériques Touches série représentent une alternative pour accéder aux fonctionnalités du clavier et de la souris.", -1, 12, 124, 222, 20 @@ -106,7 +106,7 @@ BEGIN AUTOCHECKBOX "Appliquer tous les paramètres au Bureau d'ou de session", IDC_ADMIN_LOGON_BOX, 12, 178, 222, 14 AUTOCHECKBOX "Appliq tous les paramètres par défaut aux nouveaux utilisateurs", IDC_ADMIN_USERS_BOX, - 12, 196, 222, 14 + 12, 196, 222, 14, BS_MULTILINE END IDD_STICKYKEYSOPTIONS DIALOGEX 0, 0, 246, 228
[ros-diffs] 01/01: [USETUP] Implement CreateProgressBarEx() (#791)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ee6bc66318a3da67b57f2f42efd921aa9d938cdd commit ee6bc66318a3da67b57f2f42efd921aa9d938cdd Author: Bișoc George AuthorDate: Tue Aug 21 15:49:54 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Tue Aug 21 15:49:54 2018 +0200 [USETUP] Implement CreateProgressBarEx() (#791) Improve the progress bar functions: - Add a member in the struct, which will be used as a bar colour parameter for the new CreateProgressBarEx(). - CreateProgressBar() which will now invoke the Ex variant without the additional parameter. --- base/setup/usetup/progress.c | 25 +++-- base/setup/usetup/progress.h | 13 + 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/base/setup/usetup/progress.c b/base/setup/usetup/progress.c index 3aa9e2a99e..71f9ae99df 100644 --- a/base/setup/usetup/progress.c +++ b/base/setup/usetup/progress.c @@ -219,7 +219,7 @@ DrawProgressBar( for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) { FillConsoleOutputAttribute(StdOutput, - FOREGROUND_YELLOW | BACKGROUND_BLUE, + Bar->ProgressColour, Bar->Width - 2, coPos, ); @@ -234,7 +234,7 @@ DrawProgressBar( PPROGRESSBAR -CreateProgressBar( +CreateProgressBarEx( SHORT Left, SHORT Top, SHORT Right, @@ -242,6 +242,7 @@ CreateProgressBar( SHORT TextTop, SHORT TextRight, IN BOOLEAN DoubleEdge, +SHORT ProgressColour, CHAR *Text) { PPROGRESSBAR Bar; @@ -259,6 +260,7 @@ CreateProgressBar( Bar->TextTop = TextTop; Bar->TextRight = TextRight; Bar->Double = DoubleEdge; +Bar->ProgressColour = ProgressColour; Bar->Text = Text; Bar->Width = Bar->Right - Bar->Left + 1; @@ -274,6 +276,25 @@ CreateProgressBar( return Bar; } +PPROGRESSBAR +CreateProgressBar( +SHORT Left, +SHORT Top, +SHORT Right, +SHORT Bottom, +SHORT TextTop, +SHORT TextRight, +IN BOOLEAN DoubleEdge, +CHAR *Text) +{ + +/* Call the Ex variant of the function */ +return CreateProgressBarEx(Left, Top, Right, Bottom, + TextTop, TextRight, + DoubleEdge, + FOREGROUND_YELLOW | BACKGROUND_BLUE, + Text); +} VOID DestroyProgressBar( diff --git a/base/setup/usetup/progress.h b/base/setup/usetup/progress.h index 4799225e33..ee438e95c2 100644 --- a/base/setup/usetup/progress.h +++ b/base/setup/usetup/progress.h @@ -44,11 +44,24 @@ typedef struct _PROGRESS ULONG CurrentStep; BOOLEAN Double; +SHORT ProgressColour; CHAR *Text; } PROGRESSBAR, *PPROGRESSBAR; /* FUNCTIONS / +PPROGRESSBAR +CreateProgressBarEx( +SHORT Left, +SHORT Top, +SHORT Right, +SHORT Bottom, +SHORT TextTop, +SHORT TextRight, +IN BOOLEAN DoubleEdge, +SHORT ProgressColour, +CHAR *Text); + PPROGRESSBAR CreateProgressBar( SHORT Left,
[ros-diffs] 01/01: [OSK] Some enhancements for locales IT and RO (#416)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2eb7ddd598e300987d2bcfb50a6767445524d346 commit 2eb7ddd598e300987d2bcfb50a6767445524d346 Author: Bișoc George AuthorDate: Sun Aug 19 21:42:57 2018 +0200 Commit: Timo Kreuzer CommitDate: Sun Aug 19 21:42:57 2018 +0200 [OSK] Some enhancements for locales IT and RO (#416) * Window element improvements for Italian and Romanian --- base/applications/osk/lang/it-IT.rc | 234 ++-- base/applications/osk/lang/ro-RO.rc | 234 ++-- 2 files changed, 234 insertions(+), 234 deletions(-) diff --git a/base/applications/osk/lang/it-IT.rc b/base/applications/osk/lang/it-IT.rc index db2b488275..3af1a12e2d 100644 --- a/base/applications/osk/lang/it-IT.rc +++ b/base/applications/osk/lang/it-IT.rc @@ -1,129 +1,129 @@ /* - * PROJECT: ReactOS Kernel - * LICENSE: GPL - See COPYING in the top level directory - * FILE:base/applications/osk/lang/it-IT.rc - * PURPOSE: On screen keyboard (Italian resources) - * PROGRAMMERS: Denis ROBERT + * PROJECT: ReactOS Virtual Keyboard - OSK + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Virtual Keyboard On screen (Italian resources) + * COPYRIGHT: Copyright Denis ROBERT + * Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) */ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL -MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 608, 164 +MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 463, 115 CAPTION "Tastiera visivo" FONT 8, "MS Shell Dlg" EXSTYLE WS_EX_TOPMOST | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE BEGIN -PUSHBUTTON "Esc",SCAN_CODE_110,3,3,23,22 -PUSHBUTTON "F1",SCAN_CODE_112,48,3,23,22 -PUSHBUTTON "F2",SCAN_CODE_113,75,3,23,22 -PUSHBUTTON "F3",SCAN_CODE_114,101,3,23,22 -PUSHBUTTON "F4",SCAN_CODE_115,128,3,23,22 -PUSHBUTTON "F5",SCAN_CODE_116,173,3,23,22 -PUSHBUTTON "F6",SCAN_CODE_117,199,3,23,22 -PUSHBUTTON "F7",SCAN_CODE_118,225,3,23,22 -PUSHBUTTON "F8",SCAN_CODE_119,251,3,23,22 -PUSHBUTTON "F9",SCAN_CODE_120,296,3,23,22 -PUSHBUTTON "F10",SCAN_CODE_121,323,3,23,22 -PUSHBUTTON "F11",SCAN_CODE_122,350,3,23,22 -PUSHBUTTON "F12",SCAN_CODE_123,377,3,23,22 -PUSHBUTTON "Imp",SCAN_CODE_124,411,3,23,22 -PUSHBUTTON "Arr",SCAN_CODE_125,438,3,23,22 -PUSHBUTTON "Attn",SCAN_CODE_126,465,3,23,22 -PUSHBUTTON "\\",SCAN_CODE_1,3,35,23,22 -PUSHBUTTON "1",SCAN_CODE_2,30,35,23,22 -PUSHBUTTON "2",SCAN_CODE_3,57,35,23,22 -PUSHBUTTON "3",SCAN_CODE_4,84,35,23,22 -PUSHBUTTON "4",SCAN_CODE_5,111,35,23,22 -PUSHBUTTON "5",SCAN_CODE_6,138,35,23,22 -PUSHBUTTON "6",SCAN_CODE_7,165,35,23,22 -PUSHBUTTON "7",SCAN_CODE_8,192,35,23,22 -PUSHBUTTON "8",SCAN_CODE_9,219,35,23,22 -PUSHBUTTON "9",SCAN_CODE_10,246,35,23,22 -PUSHBUTTON "0 ",SCAN_CODE_11,273,35,23,22 -PUSHBUTTON "'",SCAN_CODE_12,300,35,23,22 -PUSHBUTTON "|",SCAN_CODE_13,327,35,23,22 -PUSHBUTTON "<--",SCAN_CODE_15,354,35,47,22,BS_ICON -PUSHBUTTON "Tab",SCAN_CODE_16,3,61,35,22,BS_ICON -PUSHBUTTON "Q",SCAN_CODE_17,42,61,23,22 -PUSHBUTTON "W",SCAN_CODE_18,69,61,23,22 -PUSHBUTTON "E",SCAN_CODE_19,96,61,23,22 -PUSHBUTTON "R",SCAN_CODE_20,123,61,23,22 -PUSHBUTTON "T",SCAN_CODE_21,150,61,23,22 -PUSHBUTTON "Y",SCAN_CODE_22,177,61,23,22 -PUSHBUTTON "U",SCAN_CODE_23,204,61,23,22 -PUSHBUTTON "I",SCAN_CODE_24,231,61,23,22 -PUSHBUTTON "O",SCAN_CODE_25,258,61,23,22 -PUSHBUTTON "P",SCAN_CODE_26,285,61,23,22 -PUSHBUTTON "è",SCAN_CODE_27,312,61,23,22 -PUSHBUTTON "+",SCAN_CODE_28,339,61,23,22 -PUSHBUTTON "Verr maj",SCAN_CODE_30,3,87,46,22,BS_ICON -PUSHBUTTON "A",SCAN_CODE_31,53,87,23,22 -PUSHBUTTON "S",SCAN_CODE_32,80,87,23,22 -PUSHBUTTON "D",SCAN_CODE_33,107,87,23,22 -PUSHBUTTON "F",SCAN_CODE_34,134,87,23,22 -PUSHBUTTON "G",SCAN_CODE_35,161,87,23,22 -PUSHBUTTON "H",SCAN_CODE_36,188,87,23,22 -PUSHBUTTON "J",SCAN_CODE_37,215,87,23,22 -PUSHBUTTON "K",SCAN_CODE_38,242,87,23,22 -PUSHBUTTON "L",SCAN_CODE_39,269,87,23,22 -PUSHBUTTON "ò"
[ros-diffs] 01/01: [TRANSLATION][WMIC] Add Italian translation
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3c131c23931e9cfb609b5d4c282021ffcb6e1b4e commit 3c131c23931e9cfb609b5d4c282021ffcb6e1b4e Author: Bișoc George AuthorDate: Tue Aug 7 20:31:56 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Aug 8 12:55:10 2018 +0200 [TRANSLATION][WMIC] Add Italian translation --- base/applications/cmdutils/wmic/lang/it-IT.rc | 16 base/applications/cmdutils/wmic/wmic.rc | 3 +++ 2 files changed, 19 insertions(+) diff --git a/base/applications/cmdutils/wmic/lang/it-IT.rc b/base/applications/cmdutils/wmic/lang/it-IT.rc new file mode 100644 index 00..dcf3ab5677 --- /dev/null +++ b/base/applications/cmdutils/wmic/lang/it-IT.rc @@ -0,0 +1,16 @@ +/* + * PROJECT: ReactOS WMI command line + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +{ +STRING_CMDLINE_NOT_SUPPORTED, "Errore: Comando sconosciuto\n" +STRING_ALIAS_NOT_FOUND, "Errore: Alias sconosciuto\n" +STRING_INVALID_QUERY, "Errore: Richiesta non valida\n" +STRING_INVALID_PATH, "Errore: Sintassi non valida per PATH\n" +} diff --git a/base/applications/cmdutils/wmic/wmic.rc b/base/applications/cmdutils/wmic/wmic.rc index 1ca447b1e4..e7bacd362d 100644 --- a/base/applications/cmdutils/wmic/wmic.rc +++ b/base/applications/cmdutils/wmic/wmic.rc @@ -34,6 +34,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif
[ros-diffs] 01/01: [TRANSLATION][TASKKILL] Add Italian translation (#717)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=adc2e996908958798bb27431599fc597edf46381 commit adc2e996908958798bb27431599fc597edf46381 Author: Bișoc George AuthorDate: Fri Aug 3 12:12:29 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Aug 3 12:12:29 2018 +0200 [TRANSLATION][TASKKILL] Add Italian translation (#717) --- base/applications/cmdutils/taskkill/lang/it-IT.rc | 26 +++ base/applications/cmdutils/taskkill/taskkill.rc | 3 +++ 2 files changed, 29 insertions(+) diff --git a/base/applications/cmdutils/taskkill/lang/it-IT.rc b/base/applications/cmdutils/taskkill/lang/it-IT.rc new file mode 100644 index 00..0a2cb322ae --- /dev/null +++ b/base/applications/cmdutils/taskkill/lang/it-IT.rc @@ -0,0 +1,26 @@ +/* + * PROJECT: Task termination utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +{ +STRING_USAGE, "Uso: taskkill [/?] [/f] [/im NomeProcesso | /pid IDProcesso]\n" +STRING_INVALID_OPTION, "Errore: L'opzione specificata è invalida o sconosciuta.\n" +STRING_INVALID_PARAM, "Errore: Il parametro di comando a riga è invalido.\n" +STRING_MISSING_OPTION, "Errore: Specifica una delle opzioni /im oppure /pid.\n" +STRING_MISSING_PARAM, "Errore: L'opzione %1 necessita un parametro a riga di comando.\n" +STRING_MUTUAL_EXCLUSIVE, "Errore: Le opzioni /im e /pid si escludono reciprocamente.\n" +STRING_CLOSE_PID_SEARCH, "Alla finestra del processo con PID %1!u! è stato inviato un messaggio di chiusura.\n" +STRING_CLOSE_PROC_SRCH, "Alla finestra del processo ""%1"" con PID %2!u! è stato inviato un messaggio di chiusura.\n" +STRING_TERM_PID_SEARCH, "Il processo con PID %1!u! è stato terminato forzatamente.\n" +STRING_TERM_PROC_SEARCH, "Il processo ""%1"" con PID %2!u! è stato terminato con forza.\n" +STRING_SEARCH_FAILED, "Errore: Impossibile trovare il processo ""%1"".\n" +STRING_ENUM_FAILED, "Errore: Impossibile enumerare la lista dei processi.\n" +STRING_TERMINATE_FAILED, "Errore: Impossibile terminare il processo ""%1"".\n" +STRING_SELF_TERMINATION, "Errore: L'auto-terminazione non è consentita.\n" +} diff --git a/base/applications/cmdutils/taskkill/taskkill.rc b/base/applications/cmdutils/taskkill/taskkill.rc index 4e9ca9dbab..9577bbed86 100644 --- a/base/applications/cmdutils/taskkill/taskkill.rc +++ b/base/applications/cmdutils/taskkill/taskkill.rc @@ -36,6 +36,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif
[ros-diffs] 01/01: [INPUT] Fix a truncated text
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dd4cc2c2ffc1ee1af74b60f1da10ec49f169a32a commit dd4cc2c2ffc1ee1af74b60f1da10ec49f169a32a Author: Bișoc George AuthorDate: Thu Aug 2 15:32:30 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Fri Aug 3 12:08:41 2018 +0200 [INPUT] Fix a truncated text --- dll/cpl/input/lang/fr-FR.rc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dll/cpl/input/lang/fr-FR.rc b/dll/cpl/input/lang/fr-FR.rc index e8da479877..0bc0e2036c 100644 --- a/dll/cpl/input/lang/fr-FR.rc +++ b/dll/cpl/input/lang/fr-FR.rc @@ -37,7 +37,7 @@ BEGIN LTEXT "Action", -1, 14, 47, 60, 9 RTEXT "Séquence de touches", -1, 177, 47, 79, 9 CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE -PUSHBUTTON " la séquence de touches...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP +PUSHBUTTON " la séquence de touches...", IDC_CHANGE_KEY_SEQ_BTN, 140, 113, 118, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Annuler", IDCANCEL, 146, 140, 70, 14 END @@ -65,12 +65,12 @@ BEGIN LTEXT "Maj", -1, 73, 37, 27, 12 CTEXT "+", -1, 62, 37, 8, 9 AUTORADIOBUTTON "", IDC_CTRL_LANG, 29, 31, 30, 11 -AUTORADIOBUTTON " Gauche", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 +AUTORADIOBUTTON " Gauche", IDC_LEFT_ALT_LANG, 29, 45, 50, 12 AUTOCHECKBOX "Changer les dispositions clavier", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 LTEXT "Maj", -1, 74, 87, 27, 12 CTEXT "+", -1, 63, 87, 8, 9 AUTORADIOBUTTON "C", IDC_CTRL_LAYOUT, 30, 81, 30, 11 -AUTORADIOBUTTON "A Gauche", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 +AUTORADIOBUTTON "A Gauche", IDC_LEFT_ALT_LAYOUT, 30, 95, 50, 12 DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 PUSHBUTTON "Annuler", IDCANCEL, 172, 27, 50, 14 END
[ros-diffs] 01/01: [TRANSLATION][CLIP] Implement Italian translation (#682)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5a637150f0dedef751b1b23fe5d1bc391df9e40a commit 5a637150f0dedef751b1b23fe5d1bc391df9e40a Author: Bișoc George AuthorDate: Thu Jul 12 17:41:20 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Thu Jul 12 17:41:20 2018 +0200 [TRANSLATION][CLIP] Implement Italian translation (#682) --- base/applications/cmdutils/clip/clip.rc | 3 +++ base/applications/cmdutils/clip/lang/it-IT.rc | 16 2 files changed, 19 insertions(+) diff --git a/base/applications/cmdutils/clip/clip.rc b/base/applications/cmdutils/clip/clip.rc index 8fe786e38d..ed784f03e5 100644 --- a/base/applications/cmdutils/clip/clip.rc +++ b/base/applications/cmdutils/clip/clip.rc @@ -24,6 +24,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_FR_FR #include "lang/fr-FR.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif diff --git a/base/applications/cmdutils/clip/lang/it-IT.rc b/base/applications/cmdutils/clip/lang/it-IT.rc new file mode 100644 index 00..0e723cac90 --- /dev/null +++ b/base/applications/cmdutils/clip/lang/it-IT.rc @@ -0,0 +1,16 @@ +/* + * PROJECT: ReactOS Clip Command + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "\nInserisci ""CLIP /?"" per leggere le informazioni sull'uso.\n" +IDS_HELP "\nReindirizza verso la clipboard l'output dei programmi a riga di comando.\n\n\ +CLIP [/?]\n\n\ +/? Mostra questo messaggio.\n" +END
[ros-diffs] 01/01: [TRANSLATION][AT] Implement the Italian resource file (#641)
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=089ff1511d7af4259459a912abda087cd711797f commit 089ff1511d7af4259459a912abda087cd711797f Author: Bișoc George AuthorDate: Wed Jun 27 23:09:56 2018 +0200 Commit: Hermès BÉLUSCA - MAÏTO CommitDate: Wed Jun 27 23:09:56 2018 +0200 [TRANSLATION][AT] Implement the Italian resource file (#641) --- base/applications/cmdutils/at/at.rc | 3 ++ base/applications/cmdutils/at/lang/it-IT.rc | 62 + 2 files changed, 65 insertions(+) diff --git a/base/applications/cmdutils/at/at.rc b/base/applications/cmdutils/at/at.rc index f36c371944..ea43c3d765 100644 --- a/base/applications/cmdutils/at/at.rc +++ b/base/applications/cmdutils/at/at.rc @@ -15,6 +15,9 @@ #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_IT_IT +#include "lang/it-IT.rc" +#endif #ifdef LANGUAGE_PL_PL #include "lang/pl-PL.rc" #endif diff --git a/base/applications/cmdutils/at/lang/it-IT.rc b/base/applications/cmdutils/at/lang/it-IT.rc new file mode 100644 index 00..23cc30d205 --- /dev/null +++ b/base/applications/cmdutils/at/lang/it-IT.rc @@ -0,0 +1,62 @@ +/* + * PROJECT: ReactOS AT Utility + * LICENSE: See COPYING in the top level directory + * PURPOSE: Italian resource file + * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com) + */ + +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN +IDS_USAGE "Il comando AT permette di stabilire altri comandi e programmi di eseguire\n\ +in un computer in un certo tempo. Lo servizio ""Schedule"" deve essere in esecuzione per\n\ +poter usare il comando AT.\n\n\ +AT [nomecomputer] [ [id] [/DELETE] | /DELETE [/YES]]\n\ +AT [nomecomputer] tempo [/INTERACTIVE]\n\ +[ /EVERY:data[,...] | /NEXT:data[,...]] ""comando""\n\n\ +nomecomputer Specifica un computer remoto. I comandi saranno programmati \n\ + sul computer locale se questo parametro è omesso.\n\ +id È un numero d'identificazione assegnato al comando programmato.\n\ +/DELETECancella un comando programmato. Se l'id viene omesso, tutti\n\ + i comandi programmati nel computer saranno cancellati.\n\ +/YES Usato con l'opzione ""DELETE"", annullerà tutti i compiti programmati\n\ + nel computer senza ulteriore conferma.\n\ +tempo Specifica il tempo per l'esecuzione del comando.\n\ +/INTERACTIVE Permette ai comandi di interagire con il desktop dell'utente\n\ + che è autenticato al momento della loro esecuzione.\n\ +/EVERY:data[,...] Esegue il comando nel giorno o nei giorni specificati d'ogni\n\ + settimana o mese. Se la data è omessa, verrà considerata il\n\ + giorno attuale del mese.\n\ +/NEXT:data[,...] Esegue il comando specificato nel prossimo giorno (per\n\ + esempio prossimo Martedì). Se la data è omessa, verrà\n\ + considerata il giorno attuale del mese.\n\ +""comando"" Il nome del comando o programma da eseguire.\n" + +IDS_DELETE_ALL "Questa operazione cancellerà tutte le operazioni programmate.\n" +IDS_NEW_JOB "È stata pianificata una nuova attività con l'ID = %lu\n" +IDS_JOBS_LIST "Stato ID Giorno Tempo Riga di comando\n" +IDS_NO_ENTRIES "Non ci sono comandi programmati nella lista.\n" + +IDS_CONFIRM_QUESTION "Sei sicuro di voler continuare questa operazione? (S/N) [N]: " +IDS_CONFIRM_INVALID "\nQuesta risposta non è valida.\n" +IDS_CONFIRM_YES "S" +IDS_CONFIRM_NO "N" + +IDS_TODAY "Oggi" +IDS_TOMORROW "Domani" +IDS_EVERY "Ogni" +IDS_NEXT "Seguente" + +IDS_YES "Sì" +IDS_NO "No" +IDS_ERROR "ERRORE" +IDS_OK "OK" + +IDS_TASKID "ID Operazione: %lu\n" +IDS_STATUS "Stato: %s\n" +IDS_SCHEDULE"Orario: %s\n" +IDS_TIME"Tempo del giorno:%s\n" +IDS_INTERACTIVE "Interattivo: %s\n" +IDS_COMMAND "Comando: %s\n" +END