From 0e072c5063bd98bf31a40952491f78ea5dfc358b Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 6 Apr 2011 18:49:16 +0000 Subject: [PATCH 01/48] [RPCRT4] Fix return type of *ClientCall functions. Merged from cmake branch svn path=/trunk/; revision=51269 --- reactos/dll/win32/rpcrt4/cproxy.c | 4 ++-- reactos/dll/win32/rpcrt4/ndr_stubless.c | 17 +++++++---------- reactos/include/psdk/rpcndr.h | 10 ++++------ 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/cproxy.c b/reactos/dll/win32/rpcrt4/cproxy.c index 9ce555f7146..176204667ad 100644 --- a/reactos/dll/win32/rpcrt4/cproxy.c +++ b/reactos/dll/win32/rpcrt4/cproxy.c @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * + * * TODO: Handle non-i386 architectures */ @@ -96,7 +96,7 @@ HRESULT WINAPI ObjectStubless(DWORD *args) args[0] = *(const WORD*)(fs + 8); TRACE("(%p)->(%d)([%d bytes]) ret=%08x\n", iface, index, args[0], args[1]); - return NdrClientCall2(stubless->pStubDesc, fs, args + 2); + return NdrClientCall2(stubless->pStubDesc, fs, args + 2).Simple; } #define BLOCK_SIZE 1024 diff --git a/reactos/dll/win32/rpcrt4/ndr_stubless.c b/reactos/dll/win32/rpcrt4/ndr_stubless.c index 645a0ca4729..d6b9c5f90c2 100644 --- a/reactos/dll/win32/rpcrt4/ndr_stubless.c +++ b/reactos/dll/win32/rpcrt4/ndr_stubless.c @@ -510,7 +510,7 @@ void client_do_args_old_format(PMIDL_STUB_MESSAGE pStubMsg, } else { - const NDR_PARAM_OI_OTHER *pParamOther = + const NDR_PARAM_OI_OTHER *pParamOther = (const NDR_PARAM_OI_OTHER *)&pFormat[current_offset]; const unsigned char *pTypeFormat = @@ -548,10 +548,7 @@ void client_do_args_old_format(PMIDL_STUB_MESSAGE pStubMsg, } } -/* the return type should be CLIENT_CALL_RETURN, but this is incompatible - * with the way gcc returns structures. "void *" should be the largest type - * that MIDL should allow you to return anyway */ -LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, ...) +CLIENT_CALL_RETURN WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, ...) { /* pointer to start of stack where arguments start */ RPC_MESSAGE rpcMsg; @@ -574,7 +571,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma /* -Oif or -Oicf generated format */ BOOL bV2Format = FALSE; /* the value to return to the client from the remote procedure */ - LONG_PTR RetVal = 0; + CLIENT_CALL_RETURN RetVal = {0}; /* the pointer to the object when in OLE mode */ void * This = NULL; PFORMAT_STRING pHandleFormat; @@ -630,7 +627,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma if (!(pProcHeader->Oi_flags & RPC_FC_PROC_OIF_OBJECT)) { pFormat = client_get_handle(&stubMsg, pProcHeader, pHandleFormat, &hBinding); - if (!pFormat) return 0; + if (!pFormat) return RetVal; } bV2Format = (pStubDesc->Version >= 0x20000); @@ -729,7 +726,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma } __EXCEPT_ALL { - RetVal = NdrProxyErrorHandler(GetExceptionCode()); + RetVal.Simple = NdrProxyErrorHandler(GetExceptionCode()); } __ENDTRY } @@ -830,7 +827,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma client_free_handle(&stubMsg, pProcHeader, pHandleFormat, hBinding); } - TRACE("RetVal = 0x%lx\n", RetVal); + TRACE("RetVal = 0x%p\n", RetVal.Pointer); return RetVal; } @@ -1465,7 +1462,7 @@ LONG WINAPI NdrStubCall2( pRpcMsg->BufferLength = stubMsg.BufferLength; /* allocate buffer for [out] and [ret] params */ - Status = I_RpcGetBuffer(pRpcMsg); + Status = I_RpcGetBuffer(pRpcMsg); if (Status) RpcRaiseException(Status); stubMsg.Buffer = pRpcMsg->Buffer; diff --git a/reactos/include/psdk/rpcndr.h b/reactos/include/psdk/rpcndr.h index dd3a532b342..9171044a979 100644 --- a/reactos/include/psdk/rpcndr.h +++ b/reactos/include/psdk/rpcndr.h @@ -650,15 +650,13 @@ RPCRTAPI void RPC_ENTRY RPCRTAPI unsigned char* RPC_ENTRY NdrUserMarshalSimpleTypeConvert( ULONG *pFlags, unsigned char *pBuffer, unsigned char FormatChar ); -/* Note: this should return a CLIENT_CALL_RETURN, but calling convention for - * returning structures/unions is different between Windows and gcc on i386. */ -LONG_PTR RPC_VAR_ENTRY +CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); -LONG_PTR RPC_VAR_ENTRY +CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); -LONG_PTR RPC_VAR_ENTRY +CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); -LONG_PTR RPC_VAR_ENTRY +CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrDcomAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); RPCRTAPI void RPC_ENTRY From 672303db6bb5274b4895020d99603a556a3c2ec5 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Wed, 6 Apr 2011 19:03:20 +0000 Subject: [PATCH 02/48] [KERNEL32] - Rewrite most of kernel32 module loading APIs (except for LoadLibraryExW, for testing purposes it's gonna be committed in a separate commit). Rewritten parts include: * Better definition of LOADPARMS32 structure for LoadModule, and rewritten LoadModule which is now a well structured function with proper parameters validation, proper work algorithm and setting proper last error values in failure cases. Optimization of allocating MAX_PATH buffer on stack instead of in the heap is saved from the old version of the function. * LoadLibraryA, added a path-hack (present at least up to Windows 2003) for twain_32.dll loading (not that important, but still a compatibility issue). * Make GetProcAddress() use BasepMapModuleHandle for mapping the passed-in handle (including properly handling NULL module handle which was incorrectly handled by the old implementation), and check for a special failure case when LdrGetProcedureAddress returns pointer to the image base address. svn path=/trunk/; revision=51270 --- reactos/dll/win32/kernel32/misc/ldr.c | 339 +++++++++++++++++--------- 1 file changed, 220 insertions(+), 119 deletions(-) diff --git a/reactos/dll/win32/kernel32/misc/ldr.c b/reactos/dll/win32/kernel32/misc/ldr.c index cbf00e56896..85f9891be79 100644 --- a/reactos/dll/win32/kernel32/misc/ldr.c +++ b/reactos/dll/win32/kernel32/misc/ldr.c @@ -15,7 +15,8 @@ typedef struct tagLOADPARMS32 { LPSTR lpEnvAddress; LPSTR lpCmdLine; - LPSTR lpCmdShow; + WORD wMagicValue; + WORD wCmdShow; DWORD dwReserved; } LOADPARMS32; @@ -167,12 +168,17 @@ DisableThreadLibraryCalls( { NTSTATUS Status; + /* Disable thread library calls */ Status = LdrDisableThreadCalloutsForDll((PVOID)hLibModule); + + /* If it wasn't success - set last error and return failure */ if (!NT_SUCCESS(Status)) { BaseSetLastNTError(Status); return FALSE; } + + /* Return success */ return TRUE; } @@ -182,43 +188,74 @@ DisableThreadLibraryCalls( */ HINSTANCE WINAPI -LoadLibraryA ( - LPCSTR lpLibFileName - ) +LoadLibraryA(LPCSTR lpLibFileName) { - return LoadLibraryExA (lpLibFileName, 0, 0); -} + LPSTR PathBuffer; + UINT Len; + HINSTANCE Result; + /* Treat twain_32.dll in a special way (what a surprise...) */ + if (lpLibFileName && !_strcmpi(lpLibFileName, "twain_32.dll")) + { + /* Allocate space for the buffer */ + PathBuffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, MAX_PATH); + if (PathBuffer) + { + /* Get windows dir in this buffer */ + Len = GetWindowsDirectoryA(PathBuffer, MAX_PATH - 13); /* 13 is sizeof of '\\twain_32.dll' */ + if (Len && Len < (MAX_PATH - 13)) + { + /* We successfully got windows directory. Concatenate twain_32.dll to it */ + strncat(PathBuffer, "\\twain_32.dll", 13); + + /* And recursively call ourselves with a new string */ + Result = LoadLibraryA(PathBuffer); + + /* If it was successful - free memory and return result */ + if (Result) + { + RtlFreeHeap(RtlGetProcessHeap(), 0, PathBuffer); + return Result; + } + } + + /* Free allocated buffer */ + RtlFreeHeap(RtlGetProcessHeap(), 0, PathBuffer); + } + } + + /* Call the Ex version of the API */ + return LoadLibraryExA(lpLibFileName, 0, 0); +} /* * @implemented */ HINSTANCE WINAPI -LoadLibraryExA( - LPCSTR lpLibFileName, - HANDLE hFile, - DWORD dwFlags) +LoadLibraryExA(LPCSTR lpLibFileName, + HANDLE hFile, + DWORD dwFlags) { - PUNICODE_STRING FileNameW; + PUNICODE_STRING FileNameW; + /* Convert file name to unicode */ if (!(FileNameW = Basep8BitStringToStaticUnicodeString(lpLibFileName))) return NULL; + /* And call W version of the API */ return LoadLibraryExW(FileNameW->Buffer, hFile, dwFlags); } - /* * @implemented */ HINSTANCE WINAPI -LoadLibraryW ( - LPCWSTR lpLibFileName - ) +LoadLibraryW(LPCWSTR lpLibFileName) { - return LoadLibraryExW (lpLibFileName, 0, 0); + /* Call Ex version of the API */ + return LoadLibraryExW (lpLibFileName, 0, 0); } @@ -364,42 +401,56 @@ done: */ FARPROC WINAPI -GetProcAddress( HMODULE hModule, LPCSTR lpProcName ) +GetProcAddress(HMODULE hModule, LPCSTR lpProcName) { - ANSI_STRING ProcedureName; - FARPROC fnExp = NULL; - NTSTATUS Status; + ANSI_STRING ProcedureName, *ProcNamePtr = NULL; + FARPROC fnExp = NULL; + NTSTATUS Status; + PVOID hMapped; + ULONG Ordinal = 0; - if (!hModule) - { - SetLastError(ERROR_PROC_NOT_FOUND); - return NULL; - } + if (HIWORD(lpProcName) != 0) + { + /* Look up by name */ + RtlInitAnsiString(&ProcedureName, (LPSTR)lpProcName); + ProcNamePtr = &ProcedureName; + } + else + { + /* Look up by ordinal */ + Ordinal = (ULONG)lpProcName; + } - if (HIWORD(lpProcName) != 0) - { - RtlInitAnsiString (&ProcedureName, - (LPSTR)lpProcName); - Status = LdrGetProcedureAddress ((PVOID)hModule, - &ProcedureName, - 0, - (PVOID*)&fnExp); - } - else - { - Status = LdrGetProcedureAddress ((PVOID)hModule, - NULL, - (ULONG)lpProcName, - (PVOID*)&fnExp); - } + /* Map provided handle */ + hMapped = BasepMapModuleHandle(hModule, FALSE); - if (!NT_SUCCESS(Status)) - { - SetLastErrorByStatus(Status); - fnExp = NULL; - } + /* Get the proc address */ + Status = LdrGetProcedureAddress(hMapped, + ProcNamePtr, + Ordinal, + (PVOID*)&fnExp); - return fnExp; + if (!NT_SUCCESS(Status)) + { + BaseSetLastNTError(Status); + return NULL; + } + + /* Check for a special case when returned pointer is + the same as iamge's base address */ + if (fnExp == hMapped) + { + /* Set correct error code */ + if (HIWORD(lpProcName) != 0) + BaseSetLastNTError(STATUS_ENTRYPOINT_NOT_FOUND); + else + BaseSetLastNTError(STATUS_ORDINAL_NOT_FOUND); + + return NULL; + } + + /* All good, return procedure pointer */ + return fnExp; } @@ -906,87 +957,137 @@ GetModuleHandleExA(IN DWORD dwFlags, */ DWORD WINAPI -LoadModule ( - LPCSTR lpModuleName, - LPVOID lpParameterBlock - ) +LoadModule(LPCSTR lpModuleName, + LPVOID lpParameterBlock) { - STARTUPINFOA StartupInfo; - PROCESS_INFORMATION ProcessInformation; - LOADPARMS32 *LoadParams; - char FileName[MAX_PATH]; - char *CommandLine, *t; - BYTE Length; + STARTUPINFOA StartupInfo; + PROCESS_INFORMATION ProcessInformation; + LOADPARMS32 *LoadParams; + char FileName[MAX_PATH]; + LPSTR CommandLine; + DWORD Length, Error; + BOOL ProcessStatus; + ANSI_STRING AnsiStr; + UNICODE_STRING UnicStr; + RTL_PATH_TYPE PathType; + HANDLE Handle; - LoadParams = (LOADPARMS32*)lpParameterBlock; - if(!lpModuleName || !LoadParams || (((WORD*)LoadParams->lpCmdShow)[0] != 2)) - { - /* windows doesn't check parameters, we do */ - SetLastError(ERROR_INVALID_PARAMETER); - return 0; - } + LoadParams = (LOADPARMS32*)lpParameterBlock; - if(!SearchPathA(NULL, lpModuleName, ".exe", MAX_PATH, FileName, NULL) && - !SearchPathA(NULL, lpModuleName, NULL, MAX_PATH, FileName, NULL)) - { - return ERROR_FILE_NOT_FOUND; - } - - Length = (BYTE)LoadParams->lpCmdLine[0]; - if(!(CommandLine = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, - strlen(lpModuleName) + Length + 2))) - { - SetLastError(ERROR_NOT_ENOUGH_MEMORY); - return 0; - } - - /* Create command line string */ - strcpy(CommandLine, lpModuleName); - t = CommandLine + strlen(CommandLine); - *(t++) = ' '; - memcpy(t, LoadParams->lpCmdLine + 1, Length); - - /* Build StartupInfo */ - RtlZeroMemory(&StartupInfo, sizeof(STARTUPINFOA)); - StartupInfo.cb = sizeof(STARTUPINFOA); - StartupInfo.dwFlags = STARTF_USESHOWWINDOW; - StartupInfo.wShowWindow = ((WORD*)LoadParams->lpCmdShow)[1]; - - if(!CreateProcessA(FileName, CommandLine, NULL, NULL, FALSE, 0, LoadParams->lpEnvAddress, - NULL, &StartupInfo, &ProcessInformation)) - { - DWORD Error; - - RtlFreeHeap(RtlGetProcessHeap(), 0, CommandLine); - /* return the right value */ - Error = GetLastError(); - switch(Error) + /* Check load parameters */ + if (LoadParams->dwReserved || LoadParams->wMagicValue != 2) { - case ERROR_BAD_EXE_FORMAT: - { - return ERROR_BAD_FORMAT; - } - case ERROR_FILE_NOT_FOUND: - case ERROR_PATH_NOT_FOUND: - { - return Error; - } + /* Fail with invalid param error */ + BaseSetLastNTError(STATUS_INVALID_PARAMETER); + return 0; } - return 0; - } - RtlFreeHeap(RtlGetProcessHeap(), 0, CommandLine); + /* Search path */ + Length = SearchPathA(NULL, lpModuleName, ".exe", MAX_PATH, FileName, NULL); - /* Wait up to 15 seconds for the process to become idle */ - if (NULL != lpfnGlobalRegisterWaitForInputIdle) - { - lpfnGlobalRegisterWaitForInputIdle(ProcessInformation.hProcess, 15000); - } + /* Check if path was found */ + if (Length && Length < MAX_PATH) + { + /* Build StartupInfo */ + RtlZeroMemory(&StartupInfo, sizeof(StartupInfo)); - NtClose(ProcessInformation.hThread); - NtClose(ProcessInformation.hProcess); + StartupInfo.cb = sizeof(STARTUPINFOA); + StartupInfo.dwFlags = STARTF_USESHOWWINDOW; + StartupInfo.wShowWindow = LoadParams->wCmdShow; - return 33; + /* Allocate command line buffer */ + CommandLine = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + (ULONG)LoadParams->lpCmdLine[0] + Length + 2); + + /* Put module name there, then a space, and then copy provided command line, + and null-terminate it */ + RtlCopyMemory(CommandLine, FileName, Length); + CommandLine[Length] = ' '; + RtlCopyMemory(&CommandLine[Length + 1], &LoadParams->lpCmdLine[1], (ULONG)LoadParams->lpCmdLine[0]); + CommandLine[Length + 1 + (ULONG)LoadParams->lpCmdLine[0]] = 0; + + /* Create the process */ + ProcessStatus = CreateProcessA(FileName, + CommandLine, + NULL, + NULL, + FALSE, + 0, + LoadParams->lpEnvAddress, + NULL, + &StartupInfo, + &ProcessInformation); + + /* Free the command line buffer */ + RtlFreeHeap(RtlGetProcessHeap(), 0, CommandLine); + + if (!ProcessStatus) + { + /* Creating process failed, return right error code */ + Error = GetLastError(); + switch(Error) + { + case ERROR_BAD_EXE_FORMAT: + return ERROR_BAD_FORMAT; + + case ERROR_FILE_NOT_FOUND: + case ERROR_PATH_NOT_FOUND: + return Error; + } + + /* Return 0 otherwise */ + return 0; + } + + /* Wait up to 30 seconds for the process to become idle */ + if (lpfnGlobalRegisterWaitForInputIdle) + { + lpfnGlobalRegisterWaitForInputIdle(ProcessInformation.hProcess, 30000); + } + + /* Close handles */ + NtClose(ProcessInformation.hThread); + NtClose(ProcessInformation.hProcess); + + /* Return magic success value (33) */ + return 33; + } + + /* The path was not found, create an ansi string from + the module name and convert it to unicode */ + RtlInitAnsiString(&AnsiStr, lpModuleName); + if (!NT_SUCCESS(RtlAnsiStringToUnicodeString(&UnicStr,&AnsiStr,TRUE))) + return ERROR_FILE_NOT_FOUND; + + /* Determine path type */ + PathType = RtlDetermineDosPathNameType_U(UnicStr.Buffer); + + /* Free the unicode module name */ + RtlFreeUnicodeString(&UnicStr); + + /* If it's a relative path, return file not found */ + if (PathType == RtlPathTypeRelative) + return ERROR_FILE_NOT_FOUND; + + /* If not, try to open it */ + Handle = CreateFile(lpModuleName, + GENERIC_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + NULL); + + if (Handle != INVALID_HANDLE_VALUE) + { + /* Opening file succeeded for some reason, close the handle and return file not found anyway */ + CloseHandle(Handle); + return ERROR_FILE_NOT_FOUND; + } + + /* Return last error which CreateFile set during an attempt to open it */ + return GetLastError(); } /* EOF */ From 446f42d3af1c97087edd38e981ac58a4805b0f02 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 6 Apr 2011 21:05:05 +0000 Subject: [PATCH 03/48] [SNDVOL32] - Implement loading of resources and parsing the dialog template in memory - Store the created windows in an array - Implement destroying of controls when mixer is changed / line selection is altered - Implement generating layout for each new line - Implement setting line name - Resources have not yet been commited - Sndvol32 is not yet functional svn path=/trunk/; revision=51271 --- reactos/base/applications/sndvol32/dialog.c | 384 ++++++++++++++++++ reactos/base/applications/sndvol32/misc.c | 3 +- reactos/base/applications/sndvol32/mixer.c | 2 +- .../base/applications/sndvol32/resources.h | 7 +- reactos/base/applications/sndvol32/sndvol32.c | 129 +++--- reactos/base/applications/sndvol32/sndvol32.h | 32 +- .../applications/sndvol32/sndvol32.rbuild | 1 + 7 files changed, 500 insertions(+), 58 deletions(-) create mode 100644 reactos/base/applications/sndvol32/dialog.c diff --git a/reactos/base/applications/sndvol32/dialog.c b/reactos/base/applications/sndvol32/dialog.c new file mode 100644 index 00000000000..3cddcd043e2 --- /dev/null +++ b/reactos/base/applications/sndvol32/dialog.c @@ -0,0 +1,384 @@ +/* $Id: misc.c 43790 2009-10-27 10:34:16Z dgorbachev $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Sound Volume Control + * FILE: subsys/system/sndvol32/dialog.c + * PROGRAMMERS: Johannes Anderwald + */ +#include "sndvol32.h" + + +#define XLEFT (30) +#define XTOP (20) +#define DIALOG_VOLUME_SIZE (150) + +LPVOID +LoadDialogResource( + IN HMODULE hModule, + IN LPCWSTR ResourceName, + OUT LPDWORD ResourceLength) +{ + HRSRC hSrc; + HGLOBAL hRes; + PVOID Result; + + /* find resource */ + hSrc = FindResourceW(hModule, ResourceName, (LPCWSTR)RT_DIALOG); + + if (!hSrc) + { + /* failed to find resource */ + return NULL; + } + + /* now load the resource */ + hRes = LoadResource(hAppInstance, hSrc); + if (!hRes) + { + /* failed to load resource */ + return NULL; + } + + /* now lock the resource */ + Result = LockResource(hRes); + + if (!Result) + { + /* failed to lock resource */ + return NULL; + } + + if (ResourceLength) + { + /* store output length */ + *ResourceLength = SizeofResource(hAppInstance, hSrc); + } + + /* done */ + return Result; +} + +LPWORD +AddDialogControl( + IN HWND hwndDialog, + IN HWND * OutWnd, + IN LPRECT DialogOffset, + IN PDLGITEMTEMPLATE DialogItem, + IN DWORD DialogIdMultiplier, + IN HFONT hFont) +{ + RECT rect; + LPWORD Offset; + LPWSTR ClassName, WindowName = NULL; + HWND hwnd; + DWORD wID; + + /* initialize client rectangle */ + rect.left = DialogItem->x + DialogOffset->left; + rect.top = DialogItem->y + DialogOffset->top; + rect.right = DialogItem->cx; + rect.bottom = DialogItem->cy; + + //MapDialogRect(hwndDialog, &rect); + + /* move offset after dialog item */ + Offset = (LPWORD)(DialogItem + 1); + + if (*Offset == 0xFFFF) + { + /* class is encoded as type */ + Offset++; + + /* get control type */ + switch(*Offset) + { + case 0x80: + ClassName = L"button"; + WindowName = (LPWSTR)(Offset + 1); + break ; + case 0x82: + ClassName = L"static"; + WindowName = (LPWSTR)(Offset + 1); + break; + default: + /* FIXME */ + assert(0); + ClassName = 0; + } + } + else + { + /* class name is encoded as string */ + ClassName = (LPWSTR)Offset; + + /* adjust offset */ + Offset += wcslen(ClassName) + 1; + + /* get offset */ + WindowName = (LPWSTR)(Offset + 1); + } + + if (DialogItem->id == MAXWORD) + { + /* id is not important */ + wID = DialogItem->id; + } + else + { + /* calculate id */ + wID = DialogItem->id * (DialogIdMultiplier + 1); + + } + /* now create the window */ + hwnd = CreateWindowExW(DialogItem->dwExtendedStyle, + ClassName, + WindowName, + DialogItem->style, + rect.left, + rect.top, + rect.right, + rect.bottom, + hwndDialog, + (HMENU)(wID), + hAppInstance, + NULL); + + /* sanity check */ + assert(hwnd); + + /* store window */ + *OutWnd = hwnd; + + /* check if this the track bar */ + if (!wcsicmp(ClassName, L"msctls_trackbar32")) + { + /* set up range */ + SendMessage(hwnd, TBM_SETRANGE, (WPARAM) TRUE, (LPARAM) MAKELONG(0, 5)); + + /* set up page size */ + SendMessage(hwnd, TBM_SETPAGESIZE, 0, (LPARAM) 1); + + /* set available range */ + SendMessage(hwnd, TBM_SETSEL, (WPARAM) FALSE, (LPARAM) MAKELONG(0, 5)); + } + else if (!wcsicmp(ClassName, L"static") || !wcsicmp(ClassName, L"button")) + { + /* set font */ + SendMessageW(hwnd, WM_SETFONT, (WPARAM)hFont, TRUE); + } + + //ShowWindow(hwnd, SW_SHOWNORMAL); + + if (WindowName != NULL) + { + /* position offset to start of name */ + Offset++; + + /* move offset past name */ + Offset += wcslen((LPWSTR)Offset) + 1; + } + else + { + /* no name so just adjust offset */ + Offset++; + } + + /* check if there is additional data */ + if (*Offset == 0) + { + /* no additional data */ + Offset++; + } + else + { + /* add data offset */ + Offset += *Offset; + } + + /* make sure next template is word-aligned */ + Offset = (LPWORD)(((ULONG_PTR)Offset + 3) & ~3); + + /* done */ + return Offset; +} + +VOID +LoadDialogControls( + IN PMIXER_WINDOW MixerWindow, + LPRECT DialogOffset, + LPVOID DlgResource, + DWORD DialogIdMultiplier) +{ + LPDLGTEMPLATE DialogHeader; + PDLGITEMTEMPLATE DialogItem; + LPWORD Offset; + WORD FontSize; + WCHAR FontName[100]; + WORD Length, Index; + HFONT Font; + + /* get dialog header */ + DialogHeader = (LPDLGTEMPLATE)DlgResource; + + /* sanity check */ + assert(DialogHeader->cdit); + + if (MixerWindow->Window) + MixerWindow->Window = (HWND*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MixerWindow->Window, (MixerWindow->WindowCount + DialogHeader->cdit) * sizeof(HWND)); + else + MixerWindow->Window = (HWND*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, DialogHeader->cdit * sizeof(HWND)); + if (!MixerWindow->Window) + { + /* no memory */ + return; + } + + /* now walk past the dialog header */ + Offset = (LPWORD)(DialogHeader + 1); + + /* FIXME: support menu */ + assert(*Offset == 0); + Offset++; + + /* FIXME: support classes */ + assert(*Offset == 0); + Offset++; + + /* FIXME: support titles */ + assert(*Offset == 0); + Offset++; + + /* get font size */ + FontSize = *Offset; + Offset++; + + /* calculate font length */ + Length = wcslen((LPWSTR)Offset) + 1; + assert(Length < (sizeof(FontName) / sizeof(WCHAR))); + + /* copy font */ + wcscpy(FontName, (LPWSTR)Offset); + + Font = CreateFontW(FontSize+8, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, FontName); + assert(Font); + + /* move offset after font name */ + Offset += Length; + + /* offset is now at first dialog item control */ + DialogItem = (PDLGITEMTEMPLATE)Offset; + + /* enumerate now all controls */ + for(Index = 0; Index < DialogHeader->cdit; Index++) + { + /* add controls */ + Offset = AddDialogControl(MixerWindow->hWnd, &MixerWindow->Window[MixerWindow->WindowCount], DialogOffset, DialogItem, DialogIdMultiplier, Font); + + /* sanity check */ + assert(Offset); + + /* move dialog item to new offset */ + DialogItem =(PDLGITEMTEMPLATE)Offset; + + /* increment window count */ + MixerWindow->WindowCount++; + } +} + +VOID +LoadDialog( + IN HMODULE hModule, + IN PMIXER_WINDOW MixerWindow, + IN LPCWSTR DialogResId, + IN DWORD Index) +{ + LPVOID DlgResource; + RECT rect; + + /* first load the dialog resource */ + DlgResource = LoadDialogResource(hModule, DialogResId, NULL); + + if (!DlgResource) + { + /* failed to load resource */ + return; + } + + /* get window size */ + GetClientRect(MixerWindow->hWnd, &rect); + + /* adjust client position */ + rect.left += (Index * DIALOG_VOLUME_SIZE); + + + /* now add the controls */ + LoadDialogControls(MixerWindow, &rect, DlgResource, Index); + +} + +BOOL +CALLBACK +EnumConnectionsCallback( + PSND_MIXER Mixer, + DWORD LineID, + LPMIXERLINE Line, + PVOID Context) +{ + WCHAR LineName[MIXER_LONG_NAME_CHARS]; + DWORD Flags; + DWORD wID; + RECT rect; + PPREFERENCES_CONTEXT PrefContext = (PPREFERENCES_CONTEXT)Context; + + if (Line->cControls != 0) + { + /* get line name */ + if (SndMixerGetLineName(PrefContext->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, FALSE) == -1) + { + /* failed to get line name */ + LineName[0] = L'\0'; + } + + /* check if line is found in registry settings */ + if (ReadLineConfig(PrefContext->DeviceName, + LineName, + Line->szName, + &Flags)) + { + /* is it selected */ + if (Flags != 0x4) + { + /* load dialog resource */ + LoadDialog(hAppInstance, PrefContext->MixerWindow, MAKEINTRESOURCE(IDD_VOLUME_CTRL), PrefContext->Count); + + /* get id */ + wID = (PrefContext->Count + 1) * IDC_LINE_NAME; + + /* set line name */ + SetDlgItemTextW(PrefContext->MixerWindow->hWnd, wID, Line->szName); + + /* increment dialog count */ + PrefContext->Count++; + + /* get application rectangle */ + GetWindowRect(PrefContext->MixerWindow->hWnd, &rect); + + /* now move the window */ + MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom, TRUE); + + } + } + } + return TRUE; +} + +VOID +LoadDialogCtrls( + PPREFERENCES_CONTEXT PrefContext) +{ + /* set dialog count to one */ + PrefContext->Count = 0; + + /* enumerate controls */ + SndMixerEnumConnections(PrefContext->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext); +} diff --git a/reactos/base/applications/sndvol32/misc.c b/reactos/base/applications/sndvol32/misc.c index 2935a85e193..169e6114339 100644 --- a/reactos/base/applications/sndvol32/misc.c +++ b/reactos/base/applications/sndvol32/misc.c @@ -23,7 +23,8 @@ * FILE: subsys/system/sndvol32/misc.c * PROGRAMMERS: Thomas Weidenmueller */ -#include +#include "sndvol32.h" + static INT LengthOfStrResource(IN HINSTANCE hInst, diff --git a/reactos/base/applications/sndvol32/mixer.c b/reactos/base/applications/sndvol32/mixer.c index f01496c7ed3..d4e883ba2a9 100644 --- a/reactos/base/applications/sndvol32/mixer.c +++ b/reactos/base/applications/sndvol32/mixer.c @@ -23,7 +23,7 @@ * FILE: subsys/system/sndvol32/mixer.c * PROGRAMMERS: Thomas Weidenmueller */ -#include +#include "sndvol32.h" #define NO_MIXER_SELECTED ((UINT)(~0)) diff --git a/reactos/base/applications/sndvol32/resources.h b/reactos/base/applications/sndvol32/resources.h index 0272ffecd1c..2fa18a50a66 100644 --- a/reactos/base/applications/sndvol32/resources.h +++ b/reactos/base/applications/sndvol32/resources.h @@ -10,7 +10,7 @@ #define IDC_HELP_TOPICS 1101 #define IDC_ABOUT 1102 -#define IDD_PREFERENCES 101 + #define IDC_MIXERDEVICE 1001 #define IDC_PLAYBACK 1002 #define IDC_RECORDING 1003 @@ -18,6 +18,11 @@ #define IDC_LINE 1005 #define IDC_LABELCONTROLS 1006 #define IDC_CONTROLS 1007 +#define IDC_LINE_NAME 1008 #define IDS_SNDVOL32 100 #define IDS_NOMIXERDEVICES 101 + + +#define IDD_VOLUME_CTRL 200 +#define IDD_PREFERENCES 201 diff --git a/reactos/base/applications/sndvol32/sndvol32.c b/reactos/base/applications/sndvol32/sndvol32.c index 3816d353a63..6c8ad7c55c1 100644 --- a/reactos/base/applications/sndvol32/sndvol32.c +++ b/reactos/base/applications/sndvol32/sndvol32.c @@ -23,13 +23,14 @@ * FILE: subsys/system/sndvol32/sndvol32.c * PROGRAMMERS: Thomas Weidenmueller */ -#include +#include "sndvol32.h" HINSTANCE hAppInstance; ATOM MainWindowClass; HWND hMainWnd; HANDLE hAppHeap; LPTSTR lpAppTitle; +PREFERENCES_CONTEXT Preferences; #define GetDialogData(hwndDlg, type) \ ( P##type )GetWindowLongPtr((hwndDlg), DWLP_USER) @@ -38,21 +39,7 @@ LPTSTR lpAppTitle; /******************************************************************************/ -typedef struct _PREFERENCES_CONTEXT -{ - PMIXER_WINDOW MixerWindow; - PSND_MIXER Mixer; - HWND hwndDlg; - UINT Selected; - DWORD SelectedLine; - DWORD PlaybackID; - DWORD RecordingID; - UINT OtherLines; - TCHAR DeviceName[128]; - - DWORD tmp; -} PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT; typedef struct _PREFERENCES_FILL_DEVICES { @@ -546,18 +533,36 @@ DlgPreferencesProc(HWND hwndDlg, return 0; } + /******************************************************************************/ static VOID DeleteMixerWindowControls(PMIXER_WINDOW MixerWindow) { - UNREFERENCED_PARAMETER(MixerWindow); + DWORD Index; + + for(Index = 0; Index < MixerWindow->WindowCount; Index++) + { + /* destroys the window */ + DestroyWindow(MixerWindow->Window[Index]); + } + + /* free memory */ + HeapFree(GetProcessHeap(), 0, MixerWindow->Window); + + /* set to null */ + MixerWindow->Window = NULL; + MixerWindow->WindowCount = 0; } static BOOL -RebuildMixerWindowControls(PMIXER_WINDOW MixerWindow) +RebuildMixerWindowControls(PPREFERENCES_CONTEXT PrefContext) { - DeleteMixerWindowControls(MixerWindow); + /* delete existing mixer controls */ + DeleteMixerWindowControls(PrefContext->MixerWindow); + + /* load new mixer controls */ + LoadDialogCtrls(PrefContext); return TRUE; } @@ -637,44 +642,56 @@ MainWindowProc(HWND hwnd, GWL_USERDATA, (LONG_PTR)MixerWindow); MixerWindow->hWnd = hwnd; - MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, - NULL, - hwnd, - 0); - if (MixerWindow->hStatusBar != NULL) + MixerWindow->Mixer = SndMixerCreate(MixerWindow->hWnd); + if (MixerWindow->Mixer != NULL) { - MixerWindow->Mixer = SndMixerCreate(MixerWindow->hWnd); - if (MixerWindow->Mixer != NULL) + TCHAR szProduct[MAXPNAMELEN]; + + /* get mixer product name */ + if (SndMixerGetProductName(MixerWindow->Mixer, + szProduct, + sizeof(szProduct) / sizeof(szProduct[0])) == -1) { - TCHAR szProduct[MAXPNAMELEN]; - - if (SndMixerGetProductName(MixerWindow->Mixer, - szProduct, - sizeof(szProduct) / sizeof(szProduct[0])) > 0) - { - SendMessage(MixerWindow->hStatusBar, - WM_SETTEXT, - 0, - (LPARAM)szProduct); - } - - if (!RebuildMixerWindowControls(MixerWindow)) - { - DPRINT("Rebuilding mixer window controls failed!\n"); - SndMixerDestroy(MixerWindow->Mixer); - MixerWindow->Mixer = NULL; - Result = -1; - } + /* failed to get name */ + szProduct[0] = L'\0'; } - else + + + /* initialize perferences */ + ZeroMemory(&Preferences, sizeof(Preferences)); + + /* store mixer */ + Preferences.Mixer = MixerWindow->Mixer; + + /* store mixer window */ + Preferences.MixerWindow = MixerWindow; + + /* first destination line id */ + Preferences.SelectedLine = 0xFFFF0000; + + /* copy product */ + wcscpy(Preferences.DeviceName, szProduct); + + if (!RebuildMixerWindowControls(&Preferences)) { + DPRINT("Rebuilding mixer window controls failed!\n"); + SndMixerDestroy(MixerWindow->Mixer); + MixerWindow->Mixer = NULL; Result = -1; } - } - else - { - DPRINT("Failed to create status window!\n"); - Result = -1; + + /* create status window */ + MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, + NULL, + hwnd, + 0); + if (MixerWindow->hStatusBar) + { + SendMessage(MixerWindow->hStatusBar, + WM_SETTEXT, + 0, + (LPARAM)szProduct); + } } break; } @@ -746,7 +763,7 @@ CreateApplicationWindow(VOID) HWND hWnd; PMIXER_WINDOW MixerWindow = HeapAlloc(hAppHeap, - 0, + HEAP_ZERO_MEMORY, sizeof(MIXER_WINDOW)); if (MixerWindow == NULL) { @@ -758,8 +775,8 @@ CreateApplicationWindow(VOID) hWnd = CreateWindowEx(WS_EX_WINDOWEDGE | WS_EX_CONTROLPARENT, SZ_APP_CLASS, lpAppTitle, - WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE, - CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, + WS_OVERLAPPEDWINDOW | WS_VISIBLE, //WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE, + 0, 0, 300, 315, NULL, LoadMenu(hAppInstance, MAKEINTRESOURCE(IDM_MAINMENU)), @@ -805,6 +822,7 @@ _tWinMain(HINSTANCE hInstance, { MSG Msg; int Ret = 1; + INITCOMMONCONTROLSEX Controls; UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpszCmdLine); @@ -823,7 +841,10 @@ _tWinMain(HINSTANCE hInstance, lpAppTitle = NULL; } - InitCommonControls(); + Controls.dwSize = sizeof(INITCOMMONCONTROLSEX); + Controls.dwICC = ICC_BAR_CLASSES | ICC_STANDARD_CLASSES; + + InitCommonControlsEx(&Controls); if (RegisterApplicationClasses()) { diff --git a/reactos/base/applications/sndvol32/sndvol32.h b/reactos/base/applications/sndvol32/sndvol32.h index 8ca5669bb4f..9cbae1ccbf8 100644 --- a/reactos/base/applications/sndvol32/sndvol32.h +++ b/reactos/base/applications/sndvol32/sndvol32.h @@ -9,6 +9,7 @@ #include #include #include "resources.h" +#include typedef struct _MIXER_WINDOW { @@ -16,6 +17,10 @@ typedef struct _MIXER_WINDOW HWND hStatusBar; struct _SND_MIXER *Mixer; UINT SelectedLine; + UINT WindowCount; + HWND * Window; + + } MIXER_WINDOW, *PMIXER_WINDOW; extern HINSTANCE hAppInstance; @@ -26,7 +31,8 @@ extern HANDLE hAppHeap; #define SZ_APP_CLASS TEXT("Volume Control") ULONG DbgPrint(PCH , ...); -#define DPRINT DbgPrint("SNDVOL32: %s:%i: ", __FILE__, __LINE__); DbgPrint +#define DPRINT +//DbgPrint("SNDVOL32: %s:%i: ", __FILE__, __LINE__); DbgPrint /* @@ -61,6 +67,24 @@ typedef struct _SND_MIXER PSND_MIXER_DESTINATION Lines; } SND_MIXER, *PSND_MIXER; +typedef struct _PREFERENCES_CONTEXT +{ + PMIXER_WINDOW MixerWindow; + PSND_MIXER Mixer; + HWND hwndDlg; + + UINT Selected; + DWORD SelectedLine; + DWORD PlaybackID; + DWORD RecordingID; + UINT OtherLines; + TCHAR DeviceName[128]; + + DWORD Count; + DWORD tmp; +} PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT; + + typedef BOOL (CALLBACK *PFNSNDMIXENUMLINES)(PSND_MIXER Mixer, LPMIXERLINE Line, UINT DisplayControls, PVOID Context); typedef BOOL (CALLBACK *PFNSNDMIXENUMCONNECTIONS)(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context); typedef BOOL (CALLBACK *PFNSNDMIXENUMPRODUCTS)(PSND_MIXER Mixer, UINT Id, LPCTSTR ProductName, PVOID Context); @@ -78,6 +102,12 @@ BOOL SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Cont BOOL SndMixerEnumConnections(PSND_MIXER Mixer, DWORD LineID, PFNSNDMIXENUMCONNECTIONS EnumProc, PVOID Context); BOOL SndMixerIsDisplayControl(PSND_MIXER Mixer, LPMIXERCONTROL Control); +/* + * dialog.c + */ +VOID +LoadDialogCtrls(PPREFERENCES_CONTEXT PrefContext); + /* * MISC */ diff --git a/reactos/base/applications/sndvol32/sndvol32.rbuild b/reactos/base/applications/sndvol32/sndvol32.rbuild index 97d5a60cc95..38d5d9e0f5a 100644 --- a/reactos/base/applications/sndvol32/sndvol32.rbuild +++ b/reactos/base/applications/sndvol32/sndvol32.rbuild @@ -11,6 +11,7 @@ shell32 winmm sndvol32.h + dialog.c misc.c mixer.c sndvol32.c From 3983f64027b168f44e2bb5bf83dd5216cb24ee26 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Wed, 6 Apr 2011 21:49:04 +0000 Subject: [PATCH 04/48] [KERNEL32] - Finish the ldr.c rewrite. Properly implement LoadLibraryExW (which contained some good code pieces added by Alex). Implement BasepLoadLibraryAsDatafile, however it doesn't support redirection yet and a call to load alternate resource module is commented out (it's totally absent in the existing ntdll/ldr API now). - Mark GetDllLoadPath as deprecated, should be removed when SearchPathW is rewritten (or at least, reviewed). The new function to use is BasepGetDllPath. svn path=/trunk/; revision=51272 --- reactos/dll/win32/kernel32/include/kernel32.h | 1 + reactos/dll/win32/kernel32/misc/ldr.c | 257 ++++++++++++------ 2 files changed, 172 insertions(+), 86 deletions(-) diff --git a/reactos/dll/win32/kernel32/include/kernel32.h b/reactos/dll/win32/kernel32/include/kernel32.h index ef74e9e69ad..b315c2ed69f 100755 --- a/reactos/dll/win32/kernel32/include/kernel32.h +++ b/reactos/dll/win32/kernel32/include/kernel32.h @@ -96,6 +96,7 @@ extern RTL_CRITICAL_SECTION BaseDllDirectoryLock; extern UNICODE_STRING BaseDllDirectory; extern UNICODE_STRING BaseDefaultPath; extern UNICODE_STRING BaseDefaultPathAppend; +extern PLDR_DATA_TABLE_ENTRY BasepExeLdrEntry; extern LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter; diff --git a/reactos/dll/win32/kernel32/misc/ldr.c b/reactos/dll/win32/kernel32/misc/ldr.c index 85f9891be79..62e02fb696a 100644 --- a/reactos/dll/win32/kernel32/misc/ldr.c +++ b/reactos/dll/win32/kernel32/misc/ldr.c @@ -1,10 +1,9 @@ /* * COPYRIGHT: See COPYING in the top level directory - * PROJECT : ReactOS user mode libraries + * PROJECT : ReactOS system libraries * MODULE : kernel32.dll * FILE : reactos/dll/win32/kernel32/misc/ldr.c * AUTHOR : Aleksey Bragin - * Ariadne */ #include @@ -27,6 +26,12 @@ extern WaitForInputIdleType lpfnGlobalRegisterWaitForInputIdle; #define BASEP_GET_MODULE_HANDLE_EX_PARAMETER_VALIDATION_SUCCESS 2 #define BASEP_GET_MODULE_HANDLE_EX_PARAMETER_VALIDATION_CONTINUE 3 +VOID +NTAPI +BasepLocateExeLdrEntry(IN PLDR_DATA_TABLE_ENTRY Entry, + IN PVOID Context, + OUT BOOLEAN *StopEnumeration); + /* FUNCTIONS ****************************************************************/ DWORD @@ -102,6 +107,8 @@ GetDllLoadPath(LPCWSTR lpModule) UNICODE_STRING ModuleName; DWORD LastError = GetLastError(); /* GetEnvironmentVariable changes LastError */ + // FIXME: This function is used only by SearchPathW, and is deprecated and will be deleted ASAP. + if ((lpModule != NULL) && (wcslen(lpModule) > 2) && (lpModule[1] == ':')) { lpModuleEnd = lpModule + wcslen(lpModule); @@ -261,69 +268,113 @@ LoadLibraryW(LPCWSTR lpLibFileName) static NTSTATUS -LoadLibraryAsDatafile(PWSTR path, LPCWSTR name, HMODULE* hmod) +BasepLoadLibraryAsDatafile(PWSTR Path, LPCWSTR Name, HMODULE *hModule) { - static const WCHAR dotDLL[] = {'.','d','l','l',0}; - - WCHAR filenameW[MAX_PATH]; + WCHAR FilenameW[MAX_PATH]; HANDLE hFile = INVALID_HANDLE_VALUE; - HANDLE mapping; - HMODULE module; + HANDLE hMapping; + NTSTATUS Status; + PVOID lpBaseAddress; + SIZE_T ViewSize; + //PUNICODE_STRING OriginalName; + //UNICODE_STRING dotDLL = RTL_CONSTANT_STRING(L".DLL"); - *hmod = 0; + /* Zero out handle value */ + *hModule = 0; - if (!SearchPathW( path, name, dotDLL, sizeof(filenameW) / sizeof(filenameW[0]), - filenameW, NULL )) + /*Status = RtlDosApplyFileIsolationRedirection_Ustr(TRUE, + Name, + &dotDLL, + RedirName, + RedirName2, + &OriginalName2, + NULL, + NULL, + NULL);*/ + + /* Try to search for it */ + if (!SearchPathW(Path, + Name, + L".DLL", + sizeof(FilenameW) / sizeof(FilenameW[0]), + FilenameW, + NULL)) { + /* Return last status value directly */ return NtCurrentTeb()->LastStatusValue; } - hFile = CreateFileW( filenameW, GENERIC_READ, FILE_SHARE_READ, - NULL, OPEN_EXISTING, 0, 0 ); + /* Open this file we found */ + hFile = CreateFileW(FilenameW, + GENERIC_READ, + FILE_SHARE_READ | FILE_SHARE_DELETE, + NULL, + OPEN_EXISTING, + 0, + 0); + /* If opening failed - return last status value */ if (hFile == INVALID_HANDLE_VALUE) return NtCurrentTeb()->LastStatusValue; - mapping = CreateFileMappingW( hFile, NULL, PAGE_READONLY, 0, 0, NULL ); - CloseHandle( hFile ); - if (!mapping) return NtCurrentTeb()->LastStatusValue; + /* Create file mapping */ + hMapping = CreateFileMappingW(hFile, NULL, PAGE_READONLY, 0, 0, NULL); - module = MapViewOfFile( mapping, FILE_MAP_READ, 0, 0, 0 ); - CloseHandle( mapping ); - if (!module) return NtCurrentTeb()->LastStatusValue; + /* Close the file handle */ + CloseHandle(hFile); - /* make sure it's a valid PE file */ - if (!RtlImageNtHeader(module)) + /* If creating file mapping failed - return last status value */ + if (!hMapping) return NtCurrentTeb()->LastStatusValue; + + /* Map view of section */ + Status = NtMapViewOfSection(hMapping, + NtCurrentProcess(), + &lpBaseAddress, + 0, + 0, + 0, + &ViewSize, + ViewShare, + 0, + PAGE_READONLY); + + /* Close handle to the section */ + CloseHandle(hMapping); + + /* If mapping view of section failed - return last status value */ + if (!NT_SUCCESS(Status)) return NtCurrentTeb()->LastStatusValue; + + /* Make sure it's a valid PE file */ + if (!RtlImageNtHeader(lpBaseAddress)) { - UnmapViewOfFile( module ); + /* Unmap the view and return failure status */ + UnmapViewOfFile(lpBaseAddress); return STATUS_INVALID_IMAGE_FORMAT; } - *hmod = (HMODULE)((char *)module + 1); /* set low bit of handle to indicate datafile module */ + + /* Set low bit of handle to indicate datafile module */ + *hModule = (HMODULE)((ULONG_PTR)lpBaseAddress | 1); + + /* Load alternate resource module */ + //LdrLoadAlternateResourceModule(*hModule, FilenameW); + return STATUS_SUCCESS; } - /* * @implemented */ HINSTANCE WINAPI -LoadLibraryExW ( - LPCWSTR lpLibFileName, - HANDLE hFile, - DWORD dwFlags - ) +LoadLibraryExW(LPCWSTR lpLibFileName, + HANDLE hFile, + DWORD dwFlags) { - UNICODE_STRING DllName; - HINSTANCE hInst; - NTSTATUS Status; - PWSTR SearchPath; + UNICODE_STRING DllName; + HINSTANCE hInst; + NTSTATUS Status; + PWSTR SearchPath; ULONG DllCharacteristics = 0; - BOOL FreeString = FALSE; - - (void)hFile; - - if ( lpLibFileName == NULL ) - return NULL; + BOOL FreeString = FALSE; /* Check for any flags LdrLoadDll might be interested in */ if (dwFlags & DONT_RESOLVE_DLL_REFERENCES) @@ -332,67 +383,101 @@ LoadLibraryExW ( DllCharacteristics = IMAGE_FILE_EXECUTABLE_IMAGE; } - dwFlags &= - DONT_RESOLVE_DLL_REFERENCES | - LOAD_LIBRARY_AS_DATAFILE | - LOAD_WITH_ALTERED_SEARCH_PATH; + /* Build up a unicode dll name from null-terminated string */ + RtlInitUnicodeString(&DllName, (LPWSTR)lpLibFileName); - SearchPath = GetDllLoadPath( - dwFlags & LOAD_WITH_ALTERED_SEARCH_PATH ? lpLibFileName : NULL); + /* Lazy-initialize BasepExeLdrEntry */ + if (!BasepExeLdrEntry) + LdrEnumerateLoadedModules(0, BasepLocateExeLdrEntry, NtCurrentPeb()->ImageBaseAddress); - RtlInitUnicodeString(&DllName, (LPWSTR)lpLibFileName); - - if (DllName.Buffer[DllName.Length/sizeof(WCHAR) - 1] == L' ') - { - RtlCreateUnicodeString(&DllName, (LPWSTR)lpLibFileName); - while (DllName.Length > sizeof(WCHAR) && - DllName.Buffer[DllName.Length/sizeof(WCHAR) - 1] == L' ') - { - DllName.Length -= sizeof(WCHAR); - } - DllName.Buffer[DllName.Length/sizeof(WCHAR)] = UNICODE_NULL; - FreeString = TRUE; - } - - if (dwFlags & LOAD_LIBRARY_AS_DATAFILE) + /* Check if that module is our exe*/ + if (BasepExeLdrEntry && !(dwFlags & LOAD_LIBRARY_AS_DATAFILE) && + DllName.Length == BasepExeLdrEntry->FullDllName.Length) { - Status = LdrGetDllHandle(SearchPath, NULL, &DllName, (PVOID*)&hInst); - if (!NT_SUCCESS(Status)) + /* Lengths match and it's not a datafile, so perform name comparison */ + if (RtlEqualUnicodeString(&DllName, &BasepExeLdrEntry->FullDllName, TRUE)) { - /* The method in load_library_as_datafile allows searching for the - * 'native' libraries only - */ - Status = LoadLibraryAsDatafile(SearchPath, DllName.Buffer, &hInst); - goto done; + /* That's us! */ + return BasepExeLdrEntry->DllBase; } } - /* HACK!!! FIXME */ - if (InWindows) + /* Check for trailing spaces and remove them if necessary */ + if (DllName.Buffer[DllName.Length/sizeof(WCHAR) - 1] == L' ') { - /* Call the API Properly */ - Status = LdrLoadDll(SearchPath, - &DllCharacteristics, - &DllName, - (PVOID*)&hInst); + RtlCreateUnicodeString(&DllName, (LPWSTR)lpLibFileName); + while (DllName.Length > sizeof(WCHAR) && + DllName.Buffer[DllName.Length/sizeof(WCHAR) - 1] == L' ') + { + DllName.Length -= sizeof(WCHAR); + } + DllName.Buffer[DllName.Length/sizeof(WCHAR)] = UNICODE_NULL; + FreeString = TRUE; } - else + + /* Compute the load path */ + SearchPath = BasepGetDllPath((dwFlags & LOAD_WITH_ALTERED_SEARCH_PATH) ? (LPWSTR)lpLibFileName : NULL, + NULL); + + if (!SearchPath) { - /* Call the ROS API. NOTE: Don't fix this, I have a patch to merge later. */ - Status = LdrLoadDll(SearchPath, &dwFlags, &DllName, (PVOID*)&hInst); + /* Getting DLL path failed, so set last error, free mem and return */ + BaseSetLastNTError(STATUS_NO_MEMORY); + if (FreeString) RtlFreeUnicodeString(&DllName); + return NULL; } + _SEH2_TRY + { + if (dwFlags & LOAD_LIBRARY_AS_DATAFILE) + { + /* If the image is loaded as a datafile, try to get its handle */ + Status = LdrGetDllHandle(SearchPath, NULL, &DllName, (PVOID*)&hInst); + if (!NT_SUCCESS(Status)) + { + /* It's not loaded yet - so load it up */ + Status = BasepLoadLibraryAsDatafile(SearchPath, DllName.Buffer, &hInst); + _SEH2_YIELD(goto done;) + } + } + + /* HACK!!! FIXME */ + if (InWindows) + { + /* Call the API Properly */ + Status = LdrLoadDll(SearchPath, + &DllCharacteristics, + &DllName, + (PVOID*)&hInst); + } + else + { + /* Call the ROS API. NOTE: Don't fix this, I have a patch to merge later. */ + Status = LdrLoadDll(SearchPath, &dwFlags, &DllName, (PVOID*)&hInst); + } + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Status = _SEH2_GetExceptionCode(); + } _SEH2_END + + done: - RtlFreeHeap(RtlGetProcessHeap(), 0, SearchPath); - if (FreeString) - RtlFreeUnicodeString(&DllName); - if ( !NT_SUCCESS(Status)) - { - SetLastErrorByStatus (Status); - return NULL; - } + /* Free SearchPath buffer */ + RtlFreeHeap(RtlGetProcessHeap(), 0, SearchPath); - return hInst; + /* Free DllName string if it was dynamically allocated */ + if (FreeString) RtlFreeUnicodeString(&DllName); + + /* Set last error in failure case */ + if ( !NT_SUCCESS(Status)) + { + BaseSetLastNTError(Status); + return NULL; + } + + /* Return loaded module handle */ + return hInst; } From 07de2df4a2828dce87f2d4e0c44eb0cad042d857 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 7 Apr 2011 21:31:21 +0000 Subject: [PATCH 05/48] [SNDVOL32] - Implement retrieving current volume level and mute state and set the dialog controls on startup - Remove last line separator from GUI - Implement updating slider / switch control when another application modifies volume settings - Implement writing current selected lines settings into registry when the preference dialog is closed - Implement helper functions which receive / set volume level - Sndvol32 is now fully functional and has been tested in Windows XP SP3 - TODO: implement support for setting volume balance (left - right slider) - TODO: Resources have not yet been commited svn path=/trunk/; revision=51274 --- reactos/base/applications/sndvol32/dialog.c | 192 ++++++++++- reactos/base/applications/sndvol32/misc.c | 100 +++++- reactos/base/applications/sndvol32/mixer.c | 52 ++- .../base/applications/sndvol32/resources.h | 5 +- reactos/base/applications/sndvol32/sndvol32.c | 322 +++++++++++++++++- reactos/base/applications/sndvol32/sndvol32.h | 30 +- 6 files changed, 668 insertions(+), 33 deletions(-) diff --git a/reactos/base/applications/sndvol32/dialog.c b/reactos/base/applications/sndvol32/dialog.c index 3cddcd043e2..63b3233b1bf 100644 --- a/reactos/base/applications/sndvol32/dialog.c +++ b/reactos/base/applications/sndvol32/dialog.c @@ -159,7 +159,11 @@ AddDialogControl( SendMessage(hwnd, TBM_SETPAGESIZE, 0, (LPARAM) 1); /* set available range */ - SendMessage(hwnd, TBM_SETSEL, (WPARAM) FALSE, (LPARAM) MAKELONG(0, 5)); + //SendMessage(hwnd, TBM_SETSEL, (WPARAM) FALSE, (LPARAM) MAKELONG(0, 5)); + + /* set position */ + SendMessage(hwnd, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) 0); + } else if (!wcsicmp(ClassName, L"static") || !wcsicmp(ClassName, L"button")) { @@ -328,12 +332,15 @@ EnumConnectionsCallback( DWORD Flags; DWORD wID; RECT rect; + UINT ControlCount = 0, Index; + LPMIXERCONTROL Control = NULL; + HWND hDlgCtrl; PPREFERENCES_CONTEXT PrefContext = (PPREFERENCES_CONTEXT)Context; if (Line->cControls != 0) { /* get line name */ - if (SndMixerGetLineName(PrefContext->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, FALSE) == -1) + if (SndMixerGetLineName(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, FALSE) == -1) { /* failed to get line name */ LineName[0] = L'\0'; @@ -357,6 +364,74 @@ EnumConnectionsCallback( /* set line name */ SetDlgItemTextW(PrefContext->MixerWindow->hWnd, wID, Line->szName); + /* query controls */ + if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == TRUE) + { + /* now go through all controls and update their states */ + for(Index = 0; Index < ControlCount; Index++) + { + if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH) + { + MIXERCONTROLDETAILS_BOOLEAN Details; + + /* get volume control details */ + if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&Details) != -1) + { + /* update dialog control */ + wID = (PrefContext->Count + 1) * IDC_LINE_SWITCH; + + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + + if (hDlgCtrl != NULL) + { + /* check state */ + if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != Details.fValue) + { + /* update control state */ + SendMessageW(hDlgCtrl, BM_SETCHECK, (WPARAM)Details.fValue, 0); + } + } + } + } + else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER) + { + MIXERCONTROLDETAILS_UNSIGNED Details; + + /* get volume control details */ + if (SndMixerGetVolumeControlDetails(Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&Details) != -1) + { + /* update dialog control */ + DWORD Position; + DWORD Step = 0x10000 / 5; + + /* FIXME: give me granularity */ + Position = 5 - (Details.dwValue / Step); + + /* FIXME support left - right slider */ + wID = (PrefContext->Count + 1) * IDC_LINE_SLIDER_VERT; + + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + + if (hDlgCtrl != NULL) + { + /* check state */ + LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0); + if (OldPosition != Position) + { + /* update control state */ + SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, Position + Index); + } + } + } + } + } + + /* free controls */ + HeapFree(GetProcessHeap(), 0, Control); + } + /* increment dialog count */ PrefContext->Count++; @@ -365,7 +440,6 @@ EnumConnectionsCallback( /* now move the window */ MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom, TRUE); - } } } @@ -376,9 +450,117 @@ VOID LoadDialogCtrls( PPREFERENCES_CONTEXT PrefContext) { - /* set dialog count to one */ + HWND hDlgCtrl; + + /* set dialog count to zero */ PrefContext->Count = 0; /* enumerate controls */ - SndMixerEnumConnections(PrefContext->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext); + SndMixerEnumConnections(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, EnumConnectionsCallback, (PVOID)PrefContext); + + /* get last line seperator */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, IDC_LINE_SEP * PrefContext->Count); + + if (hDlgCtrl != NULL) + { + /* hide last seperator */ + ShowWindow(hDlgCtrl, SW_HIDE); + } + } + +VOID +UpdateDialogLineSwitchControl( + PPREFERENCES_CONTEXT PrefContext, + LPMIXERLINE Line, + LONG fValue) +{ + DWORD Index; + DWORD wID; + HWND hDlgCtrl; + WCHAR LineName[MIXER_LONG_NAME_CHARS]; + + /* find the index of this line */ + for(Index = 0; Index < PrefContext->Count; Index++) + { + /* get id */ + wID = (Index + 1) * IDC_LINE_NAME; + + if (GetDlgItemText(PrefContext->MixerWindow->hWnd, wID, LineName, MIXER_LONG_NAME_CHARS) == 0) + { + /* failed to retrieve id */ + continue; + } + + /* check if the line name matches */ + if (!wcsicmp(LineName, Line->szName)) + { + /* found matching line name */ + wID = (Index + 1) * IDC_LINE_SWITCH; + + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + + if (hDlgCtrl != NULL) + { + /* check state */ + if (SendMessageW(hDlgCtrl, BM_GETCHECK, 0, 0) != fValue) + { + /* update control state */ + SendMessageW(hDlgCtrl, BM_SETCHECK, (WPARAM)fValue, 0); + } + } + break; + } + } +} + +VOID +UpdateDialogLineSliderControl( + PPREFERENCES_CONTEXT PrefContext, + LPMIXERLINE Line, + DWORD dwControlID, + DWORD dwDialogID, + DWORD Position) +{ + DWORD Index; + DWORD wID; + HWND hDlgCtrl; + WCHAR LineName[MIXER_LONG_NAME_CHARS]; + + /* find the index of this line */ + for(Index = 0; Index < PrefContext->Count; Index++) + { + /* get id */ + wID = (Index + 1) * IDC_LINE_NAME; + + if (GetDlgItemText(PrefContext->MixerWindow->hWnd, wID, LineName, MIXER_LONG_NAME_CHARS) == 0) + { + /* failed to retrieve id */ + continue; + } + + /* check if the line name matches */ + if (!wcsicmp(LineName, Line->szName)) + { + /* found matching line name */ + wID = (Index + 1) * dwDialogID; + + /* get dialog control */ + hDlgCtrl = GetDlgItem(PrefContext->MixerWindow->hWnd, wID); + + if (hDlgCtrl != NULL) + { + /* check state */ + LRESULT OldPosition = SendMessageW(hDlgCtrl, TBM_GETPOS, 0, 0); + if (OldPosition != Position) + { + /* update control state */ + SendMessageW(hDlgCtrl, TBM_SETPOS, (WPARAM)TRUE, Position + Index); + } + } + break; + } + } +} + diff --git a/reactos/base/applications/sndvol32/misc.c b/reactos/base/applications/sndvol32/misc.c index 169e6114339..48c1d955f3b 100644 --- a/reactos/base/applications/sndvol32/misc.c +++ b/reactos/base/applications/sndvol32/misc.c @@ -126,13 +126,6 @@ LoadAndFormatString(IN HINSTANCE hInstance, return Ret; } -/* NOTE: do NOT modify SNDVOL_REG_LINESTATE for binary compatibility with XP! */ -typedef struct _SNDVOL_REG_LINESTATE -{ - DWORD Flags; - WCHAR LineName[MIXER_LONG_NAME_CHARS]; -} SNDVOL_REG_LINESTATE, *PSNDVOL_REG_LINESTATE; - static const TCHAR AppRegSettings[] = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Volume Control"); static const TCHAR AppOptionsKey[] = TEXT("Options"); static const TCHAR LineStatesValue[] = TEXT("LineStates"); @@ -162,6 +155,97 @@ CloseAppConfig(VOID) RegCloseKey(hAppSettingsKey); hAppSettingsKey = NULL; } +} + +BOOL +WriteLineConfig(IN LPTSTR szDeviceName, + IN LPTSTR szLineName, + IN LPTSTR szControlName, + IN DWORD Flags) +{ + HKEY hLineKey; + DWORD Type; + DWORD i, Size = 0; + PSNDVOL_REG_LINESTATE LineStates = NULL; + TCHAR szDevRegKey[MAX_PATH]; + BOOL Ret = FALSE; + + _stprintf(szDevRegKey, + TEXT("%s\\%s"), + szDeviceName, + szLineName); + + if (RegCreateKeyEx(hAppSettingsKey, + szDevRegKey, + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_READ | KEY_WRITE, + NULL, + &hLineKey, + NULL) == ERROR_SUCCESS) + { + if (RegQueryValueEx(hLineKey, + LineStatesValue, + NULL, + &Type, + NULL, + &Size) != ERROR_SUCCESS || + Type != REG_BINARY || + Size == 0 || (Size % sizeof(SNDVOL_REG_LINESTATE) != 0)) + { + goto ExitClose; + } + + LineStates = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + Size); + + if (LineStates != NULL) + { + if (RegQueryValueEx(hLineKey, + LineStatesValue, + NULL, + &Type, + (LPBYTE)LineStates, + &Size) != ERROR_SUCCESS || + Type != REG_BINARY || + Size == 0 || (Size % sizeof(SNDVOL_REG_LINESTATE) != 0)) + { + goto ExitClose; + } + + /* try to find the control */ + for (i = 0; i < Size / sizeof(SNDVOL_REG_LINESTATE); i++) + { + if (!_tcscmp(szControlName, + LineStates[i].LineName)) + { + LineStates[i].Flags = Flags; + Ret = TRUE; + break; + } + } + + /* now update line states */ + if (Ret) + { + RegSetValueEx(hLineKey, LineStatesValue, 0, REG_BINARY, (const BYTE*)LineStates, Size); + } + } + +ExitClose: + HeapFree(GetProcessHeap(), + 0, + LineStates); + RegCloseKey(hLineKey); + } + + return Ret; + + + + } BOOL @@ -205,7 +289,7 @@ ReadLineConfig(IN LPTSTR szDeviceName, } LineStates = HeapAlloc(GetProcessHeap(), - 0, + HEAP_ZERO_MEMORY, Size); if (LineStates != NULL) diff --git a/reactos/base/applications/sndvol32/mixer.c b/reactos/base/applications/sndvol32/mixer.c index d4e883ba2a9..0fbc172fcec 100644 --- a/reactos/base/applications/sndvol32/mixer.c +++ b/reactos/base/applications/sndvol32/mixer.c @@ -107,7 +107,7 @@ SndMixerClose(PSND_MIXER Mixer) } } -static BOOL +BOOL SndMixerQueryControls(PSND_MIXER Mixer, PUINT DisplayControls, LPMIXERLINE LineInfo, @@ -116,7 +116,7 @@ SndMixerQueryControls(PSND_MIXER Mixer, if (LineInfo->cControls > 0) { *Controls = (MIXERCONTROL*) HeapAlloc(GetProcessHeap(), - 0, + HEAP_ZERO_MEMORY, LineInfo->cControls * sizeof(MIXERCONTROL)); if (*Controls != NULL) { @@ -207,7 +207,7 @@ SndMixerQueryConnections(PSND_MIXER Mixer, } Con = (SND_MIXER_CONNECTION*) HeapAlloc(GetProcessHeap(), - 0, + HEAP_ZERO_MEMORY, sizeof(SND_MIXER_CONNECTION)); if (Con != NULL) { @@ -469,6 +469,52 @@ SndMixerEnumProducts(PSND_MIXER Mixer, return Ret; } +INT +SndMixerSetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails) +{ + MIXERCONTROLDETAILS MixerDetails; + + if (Mixer->hmx) + { + MixerDetails.cbStruct = sizeof(MIXERCONTROLDETAILS); + MixerDetails.dwControlID = dwControlID; + MixerDetails.cChannels = 1; //FIXME + MixerDetails.cMultipleItems = 0; + MixerDetails.cbDetails = cbDetails; + MixerDetails.paDetails = paDetails; + + if (mixerSetControlDetails((HMIXEROBJ)Mixer->hmx, &MixerDetails, MIXER_GETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR) + { + return 1; + } + } + + return -1; +} + + +INT +SndMixerGetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails) +{ + MIXERCONTROLDETAILS MixerDetails; + + if (Mixer->hmx) + { + MixerDetails.cbStruct = sizeof(MIXERCONTROLDETAILS); + MixerDetails.dwControlID = dwControlID; + MixerDetails.cChannels = 1; //FIXME + MixerDetails.cMultipleItems = 0; + MixerDetails.cbDetails = cbDetails; + MixerDetails.paDetails = paDetails; + + if (mixerGetControlDetails((HMIXEROBJ)Mixer->hmx, &MixerDetails, MIXER_GETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR) + { + return 1; + } + } + return -1; +} + INT SndMixerGetDestinationCount(PSND_MIXER Mixer) { diff --git a/reactos/base/applications/sndvol32/resources.h b/reactos/base/applications/sndvol32/resources.h index 2fa18a50a66..737f1794dd8 100644 --- a/reactos/base/applications/sndvol32/resources.h +++ b/reactos/base/applications/sndvol32/resources.h @@ -19,10 +19,13 @@ #define IDC_LABELCONTROLS 1006 #define IDC_CONTROLS 1007 #define IDC_LINE_NAME 1008 +#define IDC_LINE_SWITCH 1009 +#define IDC_LINE_SLIDER_HORZ 1010 +#define IDC_LINE_SLIDER_VERT 1011 +#define IDC_LINE_SEP 1012 #define IDS_SNDVOL32 100 #define IDS_NOMIXERDEVICES 101 - #define IDD_VOLUME_CTRL 200 #define IDD_PREFERENCES 201 diff --git a/reactos/base/applications/sndvol32/sndvol32.c b/reactos/base/applications/sndvol32/sndvol32.c index 6c8ad7c55c1..df69bb9cf0a 100644 --- a/reactos/base/applications/sndvol32/sndvol32.c +++ b/reactos/base/applications/sndvol32/sndvol32.c @@ -338,6 +338,53 @@ UpdatePrefDlgControls(PPREFERENCES_CONTEXT Context, } } +static +VOID +WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) +{ + HWND hwndControls; + INT Count, Index; + WCHAR LineName[MIXER_LONG_NAME_CHARS]; + WCHAR DestinationName[MIXER_LONG_NAME_CHARS]; + DWORD Flags; + + /* get list view */ + hwndControls = GetDlgItem(hwndDlg, IDC_CONTROLS); + + /* get list item count */ + Count = ListView_GetItemCount(hwndControls); + + /* sanity check */ + assert(Count); + + if (SndMixerGetLineName(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, DestinationName, MIXER_LONG_NAME_CHARS, TRUE) == -1) + { + /* failed to get destination line name */ + return; + } + + /* allocate line states array */ + for(Index = 0; Index < Count; Index++) + { + /* set to empty */ + LineName[0] = L'\0'; + + /* get item text */ + ListView_GetItemText(hwndControls, Index, 0, LineName, MIXER_LONG_NAME_CHARS); + + /* make sure it is null terminated */ + LineName[MIXER_LONG_NAME_CHARS-1] = L'\0'; + + /* get check state */ + Flags = (ListView_GetCheckState(hwndControls, Index) == 0 ? 0x4 : 0); + + /* write configuration */ + WriteLineConfig(Preferences.DeviceName, DestinationName, LineName, Flags); + } + + +} + static INT_PTR CALLBACK DlgPreferencesProc(HWND hwndDlg, UINT uMsg, @@ -444,6 +491,12 @@ DlgPreferencesProc(HWND hwndDlg, } case IDOK: + { + /* write line settings */ + WriteLineSettings(Preferences, hwndDlg); + + /* fall through */ + } case IDCANCEL: { EndDialog(hwndDlg, @@ -454,18 +507,6 @@ DlgPreferencesProc(HWND hwndDlg, break; } - case MM_MIXM_LINE_CHANGE: - { - DPRINT("MM_MIXM_LINE_CHANGE\n"); - break; - } - - case MM_MIXM_CONTROL_CHANGE: - { - DPRINT("MM_MIXM_CONTROL_CHANGE\n"); - break; - } - case WM_INITDIALOG: { PREFERENCES_FILL_DEVICES FillDevContext; @@ -567,6 +608,149 @@ RebuildMixerWindowControls(PPREFERENCES_CONTEXT PrefContext) return TRUE; } +static +BOOL +CALLBACK +SetVolumeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Ctx) +{ + UINT ControlCount = 0, Index; + LPMIXERCONTROL Control = NULL; + MIXERCONTROLDETAILS_UNSIGNED uDetails; + MIXERCONTROLDETAILS_BOOLEAN bDetails; + PSET_VOLUME_CONTEXT Context = (PSET_VOLUME_CONTEXT)Ctx; + + /* check if the line name is equal */ + if (wcsicmp(Line->szName, Context->LineName)) + { + /* it is not */ + return TRUE; + } + + /* query controls */ + if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == FALSE) + { + /* failed to query for controls */ + return FALSE; + } + + /* now go through all controls and compare control ids */ + for(Index = 0; Index < ControlCount; Index++) + { + if (Context->bVertical) + { + if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER) + { + /* FIXME: give me granularity */ + DWORD Step = 0x10000 / 5; + + /* set up details */ + uDetails.dwValue = 0x10000 - Step * Context->SliderPos; + + /* set volume */ + SndMixerSetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&uDetails); + + /* done */ + break; + } + } + else if (Context->bSwitch) + { + if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH) + { + /* set up details */ + bDetails.fValue = Context->SliderPos; + + /* set volume */ + SndMixerSetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&bDetails); + + /* done */ + break; + } + } + else + { + /* FIXME: implement left - right channel switch support */ + assert(0); + } + } + + /* free controls */ + HeapFree(GetProcessHeap(), 0, Control); + + + /* done */ + return TRUE; +} + +static +BOOL +CALLBACK +MixerControlChangeCallback(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context) +{ + UINT ControlCount = 0, Index; + LPMIXERCONTROL Control = NULL; + + /* check if the line has controls */ + if (Line->cControls == 0) + { + /* no controls */ + return TRUE; + } + + /* query controls */ + if (SndMixerQueryControls(Mixer, &ControlCount, Line, &Control) == FALSE) + { + /* failed to query for controls */ + return FALSE; + } + + /* now go through all controls and compare control ids */ + for(Index = 0; Index < ControlCount; Index++) + { + if (Control[Index].dwControlID == PtrToUlong(Context)) + { + if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_SWITCH) + { + MIXERCONTROLDETAILS_BOOLEAN Details; + + /* get volume control details */ + if (SndMixerGetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_BOOLEAN), (LPVOID)&Details) != -1) + { + /* update dialog control */ + UpdateDialogLineSwitchControl(&Preferences, Line, Details.fValue); + } + } + else if ((Control[Index].dwControlType & MIXERCONTROL_CT_CLASS_MASK) == MIXERCONTROL_CT_CLASS_FADER) + { + MIXERCONTROLDETAILS_UNSIGNED Details; + + /* get volume control details */ + if (SndMixerGetVolumeControlDetails(Preferences.MixerWindow->Mixer, Control[Index].dwControlID, sizeof(MIXERCONTROLDETAILS_UNSIGNED), (LPVOID)&Details) != -1) + { + /* update dialog control */ + DWORD Position; + DWORD Step = 0x10000 / 5; + + /* FIXME: give me granularity */ + Position = 5 - (Details.dwValue / Step); + + /* update volume control slider */ + UpdateDialogLineSliderControl(&Preferences, Line, Control[Index].dwControlID, IDC_LINE_SLIDER_VERT, Position); + } + } + break; + } + } + + /* free controls */ + HeapFree(GetProcessHeap(), 0, Control); + + + /* done */ + return TRUE; +} + + static LRESULT CALLBACK MainWindowProc(HWND hwnd, UINT uMsg, @@ -574,7 +758,9 @@ MainWindowProc(HWND hwnd, LPARAM lParam) { PMIXER_WINDOW MixerWindow; + DWORD CtrlID, LineOffset; LRESULT Result = 0; + SET_VOLUME_CONTEXT Context; switch (uMsg) { @@ -598,7 +784,46 @@ MainWindowProc(HWND hwnd, DlgPreferencesProc, (LPARAM)&Preferences) == IDOK) { - /* FIXME - update window */ + /* update window */ + TCHAR szProduct[MAXPNAMELEN]; + + /* get mixer product name */ + if (SndMixerGetProductName(MixerWindow->Mixer, + szProduct, + sizeof(szProduct) / sizeof(szProduct[0])) == -1) + { + /* failed to get name */ + szProduct[0] = L'\0'; + } + else + { + /* copy product */ + wcscpy(Preferences.DeviceName, szProduct); + } + + /* destroy old status bar */ + DestroyWindow(MixerWindow->hStatusBar); + + /* rebuild dialog controls */ + if (RebuildMixerWindowControls(&Preferences)) + { + DPRINT("Rebuilding mixer window controls failed!\n"); + } + + /* create status window */ + MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, + NULL, + hwnd, + 0); + + /* set status bar */ + if (MixerWindow->hStatusBar) + { + SendMessage(MixerWindow->hStatusBar, + WM_SETTEXT, + 0, + (LPARAM)szProduct); + } } break; } @@ -619,6 +844,35 @@ MainWindowProc(HWND hwnd, hAppIcon); break; } + + default: + { + /* get button id */ + CtrlID = LOWORD(wParam); + + /* check if the message is from the line switch */ + if (HIWORD(wParam) == BN_CLICKED && (CtrlID % IDC_LINE_SWITCH == 0)) + { + /* compute line offset */ + LineOffset = CtrlID / IDC_LINE_SWITCH; + + /* compute window id of line name static control */ + CtrlID = LineOffset * IDC_LINE_NAME; + + /* get line name */ + if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0) + { + /* setup context */ + Context.SliderPos = SendMessage((HWND)lParam, BM_GETCHECK, 0, 0); + Context.bVertical = FALSE; + Context.bSwitch = TRUE; + + /* set volume */ + SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context); + } + } + } + } break; } @@ -632,9 +886,49 @@ MainWindowProc(HWND hwnd, case MM_MIXM_CONTROL_CHANGE: { DPRINT("MM_MIXM_CONTROL_CHANGE\n"); + + /* get mixer window */ + MixerWindow = GetWindowData(hwnd, + MIXER_WINDOW); + + /* sanity checks */ + assert(MixerWindow); + assert(MixerWindow->Mixer->hmx == (HMIXER)wParam); + + SndMixerEnumConnections(MixerWindow->Mixer, Preferences.SelectedLine, MixerControlChangeCallback, (PVOID)lParam); break; } + case WM_VSCROLL: + { + if (LOWORD(wParam) == TB_THUMBTRACK) + { + /* get dialog item ctrl */ + CtrlID = GetDlgCtrlID((HWND)lParam); + + /* get line index */ + LineOffset = CtrlID / IDC_LINE_SLIDER_VERT; + + /* compute window id of line name static control */ + CtrlID = LineOffset * IDC_LINE_NAME; + + /* get line name */ + if (GetDlgItemTextW(hwnd, CtrlID, Context.LineName, MIXER_LONG_NAME_CHARS) != 0) + { + /* setup context */ + Context.SliderPos = HIWORD(wParam); + Context.bVertical = TRUE; + Context.bSwitch = FALSE; + + /* set volume */ + SndMixerEnumConnections(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, SetVolumeCallback, (LPVOID)&Context); + } + } + + break; + } + + case WM_CREATE: { MixerWindow = ((LPCREATESTRUCT)lParam)->lpCreateParams; @@ -775,7 +1069,7 @@ CreateApplicationWindow(VOID) hWnd = CreateWindowEx(WS_EX_WINDOWEDGE | WS_EX_CONTROLPARENT, SZ_APP_CLASS, lpAppTitle, - WS_OVERLAPPEDWINDOW | WS_VISIBLE, //WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE, + WS_DLGFRAME | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE, 0, 0, 300, 315, NULL, LoadMenu(hAppInstance, diff --git a/reactos/base/applications/sndvol32/sndvol32.h b/reactos/base/applications/sndvol32/sndvol32.h index 9cbae1ccbf8..520ff7d59ff 100644 --- a/reactos/base/applications/sndvol32/sndvol32.h +++ b/reactos/base/applications/sndvol32/sndvol32.h @@ -84,6 +84,22 @@ typedef struct _PREFERENCES_CONTEXT DWORD tmp; } PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT; +typedef struct +{ + WCHAR LineName[MIXER_LONG_NAME_CHARS]; + UINT SliderPos; + BOOL bVertical; + BOOL bSwitch; + +}SET_VOLUME_CONTEXT, *PSET_VOLUME_CONTEXT; + +/* NOTE: do NOT modify SNDVOL_REG_LINESTATE for binary compatibility with XP! */ +typedef struct _SNDVOL_REG_LINESTATE +{ + DWORD Flags; + WCHAR LineName[MIXER_LONG_NAME_CHARS]; +} SNDVOL_REG_LINESTATE, *PSNDVOL_REG_LINESTATE; + typedef BOOL (CALLBACK *PFNSNDMIXENUMLINES)(PSND_MIXER Mixer, LPMIXERLINE Line, UINT DisplayControls, PVOID Context); typedef BOOL (CALLBACK *PFNSNDMIXENUMCONNECTIONS)(PSND_MIXER Mixer, DWORD LineID, LPMIXERLINE Line, PVOID Context); @@ -94,6 +110,8 @@ VOID SndMixerDestroy(PSND_MIXER Mixer); VOID SndMixerClose(PSND_MIXER Mixer); BOOL SndMixerSelect(PSND_MIXER Mixer, UINT MixerId); UINT SndMixerGetSelection(PSND_MIXER Mixer); +INT SndMixerSetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails); +INT SndMixerGetVolumeControlDetails(PSND_MIXER Mixer, DWORD dwControlID, DWORD cbDetails, LPVOID paDetails); INT SndMixerGetProductName(PSND_MIXER Mixer, LPTSTR lpBuffer, UINT uSize); INT SndMixerGetLineName(PSND_MIXER Mixer, DWORD LineID, LPTSTR lpBuffer, UINT uSize, BOOL LongName); BOOL SndMixerEnumProducts(PSND_MIXER Mixer, PFNSNDMIXENUMPRODUCTS EnumProc, PVOID Context); @@ -101,12 +119,14 @@ INT SndMixerGetDestinationCount(PSND_MIXER Mixer); BOOL SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Context); BOOL SndMixerEnumConnections(PSND_MIXER Mixer, DWORD LineID, PFNSNDMIXENUMCONNECTIONS EnumProc, PVOID Context); BOOL SndMixerIsDisplayControl(PSND_MIXER Mixer, LPMIXERCONTROL Control); +BOOL SndMixerQueryControls(PSND_MIXER Mixer, PUINT DisplayControls, LPMIXERLINE LineInfo, LPMIXERCONTROL *Controls); /* * dialog.c */ -VOID -LoadDialogCtrls(PPREFERENCES_CONTEXT PrefContext); +VOID LoadDialogCtrls(PPREFERENCES_CONTEXT PrefContext); +VOID UpdateDialogLineSliderControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, DWORD dwControlID, DWORD DialogID, DWORD Position); +VOID UpdateDialogLineSwitchControl(PPREFERENCES_CONTEXT PrefContext, LPMIXERLINE Line, LONG fValue); /* * MISC @@ -137,4 +157,10 @@ ReadLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szControlName, OUT DWORD *Flags); +BOOL +WriteLineConfig(IN LPTSTR szDeviceName, + IN LPTSTR szLineName, + IN LPTSTR szControlName, + IN DWORD Flags); + #endif /* __SNDVOL32_H */ From 0a6bb0f70d386493ec13c71d600ad1b5d64f5f91 Mon Sep 17 00:00:00 2001 From: Michael Martin Date: Thu, 7 Apr 2011 23:57:00 +0000 Subject: [PATCH 06/48] [Win32k] - co_IntSendMessageWithCallBack: Insert the message into the messagequeue before attempting to wake the queue. Probably fixes bug 5580. - Remove the use of MSQ_SENTNOWAIT that was used to determine if messagequeues needed dereferencing. Instead use the SenderQueue member of the message. - Do not close the NewMessagesHandle member of the messagequeue in IntDereferenceMessageQueue. The last reference on a messagequeue could be released by a thread belonging to a process other than the on that created the handle. Also the creating process could already be long gone. Instead close this handle in MsqDestroyMessageQueue which is in the thread/process that created the handle. Problem noticed by smiley. - Revert change done in 51254. James you are indeed correct. Testing shows that the WM_PARENTNOTIFY message is not sent when the program is exiting. svn path=/trunk/; revision=51275 --- .../win32/win32k/include/msgqueue.h | 3 -- .../subsystems/win32/win32k/ntuser/message.c | 6 ++-- .../subsystems/win32/win32k/ntuser/msgqueue.c | 30 ++++++++++--------- .../subsystems/win32/win32k/ntuser/window.c | 9 +++--- 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/reactos/subsystems/win32/win32k/include/msgqueue.h b/reactos/subsystems/win32/win32k/include/msgqueue.h index 5af589ee0a8..1f412f56945 100644 --- a/reactos/subsystems/win32/win32k/include/msgqueue.h +++ b/reactos/subsystems/win32/win32k/include/msgqueue.h @@ -6,7 +6,6 @@ #define MSQ_NORMAL 0 #define MSQ_ISHOOK 1 #define MSQ_ISEVENT 2 -#define MSQ_SENTNOWAIT 0x80000000 #define QSIDCOUNTS 6 @@ -277,8 +276,6 @@ VOID APIENTRY MsqRemoveWindowMessagesFromQueue(PVOID pWindow); /* F*(&$ headers, DPRINT("Free message queue 0x%x\n", (MsgQueue)); \ if ((MsgQueue)->NewMessages != NULL) \ ObDereferenceObject((MsgQueue)->NewMessages); \ - if ((MsgQueue)->NewMessagesHandle != NULL) \ - ZwClose((MsgQueue)->NewMessagesHandle); \ ExFreePoolWithTag((MsgQueue), USERTAG_Q); \ } \ } while(0) diff --git a/reactos/subsystems/win32/win32k/ntuser/message.c b/reactos/subsystems/win32/win32k/ntuser/message.c index 31fc6ac7d7c..f2f5dae891d 100644 --- a/reactos/subsystems/win32/win32k/ntuser/message.c +++ b/reactos/subsystems/win32/win32k/ntuser/message.c @@ -1483,13 +1483,13 @@ co_IntSendMessageWithCallBack( HWND hWnd, IntReferenceMessageQueue(Window->head.pti->MessageQueue); Message->CompletionCallback = CompletionCallback; Message->CompletionCallbackContext = CompletionCallbackContext; - Message->HookMessage = MSQ_NORMAL | MSQ_SENTNOWAIT; + Message->HookMessage = MSQ_NORMAL; Message->HasPackedLParam = (lParamBufferSize > 0); - Message->QS_Flags = QS_SENDMESSAGE; - MsqWakeQueue(Window->head.pti->MessageQueue, QS_SENDMESSAGE, FALSE); InsertTailList(&Window->head.pti->MessageQueue->SentMessagesListHead, &Message->ListEntry); + MsqWakeQueue(Window->head.pti->MessageQueue, QS_SENDMESSAGE, TRUE); + IntDereferenceMessageQueue(Window->head.pti->MessageQueue); RETURN(TRUE); diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index 6af6000137c..16cd57889cd 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -479,7 +479,7 @@ co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue) RemoveEntryList(&Message->ListEntry); /* remove the message from the dispatching list if needed, so lock the sender's message queue */ - if (!(Message->HookMessage & MSQ_SENTNOWAIT)) + if (Message->SenderQueue) { if (Message->DispatchingListEntry.Flink != NULL) { @@ -523,8 +523,8 @@ co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue) Result); } - /* Only if it is not a no wait message */ - if (!(Message->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if (Message->SenderQueue) { IntDereferenceMessageQueue(Message->SenderQueue); IntDereferenceMessageQueue(MessageQueue); @@ -588,8 +588,8 @@ MsqRemoveWindowMessagesFromQueue(PVOID pWindow) RemoveEntryList(&SentMessage->ListEntry); ClearMsgBitsMask(MessageQueue, SentMessage->QS_Flags); - /* remove the message from the dispatching list if neede */ - if ((!(SentMessage->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if ((SentMessage->SenderQueue) && (SentMessage->DispatchingListEntry.Flink != NULL)) { RemoveEntryList(&SentMessage->DispatchingListEntry); @@ -607,8 +607,8 @@ MsqRemoveWindowMessagesFromQueue(PVOID pWindow) ExFreePool((PVOID)SentMessage->Msg.lParam); } - /* Only if it is not a no wait message */ - if (!(SentMessage->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if (SentMessage->SenderQueue) { /* dereference our and the sender's message queue */ IntDereferenceMessageQueue(MessageQueue); @@ -1451,9 +1451,8 @@ MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue) ListEntry); DPRINT("Notify the sender and remove a message from the queue that had not been dispatched\n"); - - /* remove the message from the dispatching list if needed */ - if ((!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if ((CurrentSentMessage->SenderQueue) && (CurrentSentMessage->DispatchingListEntry.Flink != NULL)) { RemoveEntryList(&CurrentSentMessage->DispatchingListEntry); @@ -1471,8 +1470,8 @@ MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue) ExFreePool((PVOID)CurrentSentMessage->Msg.lParam); } - /* Only if it is not a no wait message */ - if (!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if (CurrentSentMessage->SenderQueue) { /* dereference our and the sender's message queue */ IntDereferenceMessageQueue(MessageQueue); @@ -1511,8 +1510,8 @@ MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue) ExFreePool((PVOID)CurrentSentMessage->Msg.lParam); } - /* Only if it is not a no wait message */ - if (!(CurrentSentMessage->HookMessage & MSQ_SENTNOWAIT)) + /* Only if the message has a sender was the queue referenced */ + if (CurrentSentMessage->SenderQueue) { /* dereference our and the sender's message queue */ IntDereferenceMessageQueue(MessageQueue); @@ -1592,6 +1591,9 @@ MsqDestroyMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue) /* clean it up */ MsqCleanupMessageQueue(MessageQueue); + if (MessageQueue->NewMessagesHandle != NULL) + ZwClose(MessageQueue->NewMessagesHandle); + MessageQueue->NewMessagesHandle = NULL; /* decrease the reference counter, if it hits zero, the queue will be freed */ IntDereferenceMessageQueue(MessageQueue); } diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index f07a5455517..e94d19cf5b9 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -1531,11 +1531,10 @@ static void IntSendParentNotify( PWND pWindow, UINT msg ) { USER_REFERENCE_ENTRY Ref; UserRefObjectCo(pWindow->spwndParent, &Ref); - // Should be co_IntSendMessage please retest, Ref to Chg, revision 51254... - co_IntSendMessageNoWait( pWindow->spwndParent->head.h, - WM_PARENTNOTIFY, - MAKEWPARAM( msg, pWindow->IDMenu), - (LPARAM)pWindow->head.h ); + co_IntSendMessage( pWindow->spwndParent->head.h, + WM_PARENTNOTIFY, + MAKEWPARAM( msg, pWindow->IDMenu), + (LPARAM)pWindow->head.h ); UserDerefObjectCo(pWindow->spwndParent); } } From ef01012506c40826086f529db00e96f44ac63c85 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Fri, 8 Apr 2011 08:35:48 +0000 Subject: [PATCH 07/48] [KMTEST] - Thomas Faber: Reset test results before starting a new FsRtl test. See issue #6083 for more details. svn path=/trunk/; revision=51276 --- rostests/drivers/kmtest/ntos_fsrtl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rostests/drivers/kmtest/ntos_fsrtl.c b/rostests/drivers/kmtest/ntos_fsrtl.c index f94b2529160..5eef05afdd7 100644 --- a/rostests/drivers/kmtest/ntos_fsrtl.c +++ b/rostests/drivers/kmtest/ntos_fsrtl.c @@ -334,6 +334,8 @@ VOID FsRtlIsDbcsInExpressionTest() VOID NtoskrnlFsRtlTest(HANDLE KeyHandle) { + StartTest(); + FsRtlIsNameInExpressionTest(); FsRtlIsDbcsInExpressionTest(); From a3690ead558d52fa602a18d1a8f11f817e148064 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Fri, 8 Apr 2011 09:21:41 +0000 Subject: [PATCH 08/48] [KERNEL32] - Zero-initialize base address in BasepLoadLibraryAsDatafile. Should fix 2nd stage problems. - Add a trace debugprint, silented by default. See issue #6092 for more details. svn path=/trunk/; revision=51277 --- reactos/dll/win32/kernel32/misc/ldr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/kernel32/misc/ldr.c b/reactos/dll/win32/kernel32/misc/ldr.c index 62e02fb696a..03c3ed1053d 100644 --- a/reactos/dll/win32/kernel32/misc/ldr.c +++ b/reactos/dll/win32/kernel32/misc/ldr.c @@ -274,7 +274,7 @@ BasepLoadLibraryAsDatafile(PWSTR Path, LPCWSTR Name, HMODULE *hModule) HANDLE hFile = INVALID_HANDLE_VALUE; HANDLE hMapping; NTSTATUS Status; - PVOID lpBaseAddress; + PVOID lpBaseAddress = NULL; SIZE_T ViewSize; //PUNICODE_STRING OriginalName; //UNICODE_STRING dotDLL = RTL_CONSTANT_STRING(L".DLL"); @@ -282,6 +282,8 @@ BasepLoadLibraryAsDatafile(PWSTR Path, LPCWSTR Name, HMODULE *hModule) /* Zero out handle value */ *hModule = 0; + DPRINT("BasepLoadLibraryAsDatafile(%S %S %p)\n", Path, Name, hModule); + /*Status = RtlDosApplyFileIsolationRedirection_Ustr(TRUE, Name, &dotDLL, @@ -470,7 +472,7 @@ done: if (FreeString) RtlFreeUnicodeString(&DllName); /* Set last error in failure case */ - if ( !NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) { BaseSetLastNTError(Status); return NULL; From b63bf768a6fd5c4c5ed9fd6f5562a21e86491444 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Fri, 8 Apr 2011 12:30:33 +0000 Subject: [PATCH 09/48] [NTOSKRNL] ExInitializePushLock takes a PEX_PUSH_LOCK as parameter, do it the same in the inline version instead of casting to PULONG_PTR everywhere svn path=/trunk/; revision=51278 --- reactos/ntoskrnl/cc/view.c | 2 +- reactos/ntoskrnl/config/cminit.c | 6 +++--- reactos/ntoskrnl/config/cmkcbncb.c | 12 ++++++------ reactos/ntoskrnl/config/cmsysini.c | 6 +++--- reactos/ntoskrnl/ex/handle.c | 6 +++--- reactos/ntoskrnl/include/internal/ex.h | 4 ++-- reactos/ntoskrnl/mm/ARM3/mminit.c | 2 +- reactos/ntoskrnl/ob/obdir.c | 2 +- reactos/ntoskrnl/ob/obsdcach.c | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/reactos/ntoskrnl/cc/view.c b/reactos/ntoskrnl/cc/view.c index a17e2c942fe..e881188071f 100644 --- a/reactos/ntoskrnl/cc/view.c +++ b/reactos/ntoskrnl/cc/view.c @@ -596,7 +596,7 @@ CcRosCreateCacheSegment(PBCB Bcb, current->DirtySegmentListEntry.Flink = NULL; current->DirtySegmentListEntry.Blink = NULL; current->ReferenceCount = 1; - ExInitializePushLock((PULONG_PTR)¤t->Lock); + ExInitializePushLock(¤t->Lock); ExAcquirePushLockExclusive(¤t->Lock); KeAcquireGuardedMutex(&ViewLock); diff --git a/reactos/ntoskrnl/config/cminit.c b/reactos/ntoskrnl/config/cminit.c index be7efc1660f..6d85ef7d905 100644 --- a/reactos/ntoskrnl/config/cminit.c +++ b/reactos/ntoskrnl/config/cminit.c @@ -137,11 +137,11 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive, ExInitializeResourceLite(Hive->FlusherLock); /* Setup hive locks */ - ExInitializePushLock((PULONG_PTR)&Hive->HiveLock); + ExInitializePushLock(&Hive->HiveLock); Hive->HiveLockOwner = NULL; - ExInitializePushLock((PULONG_PTR)&Hive->WriterLock); + ExInitializePushLock(&Hive->WriterLock); Hive->WriterLockOwner = NULL; - ExInitializePushLock((PULONG_PTR)&Hive->SecurityLock); + ExInitializePushLock(&Hive->SecurityLock); Hive->HiveSecurityLockOwner = NULL; /* Clear file names */ diff --git a/reactos/ntoskrnl/config/cmkcbncb.c b/reactos/ntoskrnl/config/cmkcbncb.c index 1c093403c48..8fb6afba111 100644 --- a/reactos/ntoskrnl/config/cmkcbncb.c +++ b/reactos/ntoskrnl/config/cmkcbncb.c @@ -45,7 +45,7 @@ CmpInitializeCache(VOID) for (i = 0;i < CmpHashTableSize; i++) { /* Setup the pushlock */ - ExInitializePushLock((PULONG_PTR)&CmpCacheTable[i].Lock); + ExInitializePushLock(&CmpCacheTable[i].Lock); } /* Calculate length for the name cache */ @@ -66,7 +66,7 @@ CmpInitializeCache(VOID) for (i = 0;i < CmpHashTableSize; i++) { /* Setup the pushlock */ - ExInitializePushLock((PULONG_PTR)&CmpNameCacheTable[i].Lock); + ExInitializePushLock(&CmpNameCacheTable[i].Lock); } /* Setup the delayed close table */ @@ -1072,9 +1072,9 @@ EnlistKeyBodyWithKCB(IN PCM_KEY_BODY KeyBody, if (Flags & CMP_ENLIST_KCB_LOCKED_SHARED) { /* It's shared, so release the KCB shared lock */ - CmpReleaseKcbLock(KeyBody->KeyControlBlock); + CmpReleaseKcbLock(KeyBody->KeyControlBlock); ASSERT(!(Flags & CMP_ENLIST_KCB_LOCKED_EXCLUSIVE)); - } + } /* Check if we need to lock the KCB */ if (!(Flags & CMP_ENLIST_KCB_LOCKED_EXCLUSIVE)) @@ -1097,7 +1097,7 @@ EnlistKeyBodyWithKCB(IN PCM_KEY_BODY KeyBody, { /* Release the lock */ CmpReleaseKcbLock(KeyBody->KeyControlBlock); - } + } } VOID @@ -1184,7 +1184,7 @@ CmpFlushNotifiesOnKeyBodyList(IN PCM_KEY_CONTROL_BLOCK Kcb, ASSERT(KeyBody->NotifyBlock == NULL); /* Release the reference we took */ - ObDereferenceObjectDeferDelete(KeyBody); + ObDereferenceObjectDeferDelete(KeyBody); continue; } } diff --git a/reactos/ntoskrnl/config/cmsysini.c b/reactos/ntoskrnl/config/cmsysini.c index f144e84a0fa..164b45fa668 100644 --- a/reactos/ntoskrnl/config/cmsysini.c +++ b/reactos/ntoskrnl/config/cmsysini.c @@ -1393,8 +1393,8 @@ CmInitSystem1(VOID) /* Initialize the hive list and lock */ InitializeListHead(&CmpHiveListHead); - ExInitializePushLock((PVOID)&CmpHiveListHeadLock); - ExInitializePushLock((PVOID)&CmpLoadHiveLock); + ExInitializePushLock(&CmpHiveListHeadLock); + ExInitializePushLock(&CmpLoadHiveLock); /* Initialize registry lock */ ExInitializeResourceLite(&CmpRegistryLock); @@ -1614,7 +1614,7 @@ CmpFreeDriverList(IN PHHIVE Hive, if (DriverNode->ListEntry.RegistryPath.Buffer) { /* Free it */ - CmpFree(DriverNode->ListEntry.RegistryPath.Buffer, + CmpFree(DriverNode->ListEntry.RegistryPath.Buffer, DriverNode->ListEntry.RegistryPath.MaximumLength); } diff --git a/reactos/ntoskrnl/ex/handle.c b/reactos/ntoskrnl/ex/handle.c index 17ae2814550..755bc5d59b2 100644 --- a/reactos/ntoskrnl/ex/handle.c +++ b/reactos/ntoskrnl/ex/handle.c @@ -28,7 +28,7 @@ ExpInitializeHandleTables(VOID) { /* Initialize the list of handle tables and the lock */ InitializeListHead(&HandleTableListHead); - ExInitializePushLock((PULONG_PTR)&HandleTableListLock); + ExInitializePushLock(&HandleTableListLock); } PHANDLE_TABLE_ENTRY @@ -409,11 +409,11 @@ ExpAllocateHandleTable(IN PEPROCESS Process OPTIONAL, for (i = 0; i < 4; i++) { /* Initialize the handle table lock */ - ExInitializePushLock((PULONG_PTR)&HandleTable->HandleTableLock[i]); + ExInitializePushLock(&HandleTable->HandleTableLock[i]); } /* Initialize the contention event lock and return the lock */ - ExInitializePushLock((PULONG_PTR)&HandleTable->HandleContentionEvent); + ExInitializePushLock(&HandleTable->HandleContentionEvent); return HandleTable; } diff --git a/reactos/ntoskrnl/include/internal/ex.h b/reactos/ntoskrnl/include/internal/ex.h index 7c26af3070a..85a726b0cd8 100644 --- a/reactos/ntoskrnl/include/internal/ex.h +++ b/reactos/ntoskrnl/include/internal/ex.h @@ -887,10 +887,10 @@ ExWaitForUnblockPushLock( *--*/ FORCEINLINE VOID -_ExInitializePushLock(IN PULONG_PTR PushLock) +_ExInitializePushLock(OUT PEX_PUSH_LOCK PushLock) { /* Set the value to 0 */ - *PushLock = 0; + PushLock->Ptr = 0; } #define ExInitializePushLock _ExInitializePushLock diff --git a/reactos/ntoskrnl/mm/ARM3/mminit.c b/reactos/ntoskrnl/mm/ARM3/mminit.c index 9b3450af124..650b67b47ee 100644 --- a/reactos/ntoskrnl/mm/ARM3/mminit.c +++ b/reactos/ntoskrnl/mm/ARM3/mminit.c @@ -1993,7 +1993,7 @@ MmArmInitSystem(IN ULONG Phase, MmNumberOfSystemPtes, MmNumberOfSystemPtes * PAGE_SIZE); /* Initialize the working set lock */ - ExInitializePushLock((PULONG_PTR)&MmSystemCacheWs.WorkingSetMutex); + ExInitializePushLock(&MmSystemCacheWs.WorkingSetMutex); /* Set commit limit */ MmTotalCommitLimit = 2 * _1GB; diff --git a/reactos/ntoskrnl/ob/obdir.c b/reactos/ntoskrnl/ob/obdir.c index cf48553ccf7..a4a2a605f0a 100644 --- a/reactos/ntoskrnl/ob/obdir.c +++ b/reactos/ntoskrnl/ob/obdir.c @@ -768,7 +768,7 @@ NtCreateDirectoryObject(OUT PHANDLE DirectoryHandle, /* Setup the object */ RtlZeroMemory(Directory, sizeof(OBJECT_DIRECTORY)); - ExInitializePushLock((PULONG_PTR)&Directory->Lock); + ExInitializePushLock(&Directory->Lock); Directory->SessionId = -1; /* Insert it into the handle table */ diff --git a/reactos/ntoskrnl/ob/obsdcach.c b/reactos/ntoskrnl/ob/obsdcach.c index 1e8f9dad198..52e5a8d5096 100644 --- a/reactos/ntoskrnl/ob/obsdcach.c +++ b/reactos/ntoskrnl/ob/obsdcach.c @@ -67,7 +67,7 @@ ObpInitSdCache(VOID) { /* Initialize the lock and the list */ InitializeListHead(&ObsSecurityDescriptorCache[i].Head); - ExInitializePushLock((PULONG_PTR)&ObsSecurityDescriptorCache[i].PushLock); + ExInitializePushLock(&ObsSecurityDescriptorCache[i].PushLock); } /* Return success */ @@ -419,7 +419,7 @@ ObLogSecurityDescriptor(IN PSECURITY_DESCRIPTOR InputSecurityDescriptor, { /* Increment its reference count */ InterlockedExchangeAdd((PLONG)&SdHeader->RefCount, RefBias); - + /* Release the lock */ ObpSdReleaseLockShared(CacheEntry); From a6586c33b1f347929309ae384240b6eabb761fb7 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Fri, 8 Apr 2011 17:49:49 +0000 Subject: [PATCH 10/48] [NTDLL] - Fix incorrect prototypes and partially implement fast unsafe versions of activation context activation/deactivation, however disable them for now, until the new loader is in place. - Fix their usage in the new loader code, which by mistake (which got copypasted into three other places) was passing a totally empty activation context to the activate function. svn path=/trunk/; revision=51281 --- reactos/dll/ntdll/def/ntdll.pspec | 4 +- reactos/dll/ntdll/ldr/ldrinit.c | 8 ++-- reactos/dll/ntdll/ldr/ldrpe.c | 4 +- reactos/include/ndk/rtlfuncs.h | 8 ++-- reactos/lib/rtl/actctx.c | 74 +++++++++++++++++++++++++------ 5 files changed, 72 insertions(+), 26 deletions(-) diff --git a/reactos/dll/ntdll/def/ntdll.pspec b/reactos/dll/ntdll/def/ntdll.pspec index 2c5de04b8d1..e87b71c6bf1 100644 --- a/reactos/dll/ntdll/def/ntdll.pspec +++ b/reactos/dll/ntdll/def/ntdll.pspec @@ -419,7 +419,7 @@ @ stdcall RtlAcquireSRWLockShared(ptr) @ stdcall RtlActivateActivationContext(long ptr ptr) //@ stdcall RtlActivateActivationContextEx -@ stdcall RtlActivateActivationContextUnsafeFast(ptr ptr) +@ fastcall RtlActivateActivationContextUnsafeFast(ptr ptr) @ stdcall RtlAddAccessAllowedAce(ptr long long ptr) @ stdcall RtlAddAccessAllowedAceEx(ptr long long long ptr) @ stdcall RtlAddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) @@ -532,7 +532,7 @@ @ stdcall RtlCutoverTimeToSystemTime(ptr ptr ptr long) @ stdcall RtlDeNormalizeProcessParams(ptr) @ stdcall RtlDeactivateActivationContext(long long) -@ stdcall RtlDeactivateActivationContextUnsafeFast(ptr) +@ fastcall RtlDeactivateActivationContextUnsafeFast(ptr) //@ stdcall RtlDebugPrintTimes @ stdcall RtlDecodePointer(ptr) @ stdcall RtlDecodeSystemPointer(ptr) RtlEncodeSystemPointer diff --git a/reactos/dll/ntdll/ldr/ldrinit.c b/reactos/dll/ntdll/ldr/ldrinit.c index 5913304361a..a7a196fcaa3 100644 --- a/reactos/dll/ntdll/ldr/ldrinit.c +++ b/reactos/dll/ntdll/ldr/ldrinit.c @@ -616,8 +616,8 @@ LdrpRunInitializeRoutines(IN PCONTEXT Context OPTIONAL) /* Set up the Act Ctx */ ActCtx.Size = sizeof(ActCtx); - ActCtx.Frame.Flags = ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID; - RtlZeroMemory(&ActCtx, sizeof(ActCtx)); + ActCtx.Format = 1; + RtlZeroMemory(&ActCtx.Frame, sizeof(RTL_ACTIVATION_CONTEXT_STACK_FRAME)); /* Activate the ActCtx */ RtlActivateActivationContextUnsafeFast(&ActCtx, @@ -682,8 +682,8 @@ LdrpRunInitializeRoutines(IN PCONTEXT Context OPTIONAL) { /* Set up the Act Ctx */ ActCtx.Size = sizeof(ActCtx); - ActCtx.Frame.Flags = ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID; - RtlZeroMemory(&ActCtx, sizeof(ActCtx)); + ActCtx.Format = 1; + RtlZeroMemory(&ActCtx.Frame, sizeof(RTL_ACTIVATION_CONTEXT_STACK_FRAME)); /* Activate the ActCtx */ RtlActivateActivationContextUnsafeFast(&ActCtx, diff --git a/reactos/dll/ntdll/ldr/ldrpe.c b/reactos/dll/ntdll/ldr/ldrpe.c index 730d260d836..12e24fe547d 100644 --- a/reactos/dll/ntdll/ldr/ldrpe.c +++ b/reactos/dll/ntdll/ldr/ldrpe.c @@ -660,8 +660,8 @@ LdrpWalkImportDescriptor(IN LPWSTR DllPath OPTIONAL, DPRINT1("LdrpWalkImportDescriptor('%S' %x)\n", DllPath, LdrEntry); /* Set up the Act Ctx */ ActCtx.Size = sizeof(ActCtx); - ActCtx.Frame.Flags = ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID; - RtlZeroMemory(&ActCtx, sizeof(ActCtx)); + ActCtx.Frame.Flags = 1; + RtlZeroMemory(&ActCtx.Frame, sizeof(RTL_ACTIVATION_CONTEXT_STACK_FRAME)); /* Check if we have a manifest prober routine */ if (LdrpManifestProberRoutine) diff --git a/reactos/include/ndk/rtlfuncs.h b/reactos/include/ndk/rtlfuncs.h index a5c453f2e32..6807128b626 100644 --- a/reactos/include/ndk/rtlfuncs.h +++ b/reactos/include/ndk/rtlfuncs.h @@ -3071,8 +3071,8 @@ RtlAddRefActivationContext( NTSYSAPI -NTSTATUS -NTAPI +PRTL_ACTIVATION_CONTEXT_STACK_FRAME +FASTCALL RtlActivateActivationContextUnsafeFast( IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame, IN PVOID Context @@ -3121,8 +3121,8 @@ NTAPI RtlFreeThreadActivationContextStack(void); NTSYSAPI -NTSTATUS -NTAPI +PRTL_ACTIVATION_CONTEXT_STACK_FRAME +FASTCALL RtlDeactivateActivationContextUnsafeFast( IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame ); diff --git a/reactos/lib/rtl/actctx.c b/reactos/lib/rtl/actctx.c index cd900e1b8de..1a6dc569178 100644 --- a/reactos/lib/rtl/actctx.c +++ b/reactos/lib/rtl/actctx.c @@ -22,6 +22,8 @@ #include +BOOLEAN RtlpNotAllowingMultipleActivation; + #define QUERY_ACTCTX_FLAG_ACTIVE (0x00000001) #define ACTCTX_FLAGS_ALL (\ @@ -2730,31 +2732,75 @@ RtlAllocateActivationContextStack(IN PVOID *Context) return STATUS_SUCCESS; } -NTSTATUS -NTAPI +PRTL_ACTIVATION_CONTEXT_STACK_FRAME +FASTCALL RtlActivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame, IN PVOID Context) { - static int i; +#if NEW_NTDLL_LOADER + RTL_ACTIVATION_CONTEXT_STACK_FRAME *ActiveFrame; - if (i == 0) - UNIMPLEMENTED; - i++; + /* Get the curren active frame */ + ActiveFrame = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame; - return STATUS_NOT_IMPLEMENTED; + DPRINT1("ActiveFrame %p, &Frame->Frame %p, Context %p\n", ActiveFrame, &Frame->Frame, Context); + + /* Actually activate it */ + Frame->Frame.Previous = ActiveFrame; + Frame->Frame.ActivationContext = Context; + Frame->Frame.Flags = 0; + + /* Check if we can activate this context */ + if ((ActiveFrame && (ActiveFrame->ActivationContext != Context)) || + Context) + { + /* Set new active frame */ + NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame = &Frame->Frame; + return &Frame->Frame; + } + + /* We can get here only one way: it was already activated */ + DPRINT1("Trying to activate improper activation context\n"); + + /* Activate only if we are allowing multiple activation */ + if (!RtlpNotAllowingMultipleActivation) + { + NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame = &Frame->Frame; + } + else + { + /* Set flag */ + Frame->Frame.Flags = 0x30; + } + + /* Return pointer to the activation frame */ + return &Frame->Frame; +#else + return NULL; +#endif } -NTSTATUS -NTAPI +PRTL_ACTIVATION_CONTEXT_STACK_FRAME +FASTCALL RtlDeactivateActivationContextUnsafeFast(IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame) { - static int i; +#if NEW_NTDLL_LOADER + RTL_ACTIVATION_CONTEXT_STACK_FRAME *frame, *top; - if (i == 0) - UNIMPLEMENTED; - i++; + /* find the right frame */ + top = NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame; + frame = &Frame->Frame; - return STATUS_NOT_IMPLEMENTED; + if (!frame) + RtlRaiseStatus( STATUS_SXS_INVALID_DEACTIVATION ); + + /* pop everything up to and including frame */ + NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame = frame->Previous; + + return frame; +#else + return NULL; +#endif } From efe3b7a684874d076cc62e03aa2e26e09998ff74 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 8 Apr 2011 18:48:28 +0000 Subject: [PATCH 11/48] [Win32k] - Fix crash in msg test_interthread_message test. Noticed it once and not sure how to track it. svn path=/trunk/; revision=51282 --- reactos/subsystems/win32/win32k/ntuser/object.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reactos/subsystems/win32/win32k/ntuser/object.c b/reactos/subsystems/win32/win32k/ntuser/object.c index 4df5c8f8f6d..bcf791e6b0c 100644 --- a/reactos/subsystems/win32/win32k/ntuser/object.c +++ b/reactos/subsystems/win32/win32k/ntuser/object.c @@ -407,6 +407,11 @@ UserDereferenceObject(PVOID object) { entry = handle_to_entry(gHandleTable, ((PHEAD)object)->h ); + if (!entry) + { + DPRINT1("warning! Dereference Object without ENTRY! Obj -> 0x%x\n", object); + return FALSE; + } DPRINT("warning! Dereference to zero! Obj -> 0x%x\n", object); ((PHEAD)object)->cLockObj = 0; From 5399e1d53e5b2ea5018aa7cdd9048be26dc837ef Mon Sep 17 00:00:00 2001 From: James Tabor Date: Fri, 8 Apr 2011 19:29:15 +0000 Subject: [PATCH 12/48] [User32|Win32k] - Fix TrackMouseEvent! Keyboard and Mouse pass all the right flags. Update to accelerator code. Fixed recursion in global hooks. Hack-implement GetMouseMovePointsEx due to slack time and boredom, it passes the input tests but does nothing. Pass all the test_TrackMouseEvent!!! test_accelerators and test_menu_messages work too, so far no hangs. svn path=/trunk/; revision=51283 --- reactos/dll/win32/user32/include/user32p.h | 13 - reactos/dll/win32/user32/misc/dllmain.c | 20 -- reactos/dll/win32/user32/user32.pspec | 2 +- reactos/dll/win32/user32/windows/input.c | 238 ------------- .../win32/win32k/include/cursoricon.h | 2 +- .../subsystems/win32/win32k/include/desktop.h | 12 +- .../subsystems/win32/win32k/include/input.h | 4 +- .../win32/win32k/include/msgqueue.h | 2 +- .../subsystems/win32/win32k/include/timer.h | 6 + .../win32/win32k/ntuser/accelerator.c | 185 ++++++----- .../subsystems/win32/win32k/ntuser/callback.c | 23 +- .../win32/win32k/ntuser/cursoricon.c | 24 +- .../subsystems/win32/win32k/ntuser/focus.c | 2 +- reactos/subsystems/win32/win32k/ntuser/hook.c | 8 +- .../subsystems/win32/win32k/ntuser/input.c | 312 +++++++++++++++++- .../subsystems/win32/win32k/ntuser/keyboard.c | 23 ++ reactos/subsystems/win32/win32k/ntuser/menu.c | 11 +- .../subsystems/win32/win32k/ntuser/msgqueue.c | 31 +- .../subsystems/win32/win32k/ntuser/ntstubs.c | 61 ---- .../win32/win32k/ntuser/simplecall.c | 2 +- .../subsystems/win32/win32k/ntuser/timer.c | 83 ++++- .../subsystems/win32/win32k/ntuser/window.c | 6 +- 22 files changed, 593 insertions(+), 477 deletions(-) diff --git a/reactos/dll/win32/user32/include/user32p.h b/reactos/dll/win32/user32/include/user32p.h index d4b32cb0abe..2f47ccc231c 100644 --- a/reactos/dll/win32/user32/include/user32p.h +++ b/reactos/dll/win32/user32/include/user32p.h @@ -112,19 +112,6 @@ extern HINSTANCE hImmInstance; /* Critical Section*/ extern RTL_CRITICAL_SECTION User32Crit; -typedef struct _USER32_TRACKINGLIST { - TRACKMOUSEEVENT tme; - POINT pos; /* center of hover rectangle */ - UINT_PTR timer; -} USER32_TRACKINGLIST,*PUSER32_TRACKINGLIST; - -typedef struct _USER32_THREAD_DATA -{ - USER32_TRACKINGLIST tracking_info; /* TrackMouseEvent stuff */ -} USER32_THREAD_DATA, *PUSER32_THREAD_DATA; - -PUSER32_THREAD_DATA User32GetThreadData(VOID); - /* FIXME: Belongs to some header. */ BOOL WINAPI GdiDllInitialize(HANDLE, DWORD, LPVOID); void InitStockObjects(void); diff --git a/reactos/dll/win32/user32/misc/dllmain.c b/reactos/dll/win32/user32/misc/dllmain.c index 7a1abc97d1e..b3c46ff7c9b 100644 --- a/reactos/dll/win32/user32/misc/dllmain.c +++ b/reactos/dll/win32/user32/misc/dllmain.c @@ -17,13 +17,6 @@ BOOL gfServerProcess = FALSE; WCHAR szAppInit[KEY_LENGTH]; -PUSER32_THREAD_DATA -User32GetThreadData() -{ - return ((PUSER32_THREAD_DATA)TlsGetValue(User32TlsIndex)); -} - - BOOL GetDllList() { @@ -192,25 +185,12 @@ UnloadAppInitDlls() BOOL InitThread(VOID) { - PUSER32_THREAD_DATA ThreadData; - - ThreadData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - sizeof(USER32_THREAD_DATA)); - if (ThreadData == NULL) - return FALSE; - if (!TlsSetValue(User32TlsIndex, ThreadData)) - return FALSE; return TRUE; } VOID CleanupThread(VOID) { - PUSER32_THREAD_DATA ThreadData; - - ThreadData = (PUSER32_THREAD_DATA)TlsGetValue(User32TlsIndex); - HeapFree(GetProcessHeap(), HEAP_ZERO_MEMORY, ThreadData); - TlsSetValue(User32TlsIndex, 0); } BOOL diff --git a/reactos/dll/win32/user32/user32.pspec b/reactos/dll/win32/user32/user32.pspec index 3913a9a92df..85c9e194ba9 100644 --- a/reactos/dll/win32/user32/user32.pspec +++ b/reactos/dll/win32/user32/user32.pspec @@ -690,7 +690,7 @@ @ stdcall ToAsciiEx(long long ptr ptr long long) @ stdcall ToUnicode(long long ptr ptr long long) @ stdcall ToUnicodeEx(long long ptr ptr long long long) -@ stdcall TrackMouseEvent(ptr) ; Direct call NtUserTrackMouseEvent +@ stdcall TrackMouseEvent(ptr) NtUserTrackMouseEvent @ stdcall TrackPopupMenu(long long long long long long ptr) @ stdcall TrackPopupMenuEx(long long long long long ptr) ; Direct call NtUserTrackPopupMenuEx @ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorA diff --git a/reactos/dll/win32/user32/windows/input.c b/reactos/dll/win32/user32/windows/input.c index e9189576963..9eadc0e81c2 100644 --- a/reactos/dll/win32/user32/windows/input.c +++ b/reactos/dll/win32/user32/windows/input.c @@ -530,242 +530,4 @@ mouse_event( NtUserSendInput(1, &Input, sizeof(INPUT)); } - -/*********************************************************************** - * get_key_state - */ -static WORD get_key_state(void) -{ - WORD ret = 0; - - if (GetSystemMetrics( SM_SWAPBUTTON )) - { - if (GetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_LBUTTON; - if (GetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_RBUTTON; - } - else - { - if (GetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_LBUTTON; - if (GetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_RBUTTON; - } - if (GetAsyncKeyState(VK_MBUTTON) & 0x80) ret |= MK_MBUTTON; - if (GetAsyncKeyState(VK_SHIFT) & 0x80) ret |= MK_SHIFT; - if (GetAsyncKeyState(VK_CONTROL) & 0x80) ret |= MK_CONTROL; - if (GetAsyncKeyState(VK_XBUTTON1) & 0x80) ret |= MK_XBUTTON1; - if (GetAsyncKeyState(VK_XBUTTON2) & 0x80) ret |= MK_XBUTTON2; - return ret; -} - -static void CALLBACK TrackMouseEventProc(HWND hwndUnused, UINT uMsg, UINT_PTR idEvent, - DWORD dwTime) -{ - POINT pos; - POINT posClient; - HWND hwnd; - INT hoverwidth = 0, hoverheight = 0; - RECT client; - PUSER32_TRACKINGLIST ptracking_info; - - ptracking_info = & User32GetThreadData()->tracking_info; - - GetCursorPos(&pos); - hwnd = WindowFromPoint(pos); - - SystemParametersInfoW(SPI_GETMOUSEHOVERWIDTH, 0, &hoverwidth, 0); - SystemParametersInfoW(SPI_GETMOUSEHOVERHEIGHT, 0, &hoverheight, 0); - - /* see if this tracking event is looking for TME_LEAVE and that the */ - /* mouse has left the window */ - if (ptracking_info->tme.dwFlags & TME_LEAVE) - { - if (ptracking_info->tme.hwndTrack != hwnd) - { - if (ptracking_info->tme.dwFlags & TME_NONCLIENT) - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_NCMOUSELEAVE, 0, 0); - } - else - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_MOUSELEAVE, 0, 0); - } - - /* remove the TME_LEAVE flag */ - ptracking_info->tme.dwFlags &= ~TME_LEAVE; - } - else - { - GetClientRect(hwnd, &client); - MapWindowPoints(hwnd, NULL, (LPPOINT)&client, 2); - if (PtInRect(&client, pos)) - { - if (ptracking_info->tme.dwFlags & TME_NONCLIENT) - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_NCMOUSELEAVE, 0, 0); - /* remove the TME_LEAVE flag */ - ptracking_info->tme.dwFlags &= ~TME_LEAVE; - } - } - else - { - if (!(ptracking_info->tme.dwFlags & TME_NONCLIENT)) - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_MOUSELEAVE, 0, 0); - /* remove the TME_LEAVE flag */ - ptracking_info->tme.dwFlags &= ~TME_LEAVE; - } - } - } - } - - /* see if we are tracking hovering for this hwnd */ - if (ptracking_info->tme.dwFlags & TME_HOVER) - { - /* has the cursor moved outside the rectangle centered around pos? */ - if ((abs(pos.x - ptracking_info->pos.x) > (hoverwidth / 2.0)) || - (abs(pos.y - ptracking_info->pos.y) > (hoverheight / 2.0))) - { - /* record this new position as the current position and reset */ - /* the iHoverTime variable to 0 */ - ptracking_info->pos = pos; - } - else - { - posClient.x = pos.x; - posClient.y = pos.y; - ScreenToClient(hwnd, &posClient); - - if (ptracking_info->tme.dwFlags & TME_NONCLIENT) - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_NCMOUSEHOVER, - get_key_state(), MAKELPARAM( posClient.x, posClient.y )); - } - else - { - PostMessageW(ptracking_info->tme.hwndTrack, WM_MOUSEHOVER, - get_key_state(), MAKELPARAM( posClient.x, posClient.y )); - } - - /* stop tracking mouse hover */ - ptracking_info->tme.dwFlags &= ~TME_HOVER; - } - } - - /* stop the timer if the tracking list is empty */ - if (!(ptracking_info->tme.dwFlags & (TME_HOVER | TME_LEAVE))) - { - KillTimer(0, ptracking_info->timer); - RtlZeroMemory(ptracking_info,sizeof(USER32_TRACKINGLIST)); - } -} - - -/*********************************************************************** - * TrackMouseEvent [USER32] - * - * Requests notification of mouse events - * - * During mouse tracking WM_MOUSEHOVER or WM_MOUSELEAVE events are posted - * to the hwnd specified in the ptme structure. After the event message - * is posted to the hwnd, the entry in the queue is removed. - * - * If the current hwnd isn't ptme->hwndTrack the TME_HOVER flag is completely - * ignored. The TME_LEAVE flag results in a WM_MOUSELEAVE message being posted - * immediately and the TME_LEAVE flag being ignored. - * - * PARAMS - * ptme [I,O] pointer to TRACKMOUSEEVENT information structure. - * - * RETURNS - * Success: non-zero - * Failure: zero - * - */ -/* - * @implemented - */ -BOOL -WINAPI -TrackMouseEvent( - LPTRACKMOUSEEVENT ptme) -{ - HWND hwnd; - POINT pos; - DWORD hover_time; - PUSER32_TRACKINGLIST ptracking_info; - - TRACE("%lx, %lx, %p, %lx\n", ptme->cbSize, ptme->dwFlags, ptme->hwndTrack, ptme->dwHoverTime); - - if (ptme->cbSize != sizeof(TRACKMOUSEEVENT)) { - WARN("wrong TRACKMOUSEEVENT size from app\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - - ptracking_info = & User32GetThreadData()->tracking_info; - - /* fill the TRACKMOUSEEVENT struct with the current tracking for the given hwnd */ - if (ptme->dwFlags & TME_QUERY ) - { - *ptme = ptracking_info->tme; - ptme->cbSize = sizeof(TRACKMOUSEEVENT); - - return TRUE; /* return here, TME_QUERY is retrieving information */ - } - - if (!IsWindow(ptme->hwndTrack)) - { - SetLastError(ERROR_INVALID_WINDOW_HANDLE); - return FALSE; - } - - hover_time = ptme->dwHoverTime; - - /* if HOVER_DEFAULT was specified replace this with the systems current value */ - if (hover_time == HOVER_DEFAULT || hover_time == 0) - { - SystemParametersInfoW(SPI_GETMOUSEHOVERTIME, 0, &hover_time, 0); - } - - GetCursorPos(&pos); - hwnd = WindowFromPoint(pos); - - if (ptme->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT)) - { - FIXME("Unknown flag(s) %08lx\n", ptme->dwFlags & ~(TME_CANCEL | TME_HOVER | TME_LEAVE | TME_NONCLIENT)); - } - - if (ptme->dwFlags & TME_CANCEL) - { - if (ptracking_info->tme.hwndTrack == ptme->hwndTrack) - { - ptracking_info->tme.dwFlags &= ~(ptme->dwFlags & ~TME_CANCEL); - - /* if we aren't tracking on hover or leave remove this entry */ - if (!(ptracking_info->tme.dwFlags & (TME_HOVER | TME_LEAVE))) - { - KillTimer(0, ptracking_info->timer); - RtlZeroMemory(ptracking_info,sizeof(USER32_TRACKINGLIST)); - } - } - } else { - if (ptme->hwndTrack == hwnd) - { - /* Adding new mouse event to the tracking list */ - ptracking_info->tme = *ptme; - ptracking_info->tme.dwHoverTime = hover_time; - - /* Initialize HoverInfo variables even if not hover tracking */ - ptracking_info->pos = pos; - - if (!ptracking_info->timer) - { - ptracking_info->timer = SetTimer(0, 0, hover_time, TrackMouseEventProc); - } - } - } - - return TRUE; - -} - /* EOF */ diff --git a/reactos/subsystems/win32/win32k/include/cursoricon.h b/reactos/subsystems/win32/win32k/include/cursoricon.h index 0c0059a933d..8ee0ff873b7 100644 --- a/reactos/subsystems/win32/win32k/include/cursoricon.h +++ b/reactos/subsystems/win32/win32k/include/cursoricon.h @@ -69,7 +69,7 @@ BOOL UserDrawIconEx(HDC hDc, INT xLeft, INT yTop, PCURICON_OBJECT pIcon, INT cxW INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); PCURICON_OBJECT FASTCALL UserGetCurIconObject(HCURSOR hCurIcon); -BOOL UserSetCursorPos( INT x, INT y, BOOL SendMouseMoveMsg); +BOOL UserSetCursorPos( INT x, INT y); int UserShowCursor(BOOL bShow); diff --git a/reactos/subsystems/win32/win32k/include/desktop.h b/reactos/subsystems/win32/win32k/include/desktop.h index 82607df23dc..fbf2f5481bd 100644 --- a/reactos/subsystems/win32/win32k/include/desktop.h +++ b/reactos/subsystems/win32/win32k/include/desktop.h @@ -9,6 +9,7 @@ typedef struct _DESKTOP LIST_ENTRY ListEntry; /* Pointer to the associated window station. */ struct _WINSTATION_OBJECT *rpwinstaParent; + DWORD dwDTFlags; PWND spwndForeground; PWND spwndTray; PWND spwndMessage; @@ -27,12 +28,20 @@ typedef struct _DESKTOP /* Pointer to the active queue. */ PVOID ActiveMessageQueue; /* Handle of the desktop window. */ - HANDLE DesktopWindow; + HWND DesktopWindow; /* Thread blocking input */ PVOID BlockInputThread; LIST_ENTRY ShellHookWindows; } DESKTOP, *PDESKTOP; +// Desktop flags +#define DF_TME_HOVER 0x00000400 +#define DF_TME_LEAVE 0x00000800 +#define DF_DESTROYED 0x00008000 +#define DF_DESKWNDDESTROYED 0x00010000 +#define DF_DYING 0x00020000 + + extern PDESKTOP InputDesktop; extern HDESK InputDesktopHandle; extern PCLS DesktopWindowClass; @@ -125,6 +134,7 @@ BOOL IntRegisterShellHookWindow(HWND hWnd); BOOL IntDeRegisterShellHookWindow(HWND hWnd); VOID co_IntShellHookNotify(WPARAM Message, LPARAM lParam); HDC FASTCALL UserGetDesktopDC(ULONG,BOOL,BOOL); +BOOL FASTCALL IntPaintDesktop(HDC hDC); #define IntIsActiveDesktop(Desktop) \ ((Desktop)->rpwinstaParent->ActiveDesktop == (Desktop)) diff --git a/reactos/subsystems/win32/win32k/include/input.h b/reactos/subsystems/win32/win32k/include/input.h index 167c2af5aad..ba123366a2a 100644 --- a/reactos/subsystems/win32/win32k/include/input.h +++ b/reactos/subsystems/win32/win32k/include/input.h @@ -42,8 +42,8 @@ VOID W32kUnregisterPrimitiveMessageQueue(VOID); PKBL W32kGetDefaultKeyLayout(VOID); VOID FASTCALL W32kKeyProcessMessage(LPMSG Msg, PKBDTABLES KeyLayout, BYTE Prefix); BOOL FASTCALL IntBlockInput(PTHREADINFO W32Thread, BOOL BlockIt); -BOOL FASTCALL IntMouseInput(MOUSEINPUT *mi); -BOOL FASTCALL IntKeyboardInput(KEYBDINPUT *ki); +BOOL FASTCALL IntMouseInput(MOUSEINPUT *mi, BOOL Injected); +BOOL FASTCALL IntKeyboardInput(KEYBDINPUT *ki, BOOL Injected); BOOL UserInitDefaultKeyboardLayout(VOID); PKBL UserHklToKbl(HKL hKl); diff --git a/reactos/subsystems/win32/win32k/include/msgqueue.h b/reactos/subsystems/win32/win32k/include/msgqueue.h index 1f412f56945..e5158574e10 100644 --- a/reactos/subsystems/win32/win32k/include/msgqueue.h +++ b/reactos/subsystems/win32/win32k/include/msgqueue.h @@ -242,7 +242,7 @@ co_MsqPostKeyboardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); VOID FASTCALL MsqPostHotKeyMessage(PVOID Thread, HWND hWnd, WPARAM wParam, LPARAM lParam); VOID FASTCALL -co_MsqInsertMouseMessage(MSG* Msg); +co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo); BOOL FASTCALL MsqIsClkLck(LPMSG Msg, BOOL Remove); BOOL FASTCALL diff --git a/reactos/subsystems/win32/win32k/include/timer.h b/reactos/subsystems/win32/win32k/include/timer.h index c88da4a987d..9d20be9abfc 100644 --- a/reactos/subsystems/win32/win32k/include/timer.h +++ b/reactos/subsystems/win32/win32k/include/timer.h @@ -24,6 +24,12 @@ typedef struct _TIMER #define TMRF_WAITING 0x0020 #define TMRF_TIFROMWND 0x0040 +#define ID_EVENT_SYSTIMER_MOUSEHOVER (-6) +#define ID_EVENT_SYSTIMER_FLASHWIN (-8) +#define ID_EVENT_SYSTIMER_TRACKWIN (-9) +#define ID_EVENT_SYSTIMER_ANIMATEDFADE (-10) +#define ID_EVENT_SYSTIMER_INVALIDATEDCES (-11) + extern PKTIMER MasterTimer; INIT_FUNCTION diff --git a/reactos/subsystems/win32/win32k/ntuser/accelerator.c b/reactos/subsystems/win32/win32k/ntuser/accelerator.c index 78f1fd005b5..06240449ffc 100644 --- a/reactos/subsystems/win32/win32k/ntuser/accelerator.c +++ b/reactos/subsystems/win32/win32k/ntuser/accelerator.c @@ -1,27 +1,8 @@ /* - * ReactOS W32 Subsystem - * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -/* $Id$ - * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * PURPOSE: Window classes - * FILE: subsys/win32k/ntuser/class.c + * PURPOSE: Window accelerator + * FILE: subsystems/win32/win32k/ntuser/accelerator.c * PROGRAMER: Casper S. Hornstrup (chorns@users.sourceforge.net) * REVISION HISTORY: * 06-06-2001 CSH Created @@ -105,10 +86,14 @@ co_IntTranslateAccelerator( WORD key, WORD cmd) { + INT mask = 0; UINT mesg = 0; + HWND hWnd; ASSERT_REFS_CO(Window); + hWnd = Window->head.h; + DPRINT("IntTranslateAccelerator(hwnd %x, message %x, wParam %x, lParam %x, fVirt %d, key %x, cmd %x)\n", Window->head.h, message, wParam, lParam, fVirt, key, cmd); @@ -117,37 +102,33 @@ co_IntTranslateAccelerator( return FALSE; } - if (message == WM_CHAR) + DPRINT("NtUserGetKeyState(VK_SHIFT) = 0x%x\n", + UserGetKeyState(VK_SHIFT)); + DPRINT("NtUserGetKeyState(VK_CONTROL) = 0x%x\n", + UserGetKeyState(VK_CONTROL)); + DPRINT("NtUserGetKeyState(VK_MENU) = 0x%x\n", + UserGetKeyState(VK_MENU)); + + if (UserGetKeyState(VK_CONTROL) & 0x8000) mask |= FCONTROL; + if (UserGetKeyState(VK_MENU) & 0x8000) mask |= FALT; + if (UserGetKeyState(VK_SHIFT) & 0x8000) mask |= FSHIFT; + + if (message == WM_CHAR || message == WM_SYSCHAR) { - if (!(fVirt & FALT) && !(fVirt & FVIRTKEY)) + if ( !(fVirt & FVIRTKEY) && (mask & FALT) == (fVirt & FALT) ) { - DPRINT("found accel for WM_CHAR: ('%c')\n", wParam & 0xff); + DPRINT("found accel for WM_CHAR: ('%c')\n", LOWORD(wParam) & 0xff); goto found; } } else { - if ((fVirt & FVIRTKEY) > 0) + if (fVirt & FVIRTKEY) { - INT mask = 0; DPRINT("found accel for virt_key %04x (scan %04x)\n", - wParam, 0xff & HIWORD(lParam)); + wParam, 0xff & HIWORD(lParam)); - DPRINT("NtUserGetKeyState(VK_SHIFT) = 0x%x\n", - UserGetKeyState(VK_SHIFT)); - DPRINT("NtUserGetKeyState(VK_CONTROL) = 0x%x\n", - UserGetKeyState(VK_CONTROL)); - DPRINT("NtUserGetKeyState(VK_MENU) = 0x%x\n", - UserGetKeyState(VK_MENU)); - - if (UserGetKeyState(VK_SHIFT) & 0x8000) - mask |= FSHIFT; - if (UserGetKeyState(VK_CONTROL) & 0x8000) - mask |= FCONTROL; - if (UserGetKeyState(VK_MENU) & 0x8000) - mask |= FALT; - if (mask == (fVirt & (FSHIFT | FCONTROL | FALT))) - goto found; + if (mask == (fVirt & (FSHIFT | FCONTROL | FALT))) goto found; DPRINT("but incorrect SHIFT/CTRL/ALT-state\n"); } else @@ -156,7 +137,7 @@ co_IntTranslateAccelerator( { if ((fVirt & FALT) && (lParam & 0x20000000)) { /* ^^ ALT pressed */ - DPRINT("found accel for Alt-%c\n", wParam & 0xff); + DPRINT("found accel for Alt-%c\n", LOWORD(wParam) & 0xff); goto found; } } @@ -173,80 +154,120 @@ found: mesg = 1; else if (IntGetCaptureWindow()) mesg = 2; - else if (!IntIsWindowVisible(Window)) /* FIXME: WINE IsWindowEnabled == IntIsWindowVisible? */ + else if (Window->style & WS_DISABLED) mesg = 3; else { #if 0 HMENU hMenu, hSubMenu, hSysMenu; UINT uSysStat = (UINT)-1, uStat = (UINT)-1, nPos; + PMENU_OBJECT MenuObject, SubMenu; + MENU_ITEM MenuItem; - hMenu = (UserGetWindowLongW(hWnd, GWL_STYLE) & WS_CHILD) ? 0 : GetMenu(hWnd); - hSysMenu = get_win_sys_menu(hWnd); +// hMenu = (UserGetWindowLongW(hWnd, GWL_STYLE) & WS_CHILD) ? 0 : GetMenu(hWnd); +// hSysMenu = get_win_sys_menu(hWnd); + hMenu = (Window->style & WS_CHILD) ? 0 : (HMENU)Window->IDMenu; + hSysMenu = Window->SystemMenu; + MenuObject = IntGetMenuObject(Window->SystemMenu); /* find menu item and ask application to initialize it */ /* 1. in the system menu */ hSubMenu = hSysMenu; - nPos = cmd; - if(MENU_FindItem(&hSubMenu, &nPos, MF_BYCOMMAND)) +// nPos = cmd; +// if(MENU_FindItem(&hSubMenu, &nPos, MF_BYCOMMAND)) + nPos = IntGetMenuItemByFlag( MenuObject, + cmd, + MF_BYCOMMAND, + &SubMenu, + &MenuItem, + NULL); + + if (MenuItem && (nPos != (UINT)-1)) { - co_IntSendMessage(hWnd, WM_INITMENU, (WPARAM)hSysMenu, 0L); - if(hSubMenu != hSysMenu) - { - nPos = MENU_FindSubMenu(&hSysMenu, hSubMenu); - TRACE_(accel)("hSysMenu = %p, hSubMenu = %p, nPos = %d\n", hSysMenu, hSubMenu, nPos); - co_IntSendMessage(hWnd, WM_INITMENUPOPUP, (WPARAM)hSubMenu, MAKELPARAM(nPos, TRUE)); + hSubMenu = MenuItem.hSubMenu; + + if (IntGetCaptureWindow()) + mesg = 2; + if (Window->style & WS_DISABLED) + mesg = 3; + else + { + co_IntSendMessage(hWnd, WM_INITMENU, (WPARAM)hSysMenu, 0L); + if(hSubMenu != hSysMenu) + { + nPos = MENU_FindSubMenu(&hSysMenu, hSubMenu); + DPRINT("hSysMenu = %p, hSubMenu = %p, nPos = %d\n", hSysMenu, hSubMenu, nPos); + co_IntSendMessage(hWnd, WM_INITMENUPOPUP, (WPARAM)hSubMenu, MAKELPARAM(nPos, TRUE)); + } + uSysStat = GetMenuState(GetSubMenu(hSysMenu, 0), cmd, MF_BYCOMMAND); } - uSysStat = GetMenuState(GetSubMenu(hSysMenu, 0), cmd, MF_BYCOMMAND); } else /* 2. in the window's menu */ { + MenuObject = IntGetMenuObject(hMenu); hSubMenu = hMenu; - nPos = cmd; - if(MENU_FindItem(&hSubMenu, &nPos, MF_BYCOMMAND)) +// nPos = cmd; +// if(MENU_FindItem(&hSubMenu, &nPos, MF_BYCOMMAND)) + nPos = IntGetMenuItemByFlag( MenuObject, + cmd, + MF_BYCOMMAND, + &SubMenu, + &MenuItem, + NULL); + + if (MenuItem && (nPos != (UINT)-1)) { - co_IntSendMessage(hWnd, WM_INITMENU, (WPARAM)hMenu, 0L); - if(hSubMenu != hMenu) + if (IntGetCaptureWindow()) + mesg = 2; + if (Window->style & WS_DISABLED) + mesg = 3; + else { - nPos = MENU_FindSubMenu(&hMenu, hSubMenu); - TRACE_(accel)("hMenu = %p, hSubMenu = %p, nPos = %d\n", hMenu, hSubMenu, nPos); - co_IntSendMessage(hWnd, WM_INITMENUPOPUP, (WPARAM)hSubMenu, MAKELPARAM(nPos, FALSE)); + co_IntSendMessage(hWnd, WM_INITMENU, (WPARAM)hMenu, 0L); + if(hSubMenu != hMenu) + { + nPos = MENU_FindSubMenu(&hMenu, hSubMenu); + DPRINT("hMenu = %p, hSubMenu = %p, nPos = %d\n", hMenu, hSubMenu, nPos); + co_IntSendMessage(hWnd, WM_INITMENUPOPUP, (WPARAM)hSubMenu, MAKELPARAM(nPos, FALSE)); + } + uStat = GetMenuState(hMenu, cmd, MF_BYCOMMAND); } - uStat = GetMenuState(hMenu, cmd, MF_BYCOMMAND); } } - if (uSysStat != (UINT)-1) + if (mesg == 0) { - if (uSysStat & (MF_DISABLED|MF_GRAYED)) - mesg=4; - else - mesg=WM_SYSCOMMAND; - } - else - { - if (uStat != (UINT)-1) + if (uSysStat != (UINT)-1) { - if (IsIconic(hWnd)) - mesg=5; + if (uSysStat & (MF_DISABLED|MF_GRAYED)) + mesg=4; else - { - if (uStat & (MF_DISABLED|MF_GRAYED)) - mesg=6; - else - mesg=WM_COMMAND; - } + mesg=WM_SYSCOMMAND; } else { - mesg=WM_COMMAND; + if (uStat != (UINT)-1) + { + if (Window->style & WS_MINIMIZE) + mesg=5; + else + { + if (uStat & (MF_DISABLED|MF_GRAYED)) + mesg=6; + else + mesg=WM_COMMAND; + } + } + else + { + mesg=WM_COMMAND; + } } } #else DPRINT1("Menu search not implemented\n"); mesg = WM_COMMAND; #endif - } if (mesg == WM_COMMAND) diff --git a/reactos/subsystems/win32/win32k/ntuser/callback.c b/reactos/subsystems/win32/win32k/ntuser/callback.c index 45e9f6accc0..e6cef3bfcd9 100644 --- a/reactos/subsystems/win32/win32k/ntuser/callback.c +++ b/reactos/subsystems/win32/win32k/ntuser/callback.c @@ -510,18 +510,25 @@ co_IntCallHookProc(INT HookId, UserEnterCo(); - _SEH2_TRY + if (ResultPointer) { - ProbeForRead(ResultPointer, sizeof(LRESULT), 1); - /* Simulate old behaviour: copy into our local buffer */ - Result = *(LRESULT*)ResultPointer; + _SEH2_TRY + { + ProbeForRead(ResultPointer, sizeof(LRESULT), 1); + /* Simulate old behaviour: copy into our local buffer */ + Result = *(LRESULT*)ResultPointer; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + Result = 0; + Hit = TRUE; + } + _SEH2_END; } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + else { - Result = 0; - Hit = TRUE; + DPRINT1("ERROR: Hook ResultPointer 0x%x ResultLength %d\n",ResultPointer,ResultLength); } - _SEH2_END; if (!NT_SUCCESS(Status)) { diff --git a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c index 1fd9f03ca42..fb9dfeebf84 100644 --- a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c +++ b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c @@ -159,7 +159,7 @@ UserSetCursor( return OldCursor; } -BOOL UserSetCursorPos( INT x, INT y, BOOL SendMouseMoveMsg) +BOOL UserSetCursorPos( INT x, INT y) { PWND DesktopWindow; PSYSTEM_CURSORINFO CurInfo; @@ -194,21 +194,17 @@ BOOL UserSetCursorPos( INT x, INT y, BOOL SendMouseMoveMsg) pt.x = x; pt.y = y; + /* 3. Generate a mouse move message, this sets the htEx. */ + Msg.message = WM_MOUSEMOVE; + Msg.wParam = CurInfo->ButtonsDown; + Msg.lParam = MAKELPARAM(x, y); + Msg.pt = pt; + co_MsqInsertMouseMessage(&Msg, 0, 0); - if (SendMouseMoveMsg) - { - /* Generate a mouse move message */ - Msg.message = WM_MOUSEMOVE; - Msg.wParam = CurInfo->ButtonsDown; - Msg.lParam = MAKELPARAM(x, y); - Msg.pt = pt; - co_MsqInsertMouseMessage(&Msg); - } - - /* Store the new cursor position */ + /* 1. Store the new cursor position */ gpsi->ptCursor = pt; - /* Move the mouse pointer */ + /* 2. Move the mouse pointer */ GreMovePointer(hDC, x, y); return TRUE; @@ -681,7 +677,7 @@ UserClipCursor( { CurInfo->bClipped = TRUE; RECTL_bIntersectRect(&CurInfo->rcClip, prcl, &DesktopWindow->rcWindow); - UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y, FALSE); + UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y); } else { diff --git a/reactos/subsystems/win32/win32k/ntuser/focus.c b/reactos/subsystems/win32/win32k/ntuser/focus.c index cdc26a7ff94..b4009fec73b 100644 --- a/reactos/subsystems/win32/win32k/ntuser/focus.c +++ b/reactos/subsystems/win32/win32k/ntuser/focus.c @@ -595,7 +595,7 @@ co_UserSetCapture(HWND hWnd) mi.dwFlags = MOUSEEVENTF_MOVE; mi.time = 0; mi.dwExtraInfo = 0; - IntMouseInput(&mi); + IntMouseInput(&mi,FALSE); } return hWndPrev; } diff --git a/reactos/subsystems/win32/win32k/ntuser/hook.c b/reactos/subsystems/win32/win32k/ntuser/hook.c index 40d847b12ae..e252716f921 100644 --- a/reactos/subsystems/win32/win32k/ntuser/hook.c +++ b/reactos/subsystems/win32/win32k/ntuser/hook.c @@ -1003,6 +1003,10 @@ co_HOOK_CallHooks( INT HookId, ClientInfo = pti->pClientInfo; SaveHook = pti->sphkCurrent; + /* Note: Setting pti->sphkCurrent will also lock the next hook to this + * hook ID. So, the CallNextHookEx will only call to that hook ID + * chain anyway. For Thread Hooks.... + */ /* Load it for the next call. */ pti->sphkCurrent = Hook; @@ -1042,7 +1046,7 @@ co_HOOK_CallHooks( INT HookId, ObDereferenceObject(Hook->Thread); } - if ( Global ) + if ( Global && !pti->sphkCurrent) { PTHREADINFO ptiHook; @@ -1057,6 +1061,7 @@ co_HOOK_CallHooks( INT HookId, * hook ID, this will have to post to each of the thread message queues * or make a direct call. */ + pti->sphkCurrent = Hook; // Prevent recursion within this thread. do { /* Hook->Thread is null, we hax around this with Hook->head.pti. */ @@ -1104,6 +1109,7 @@ co_HOOK_CallHooks( INT HookId, } while ( Hook ); DPRINT("Ret: Global HookId %d Result 0x%x\n", HookId,Result); + pti->sphkCurrent = NULL; } Exit: return Result; diff --git a/reactos/subsystems/win32/win32k/ntuser/input.c b/reactos/subsystems/win32/win32k/ntuser/input.c index f8550fc79d6..4c72c2e01f5 100644 --- a/reactos/subsystems/win32/win32k/ntuser/input.c +++ b/reactos/subsystems/win32/win32k/ntuser/input.c @@ -53,7 +53,7 @@ DWORD IntLastInputTick(BOOL LastInputTickSetGet); if(mi.dx != 0 || mi.dy != 0) \ mi.dwFlags |= MOUSEEVENTF_MOVE; \ if(mi.dwFlags) \ - IntMouseInput(&mi); \ + IntMouseInput(&mi,FALSE); \ ClearMouseInput(mi); @@ -481,6 +481,7 @@ IntKeyboardSendWinKeyMsg() static VOID APIENTRY co_IntKeyboardSendAltKeyMsg() { + DPRINT1("co_IntKeyboardSendAltKeyMsg\n"); co_MsqPostKeyboardMessage(WM_SYSCOMMAND,SC_KEYMENU,0); } @@ -1073,7 +1074,7 @@ CLEANUP: } BOOL FASTCALL -IntMouseInput(MOUSEINPUT *mi) +IntMouseInput(MOUSEINPUT *mi, BOOL Injected) { const UINT SwapBtnMsg[2][2] = { @@ -1137,7 +1138,7 @@ IntMouseInput(MOUSEINPUT *mi) if(mi->dwFlags & MOUSEEVENTF_MOVE) { - UserSetCursorPos(MousePos.x, MousePos.y, TRUE); + UserSetCursorPos(MousePos.x, MousePos.y); } if(mi->dwFlags & MOUSEEVENTF_LEFTDOWN) { @@ -1145,7 +1146,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = SwapBtnMsg[0][SwapButtons]; CurInfo->ButtonsDown |= SwapBtn[SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } else if(mi->dwFlags & MOUSEEVENTF_LEFTUP) { @@ -1153,7 +1154,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = SwapBtnMsg[1][SwapButtons]; CurInfo->ButtonsDown &= ~SwapBtn[SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } if(mi->dwFlags & MOUSEEVENTF_MIDDLEDOWN) { @@ -1161,7 +1162,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = WM_MBUTTONDOWN; CurInfo->ButtonsDown |= MK_MBUTTON; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } else if(mi->dwFlags & MOUSEEVENTF_MIDDLEUP) { @@ -1169,7 +1170,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = WM_MBUTTONUP; CurInfo->ButtonsDown &= ~MK_MBUTTON; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } if(mi->dwFlags & MOUSEEVENTF_RIGHTDOWN) { @@ -1177,7 +1178,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = SwapBtnMsg[0][!SwapButtons]; CurInfo->ButtonsDown |= SwapBtn[!SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } else if(mi->dwFlags & MOUSEEVENTF_RIGHTUP) { @@ -1185,7 +1186,7 @@ IntMouseInput(MOUSEINPUT *mi) Msg.message = SwapBtnMsg[1][!SwapButtons]; CurInfo->ButtonsDown &= ~SwapBtn[!SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } if((mi->dwFlags & (MOUSEEVENTF_XDOWN | MOUSEEVENTF_XUP)) && @@ -1203,14 +1204,14 @@ IntMouseInput(MOUSEINPUT *mi) gQueueKeyStateTable[VK_XBUTTON1] |= 0xc0; CurInfo->ButtonsDown |= MK_XBUTTON1; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON1); - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } if(mi->mouseData & XBUTTON2) { gQueueKeyStateTable[VK_XBUTTON2] |= 0xc0; CurInfo->ButtonsDown |= MK_XBUTTON2; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON2); - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } } else if(mi->dwFlags & MOUSEEVENTF_XUP) @@ -1221,28 +1222,28 @@ IntMouseInput(MOUSEINPUT *mi) gQueueKeyStateTable[VK_XBUTTON1] &= ~0x80; CurInfo->ButtonsDown &= ~MK_XBUTTON1; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON1); - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } if(mi->mouseData & XBUTTON2) { gQueueKeyStateTable[VK_XBUTTON2] &= ~0x80; CurInfo->ButtonsDown &= ~MK_XBUTTON2; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON2); - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } } if(mi->dwFlags & MOUSEEVENTF_WHEEL) { Msg.message = WM_MOUSEWHEEL; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, mi->mouseData); - co_MsqInsertMouseMessage(&Msg); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); } return TRUE; } BOOL FASTCALL -IntKeyboardInput(KEYBDINPUT *ki) +IntKeyboardInput(KEYBDINPUT *ki, BOOL Injected) { PUSER_MESSAGE_QUEUE FocusMessageQueue; MSG Msg; @@ -1346,6 +1347,7 @@ IntKeyboardInput(KEYBDINPUT *ki) KbdHookData.vkCode = vk_hook; KbdHookData.scanCode = ki->wScan; KbdHookData.flags = flags >> 8; + if (Injected) KbdHookData.flags |= LLKHF_INJECTED; KbdHookData.time = Msg.time; KbdHookData.dwExtraInfo = ki->dwExtraInfo; if (co_HOOK_CallHooks(WH_KEYBOARD_LL, HC_ACTION, Msg.message, (LPARAM) &KbdHookData)) @@ -1510,13 +1512,13 @@ NtUserSendInput( switch(SafeInput.type) { case INPUT_MOUSE: - if(IntMouseInput(&SafeInput.mi)) + if(IntMouseInput(&SafeInput.mi, TRUE)) { cnt++; } break; case INPUT_KEYBOARD: - if(IntKeyboardInput(&SafeInput.ki)) + if(IntKeyboardInput(&SafeInput.ki, TRUE)) { cnt++; } @@ -1541,4 +1543,280 @@ CLEANUP: END_CLEANUP; } +BOOL +FASTCALL +IntQueryTrackMouseEvent( + LPTRACKMOUSEEVENT lpEventTrack) +{ + PDESKTOP pDesk; + PTHREADINFO pti; + + pti = PsGetCurrentThreadWin32Thread(); + pDesk = pti->rpdesk; + + /* Always cleared with size set and return true. */ + RtlZeroMemory(lpEventTrack ,sizeof(TRACKMOUSEEVENT)); + lpEventTrack->cbSize = sizeof(TRACKMOUSEEVENT); + + if ( pDesk->dwDTFlags & (DF_TME_LEAVE|DF_TME_HOVER) && + pDesk->spwndTrack && + pti->MessageQueue == pDesk->spwndTrack->head.pti->MessageQueue ) + { + if ( pDesk->htEx != HTCLIENT ) + lpEventTrack->dwFlags |= TME_NONCLIENT; + + if ( pDesk->dwDTFlags & DF_TME_LEAVE ) + lpEventTrack->dwFlags |= TME_LEAVE; + + if ( pDesk->dwDTFlags & DF_TME_HOVER ) + { + lpEventTrack->dwFlags |= TME_HOVER; + lpEventTrack->dwHoverTime = pDesk->dwMouseHoverTime; + } + lpEventTrack->hwndTrack = UserHMGetHandle(pDesk->spwndTrack); + } + return TRUE; +} + +BOOL +FASTCALL +IntTrackMouseEvent( + LPTRACKMOUSEEVENT lpEventTrack) +{ + PDESKTOP pDesk; + PTHREADINFO pti; + PWND pWnd; + POINT point; + + pti = PsGetCurrentThreadWin32Thread(); + pDesk = pti->rpdesk; + + if (!(pWnd = UserGetWindowObject(lpEventTrack->hwndTrack))) + return FALSE; + + if ( pDesk->spwndTrack != pWnd || + (pDesk->htEx != HTCLIENT) ^ !!(lpEventTrack->dwFlags & TME_NONCLIENT) ) + { + if ( lpEventTrack->dwFlags & TME_LEAVE && !(lpEventTrack->dwFlags & TME_CANCEL) ) + { + UserPostMessage( lpEventTrack->hwndTrack, + lpEventTrack->dwFlags & TME_NONCLIENT ? WM_NCMOUSELEAVE : WM_MOUSELEAVE, + 0, 0); + } + DPRINT("IntTrackMouseEvent spwndTrack 0x%x pwnd 0x%x\n", pDesk->spwndTrack,pWnd); + return TRUE; + } + + /* Tracking spwndTrack same as pWnd */ + if ( lpEventTrack->dwFlags & TME_CANCEL ) // Canceled mode. + { + if ( lpEventTrack->dwFlags & TME_LEAVE ) + pDesk->dwDTFlags &= ~DF_TME_LEAVE; + + if ( lpEventTrack->dwFlags & TME_HOVER ) + { + if ( pDesk->dwDTFlags & DF_TME_HOVER ) + { // Kill hover timer. + IntKillTimer(pWnd, ID_EVENT_SYSTIMER_MOUSEHOVER, TRUE); + pDesk->dwDTFlags &= ~DF_TME_HOVER; + } + } + } + else // Not Canceled. + { + if ( lpEventTrack->dwFlags & TME_LEAVE ) + pDesk->dwDTFlags |= DF_TME_LEAVE; + + if ( lpEventTrack->dwFlags & TME_HOVER ) + { + pDesk->dwDTFlags |= DF_TME_HOVER; + + if ( !lpEventTrack->dwHoverTime || lpEventTrack->dwHoverTime == HOVER_DEFAULT ) + pDesk->dwMouseHoverTime = gspv.iMouseHoverTime; // use the system default hover time-out. + else + pDesk->dwMouseHoverTime = lpEventTrack->dwHoverTime; + // Start timer for the hover period. + IntSetTimer( pWnd, ID_EVENT_SYSTIMER_MOUSEHOVER, pDesk->dwMouseHoverTime, SystemTimerProc, TMRF_SYSTEM); + // Get windows thread message points. + point = pWnd->head.pti->ptLast; + // Set desktop mouse hover from the system default hover rectangle. + RECTL_vSetRect(&pDesk->rcMouseHover, + point.x - gspv.iMouseHoverWidth / 2, + point.y - gspv.iMouseHoverHeight / 2, + point.x + gspv.iMouseHoverWidth / 2, + point.y + gspv.iMouseHoverHeight / 2); + } + } + return TRUE; +} + +BOOL +APIENTRY +NtUserTrackMouseEvent( + LPTRACKMOUSEEVENT lpEventTrack) +{ + TRACKMOUSEEVENT saveTME; + BOOL Ret = FALSE; + + DPRINT("Enter NtUserTrackMouseEvent\n"); + UserEnterExclusive(); + + _SEH2_TRY + { + ProbeForRead(lpEventTrack, sizeof(TRACKMOUSEEVENT), 1); + RtlCopyMemory(&saveTME, lpEventTrack, sizeof(TRACKMOUSEEVENT)); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + SetLastNtError(_SEH2_GetExceptionCode()); + _SEH2_YIELD(goto Exit;) + } + _SEH2_END; + + if ( saveTME.cbSize != sizeof(TRACKMOUSEEVENT) ) + { + EngSetLastError(ERROR_INVALID_PARAMETER); + goto Exit; + } + + if (saveTME.dwFlags & ~(TME_CANCEL|TME_QUERY|TME_NONCLIENT|TME_LEAVE|TME_HOVER) ) + { + EngSetLastError(ERROR_INVALID_FLAGS); + goto Exit; + } + + if ( saveTME.dwFlags & TME_QUERY ) + { + Ret = IntQueryTrackMouseEvent(&saveTME); + _SEH2_TRY + { + ProbeForWrite(lpEventTrack, sizeof(TRACKMOUSEEVENT), 1); + RtlCopyMemory(lpEventTrack, &saveTME, sizeof(TRACKMOUSEEVENT)); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + SetLastNtError(_SEH2_GetExceptionCode()); + Ret = FALSE; + } + _SEH2_END; + } + else + { + Ret = IntTrackMouseEvent(&saveTME); + } + +Exit: + DPRINT("Leave NtUserTrackMouseEvent, ret=%i\n",Ret); + UserLeave(); + return Ret; +} + +extern MOUSEMOVEPOINT MouseHistoryOfMoves[]; +extern INT gcur_count; + +DWORD +APIENTRY +NtUserGetMouseMovePointsEx( + UINT cbSize, + LPMOUSEMOVEPOINT lpptIn, + LPMOUSEMOVEPOINT lpptOut, + int nBufPoints, + DWORD resolution) +{ + MOUSEMOVEPOINT Safeppt; + BOOL Hit; + INT Count = -1; + DECLARE_RETURN(DWORD); + + DPRINT("Enter NtUserGetMouseMovePointsEx\n"); + UserEnterExclusive(); + + if ((cbSize != sizeof(MOUSEMOVEPOINT)) || (nBufPoints < 0) || (nBufPoints > 64)) + { + EngSetLastError(ERROR_INVALID_PARAMETER); + RETURN( -1); + } + + if (!lpptIn || (!lpptOut && nBufPoints)) + { + EngSetLastError(ERROR_NOACCESS); + RETURN( -1); + } + + _SEH2_TRY + { + ProbeForRead( lpptIn, cbSize, 1); + RtlCopyMemory(&Safeppt, lpptIn, cbSize); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + SetLastNtError(_SEH2_GetExceptionCode()); + _SEH2_YIELD(RETURN( -1)) + } + _SEH2_END; + + // http://msdn.microsoft.com/en-us/library/ms646259(v=vs.85).aspx + // This explains the math issues in transforming points. + Count = gcur_count; // FIFO is forward so retrieve backward. + Hit = FALSE; + do + { + if (Safeppt.x == 0 && Safeppt.y == 0) + break; // No test. + // Finds the point, it returns the last nBufPoints prior to and including the supplied point. + if (MouseHistoryOfMoves[Count].x == Safeppt.x && MouseHistoryOfMoves[Count].y == Safeppt.y) + { + if ( Safeppt.time ) // Now test time and it seems to be absolute. + { + if (Safeppt.time == MouseHistoryOfMoves[Count].time) + { + Hit = TRUE; + break; + } + else + { + if (--Count < 0) Count = 63; + continue; + } + } + Hit = TRUE; + break; + } + if (--Count < 0) Count = 63; + } + while ( Count != gcur_count); + + switch(resolution) + { + case GMMP_USE_DISPLAY_POINTS: + if (nBufPoints) + { + _SEH2_TRY + { + ProbeForWrite(lpptOut, cbSize, 1); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + SetLastNtError(_SEH2_GetExceptionCode()); + _SEH2_YIELD(RETURN( -1)) + } + _SEH2_END; + } + Count = nBufPoints; + break; + case GMMP_USE_HIGH_RESOLUTION_POINTS: + break; + default: + EngSetLastError(ERROR_POINT_NOT_FOUND); + RETURN( -1); + } + + RETURN( Count); + +CLEANUP: + DPRINT("Leave NtUserGetMouseMovePointsEx, ret=%i\n",_ret_); + UserLeave(); + END_CLEANUP; +} + /* EOF */ diff --git a/reactos/subsystems/win32/win32k/ntuser/keyboard.c b/reactos/subsystems/win32/win32k/ntuser/keyboard.c index 49a65450be5..d0509ad1e7a 100644 --- a/reactos/subsystems/win32/win32k/ntuser/keyboard.c +++ b/reactos/subsystems/win32/win32k/ntuser/keyboard.c @@ -400,7 +400,30 @@ DWORD FASTCALL UserGetAsyncKeyState(DWORD key) return ret; } +/*********************************************************************** + * get_key_state + */ +WORD FASTCALL get_key_state(void) +{ + WORD ret = 0; + if (gpsi->aiSysMet[SM_SWAPBUTTON]) + { + if (UserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_LBUTTON; + if (UserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_RBUTTON; + } + else + { + if (UserGetAsyncKeyState(VK_LBUTTON) & 0x80) ret |= MK_LBUTTON; + if (UserGetAsyncKeyState(VK_RBUTTON) & 0x80) ret |= MK_RBUTTON; + } + if (UserGetAsyncKeyState(VK_MBUTTON) & 0x80) ret |= MK_MBUTTON; + if (UserGetAsyncKeyState(VK_SHIFT) & 0x80) ret |= MK_SHIFT; + if (UserGetAsyncKeyState(VK_CONTROL) & 0x80) ret |= MK_CONTROL; + if (UserGetAsyncKeyState(VK_XBUTTON1) & 0x80) ret |= MK_XBUTTON1; + if (UserGetAsyncKeyState(VK_XBUTTON2) & 0x80) ret |= MK_XBUTTON2; + return ret; +} SHORT APIENTRY diff --git a/reactos/subsystems/win32/win32k/ntuser/menu.c b/reactos/subsystems/win32/win32k/ntuser/menu.c index b205fd62ef3..2c2a18f001c 100644 --- a/reactos/subsystems/win32/win32k/ntuser/menu.c +++ b/reactos/subsystems/win32/win32k/ntuser/menu.c @@ -709,14 +709,14 @@ IntSetMenuItemInfo(PMENU_OBJECT MenuObject, PMENU_ITEM MenuItem, PROSMENUITEMINF { return FALSE; } - if( lpmii->fType & ~fTypeMask) + if (lpmii->fType & ~fTypeMask) { DbgPrint("IntSetMenuItemInfo invalid fType flags %x\n", lpmii->fType & ~fTypeMask); lpmii->fMask &= ~(MIIM_TYPE | MIIM_FTYPE); } - if(lpmii->fMask & MIIM_TYPE) + if (lpmii->fMask & MIIM_TYPE) { - if(lpmii->fMask & ( MIIM_STRING | MIIM_FTYPE | MIIM_BITMAP)) + if (lpmii->fMask & ( MIIM_STRING | MIIM_FTYPE | MIIM_BITMAP)) { DbgPrint("IntSetMenuItemInfo: Invalid combination of fMask bits used\n"); /* this does not happen on Win9x/ME */ @@ -2056,11 +2056,13 @@ NtUserHiliteMenuItem( if(!(Window = UserGetWindowObject(hWnd))) { + EngSetLastError(ERROR_INVALID_WINDOW_HANDLE); RETURN(FALSE); } if(!(Menu = UserGetMenuObject(hMenu))) { + EngSetLastError(ERROR_INVALID_MENU_HANDLE); RETURN(FALSE); } @@ -2228,6 +2230,9 @@ UserMenuItemInfo( NULL, &MenuItem, NULL) < 0) { EngSetLastError(ERROR_INVALID_PARAMETER); +// This will crash menu (line 80) correct_behavior test! +// "NT4 and below can't handle a bigger MENUITEMINFO struct" + //EngSetLastError(ERROR_MENU_ITEM_NOT_FOUND); return( FALSE); } diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index 16cd57889cd..60ff1f18a61 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -20,6 +20,8 @@ /* GLOBALS *******************************************************************/ static PAGED_LOOKASIDE_LIST MessageLookasideList; +MOUSEMOVEPOINT MouseHistoryOfMoves[64]; +INT gcur_count = 0; /* FUNCTIONS *****************************************************************/ @@ -189,7 +191,7 @@ MsqPostMouseMove(PUSER_MESSAGE_QUEUE MessageQueue, MSG* Msg) } VOID FASTCALL -co_MsqInsertMouseMessage(MSG* Msg) +co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo) { LARGE_INTEGER LargeTickCount; MSLLHOOKSTRUCT MouseHookData; @@ -219,9 +221,9 @@ co_MsqInsertMouseMessage(MSG* Msg) break; } - MouseHookData.flags = 0; + MouseHookData.flags = flags; // LLMHF_INJECTED MouseHookData.time = Msg->time; - MouseHookData.dwExtraInfo = 0; + MouseHookData.dwExtraInfo = dwExtraInfo; /* If the hook procedure returned non zero, dont send the message */ if (co_HOOK_CallHooks(WH_MOUSE_LL, HC_ACTION, Msg->message, (LPARAM) &MouseHookData)) @@ -232,11 +234,22 @@ co_MsqInsertMouseMessage(MSG* Msg) if(!pwndDesktop) return; + /* Set hit somewhere on the desktop */ + pDesk = pwndDesktop->head.rpdesk; + pDesk->htEx = HTNOWHERE; + pDesk->spwndTrack = pwndDesktop; + /* Check if the mouse is captured */ Msg->hwnd = IntGetCaptureWindow(); if(Msg->hwnd != NULL) { pwnd = UserGetWindowObject(Msg->hwnd); + if ((pwnd->style & WS_VISIBLE) && + IntPtInWindow(pwnd, Msg->pt.x, Msg->pt.y)) + { + pDesk->htEx = HTCLIENT; + pDesk->spwndTrack = pwnd; + } } else { @@ -255,7 +268,6 @@ co_MsqInsertMouseMessage(MSG* Msg) IntPtInWindow(pwnd, Msg->pt.x, Msg->pt.y)) { Msg->hwnd = pwnd->head.h; - pDesk = pwnd->head.rpdesk; pDesk->htEx = HTCLIENT; pDesk->spwndTrack = pwnd; break; @@ -277,6 +289,13 @@ co_MsqInsertMouseMessage(MSG* Msg) MsqPostMessage(pwnd->head.pti->MessageQueue, Msg, TRUE, QS_MOUSEBUTTON); } } + + /* Do GetMouseMovePointsEx FIFO. */ + MouseHistoryOfMoves[gcur_count].x = Msg->pt.x; + MouseHistoryOfMoves[gcur_count].y = Msg->pt.y; + MouseHistoryOfMoves[gcur_count].time = Msg->time; + MouseHistoryOfMoves[gcur_count].dwExtraInfo = 0; // need to be passed from IntMouseInput mi.dwExtraInfo. + if (gcur_count++ == 64) gcur_count = 0; // 0 - 63 is 64, FIFO forwards. } // @@ -1276,7 +1295,7 @@ co_MsqPeekHardwareMessage(IN PUSER_MESSAGE_QUEUE MessageQueue, if (Remove) { RemoveEntryList(&CurrentMessage->ListEntry); - ClearMsgBitsMask(MessageQueue, CurrentMessage->QS_Flags); + ClearMsgBitsMask(MessageQueue, QS_INPUT); MsqDestroyMessage(CurrentMessage); } @@ -1336,7 +1355,7 @@ MsqPeekMessage(IN PUSER_MESSAGE_QUEUE MessageQueue, if (Remove) { RemoveEntryList(&CurrentMessage->ListEntry); - ClearMsgBitsMask(MessageQueue, CurrentMessage->QS_Flags); + ClearMsgBitsMask(MessageQueue, QS_POSTMESSAGE); MsqDestroyMessage(CurrentMessage); } return(TRUE); diff --git a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c index 06b84793c87..e1ede5abb5f 100644 --- a/reactos/subsystems/win32/win32k/ntuser/ntstubs.c +++ b/reactos/subsystems/win32/win32k/ntuser/ntstubs.c @@ -277,56 +277,6 @@ NtUserGetImeHotKey( return 0; } - -DWORD -APIENTRY -NtUserGetMouseMovePointsEx( - UINT cbSize, - LPMOUSEMOVEPOINT lppt, - LPMOUSEMOVEPOINT lpptBuf, - int nBufPoints, - DWORD resolution) -{ - UserEnterExclusive(); - - if ((cbSize != sizeof(MOUSEMOVEPOINT)) || (nBufPoints < 0) || (nBufPoints > 64)) - { - UserLeave(); - EngSetLastError(ERROR_INVALID_PARAMETER); - return -1; - } - - _SEH2_TRY - { - ProbeForRead(lppt, cbSize, 1); - ProbeForWrite(lpptBuf, cbSize, 1); - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - SetLastNtError(_SEH2_GetExceptionCode()); - EngSetLastError(ERROR_NOACCESS); - } - _SEH2_END; - -/* - Call a subfunction of GetMouseMovePointsEx! - switch(resolution) - { - case GMMP_USE_DISPLAY_POINTS: - case GMMP_USE_HIGH_RESOLUTION_POINTS: - break; - default: - EngSetLastError(GMMP_ERR_POINT_NOT_FOUND); - return GMMP_ERR_POINT_NOT_FOUND; - } - */ - UNIMPLEMENTED - UserLeave(); - return -1; -} - - - BOOL APIENTRY NtUserImpersonateDdeClientWindow( @@ -586,17 +536,6 @@ NtUserSetThreadState( return 0; } -BOOL -APIENTRY -NtUserTrackMouseEvent( - LPTRACKMOUSEEVENT lpEventTrack) -{ - UNIMPLEMENTED - - return 0; -} - - DWORD APIENTRY NtUserUpdateInputContext( diff --git a/reactos/subsystems/win32/win32k/ntuser/simplecall.c b/reactos/subsystems/win32/win32k/ntuser/simplecall.c index e5243d93ad1..0a57ea7768c 100644 --- a/reactos/subsystems/win32/win32k/ntuser/simplecall.c +++ b/reactos/subsystems/win32/win32k/ntuser/simplecall.c @@ -473,7 +473,7 @@ NtUserCallTwoParam( RETURN( (DWORD_PTR)co_IntRegisterLogonProcess((HANDLE)Param1, (BOOL)Param2)); case TWOPARAM_ROUTINE_SETCURSORPOS: - RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2, FALSE)); + RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2)); case TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK: RETURN( IntUnhookWindowsHook((int)Param1, (HOOKPROC)Param2)); diff --git a/reactos/subsystems/win32/win32k/ntuser/timer.c b/reactos/subsystems/win32/win32k/ntuser/timer.c index 401caadd306..05a7cb649a6 100644 --- a/reactos/subsystems/win32/win32k/ntuser/timer.c +++ b/reactos/subsystems/win32/win32k/ntuser/timer.c @@ -17,6 +17,8 @@ #define NDEBUG #include +WORD FASTCALL get_key_state(void); + /* GLOBALS *******************************************************************/ static LIST_ENTRY TimersListHead; @@ -82,7 +84,7 @@ RemoveTimer(PTIMER pTmr) { /* Set the flag, it will be removed when ready */ RemoveEntryList(&pTmr->ptmrList); - if ((pTmr->pWnd == NULL) && (!(pTmr->flags & TMRF_SYSTEM))) + if ((pTmr->pWnd == NULL) && (!(pTmr->flags & TMRF_SYSTEM))) // System timers are reusable. { UINT_PTR IDEvent; @@ -287,7 +289,73 @@ SystemTimerProc(HWND hwnd, UINT_PTR idEvent, DWORD dwTime) { - DPRINT( "Timer Running!\n" ); + PDESKTOP pDesk; + PWND pWnd = NULL; + + if (hwnd) + { + pWnd = UserGetWindowObject(hwnd); + if (!pWnd) + { + DPRINT1( "System Timer Proc has invalid window handle! 0x%x Id: %d\n", hwnd, idEvent); + return; + } + } + else + { + DPRINT( "Windowless Timer Running!\n" ); + return; + } + + switch (idEvent) + { +/* + Used in NtUserTrackMouseEvent. + */ + case ID_EVENT_SYSTIMER_MOUSEHOVER: + { + POINT Point; + UINT Msg; + WPARAM wParam; + + pDesk = pWnd->head.rpdesk; + if ( pDesk->dwDTFlags & DF_TME_HOVER && + pWnd == pDesk->spwndTrack ) + { + Point = gpsi->ptCursor; + if ( IntPtInRect(&pDesk->rcMouseHover, Point) ) + { + if (pDesk->htEx == HTCLIENT) // In a client area. + { + wParam = get_key_state(); + Msg = WM_MOUSEHOVER; + + if (pWnd->ExStyle & WS_EX_LAYOUTRTL) + { + Point.x = pWnd->rcClient.right - Point.x - 1; + } + else + Point.x -= pWnd->rcClient.left; + Point.y -= pWnd->rcClient.top; + } + else + { + wParam = pDesk->htEx; // Need to support all HTXYZ hits. + Msg = WM_NCMOUSEHOVER; + } + UserPostMessage(hwnd, Msg, wParam, MAKELPARAM(Point.x, Point.y)); + pDesk->dwDTFlags &= ~DF_TME_HOVER; + break; // Kill this timer. + } + } + } + return; // Not this window so just return. + + default: + DPRINT1( "System Timer Proc invalid id %d!\n", idEvent ); + break; + } + IntKillTimer(pWnd, idEvent, TRUE); } VOID @@ -296,7 +364,9 @@ StartTheTimers(VOID) { // Need to start gdi syncro timers then start timer with Hang App proc // that calles Idle process so the screen savers will know to run...... - IntSetTimer(NULL, 0, 1000, SystemTimerProc, TMRF_RIT); + IntSetTimer(NULL, 0, 1000, HungAppSysTimerProc, TMRF_RIT); +// Test Timers +// IntSetTimer(NULL, 0, 1000, SystemTimerProc, TMRF_RIT); } UINT_PTR @@ -347,6 +417,13 @@ PostTimerMessages(PWND Window) pTmr->flags &= ~TMRF_READY; pti->cTimersReady++; Hit = TRUE; + // Now move this entry to the end of the list so it will not be + // called again in the next msg loop. + if (pLE != &TimersListHead) + { + RemoveEntryList(&pTmr->ptmrList); + InsertTailList(&TimersListHead, &pTmr->ptmrList); + } break; } diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index e94d19cf5b9..52de61e35c2 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -1692,7 +1692,7 @@ PWND FASTCALL IntCreateWindow(CREATESTRUCTW* Cs, DPRINT("Created object with handle %X\n", hWnd); if (NULL == pti->rpdesk->DesktopWindow) - { + { /*HACK! Helper for win32csr/desktopbg.c */ /* If there is no desktop window yet, we must be creating it */ pti->rpdesk->DesktopWindow = hWnd; pti->rpdesk->pDeskInfo->spwnd = pWnd; @@ -1891,7 +1891,7 @@ PWND FASTCALL IntCreateWindow(CREATESTRUCTW* Cs, return pWnd; AllocError: - + DPRINT1("IntCreateWindow Allocation Error.\n"); if(pWnd) UserDereferenceObject(pWnd); @@ -2575,7 +2575,7 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWND Window) msg.wParam = IntGetSysCursorInfo()->ButtonsDown; msg.lParam = MAKELPARAM(gpsi->ptCursor.x, gpsi->ptCursor.y); msg.pt = gpsi->ptCursor; - co_MsqInsertMouseMessage(&msg); + co_MsqInsertMouseMessage(&msg, 0, 0); if (!IntIsWindow(Window->head.h)) { From d234fd5fc87b76d9432982cdb452b5d44524ad8b Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 8 Apr 2011 21:09:07 +0000 Subject: [PATCH 13/48] [SNDVOL32] - Add english resources for sndvol32 - Enjoy ;) svn path=/trunk/; revision=51284 --- reactos/base/applications/sndvol32/lang/en-US.rc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/reactos/base/applications/sndvol32/lang/en-US.rc b/reactos/base/applications/sndvol32/lang/en-US.rc index 43e8fd88e5b..89b60d65b05 100644 --- a/reactos/base/applications/sndvol32/lang/en-US.rc +++ b/reactos/base/applications/sndvol32/lang/en-US.rc @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Cancel", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +{ + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12 + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +} From fcdea4c19d615c4188f9f316b4d020ed3eca297c Mon Sep 17 00:00:00 2001 From: Olaf Siejka Date: Fri, 8 Apr 2011 21:57:32 +0000 Subject: [PATCH 14/48] [DOSKEY] - Polish translation by Adam "Saibman" Stachowicz [SNDREC32] - Polish translation by Adam "Saibman" Stachowicz [SNDVOL32] - Polish translation update by me [TRANSLATION] - Polish translation fixes (spelling, typos, grammar) and updates on multiple modules by Adam "Saibman" Stachowicz, few small corrections by me. See issue #6087 for more details. svn path=/trunk/; revision=51285 --- reactos/base/applications/cacls/lang/pl-PL.rc | 4 +- reactos/base/applications/calc/lang/pl-PL.rc | 5 +- .../cmdutils/doskey/lang/pl-PL.rc | 34 +++++++++++ .../applications/cmdutils/find/lang/pl-PL.rc | 2 +- .../applications/cmdutils/more/lang/pl-PL.rc | 2 +- .../base/applications/cmdutils/xcopy/Pl.rc | 2 +- .../base/applications/dxdiag/lang/pl-PL.rc | 5 +- .../base/applications/findstr/lang/pl-PL.rc | 2 +- .../games/solitaire/lang/pl-PL.rc | 5 +- .../base/applications/logoff/lang/pl-PL.rc | 2 +- reactos/base/applications/mmc/lang/pl-PL.rc | 2 +- .../mscutils/eventvwr/lang/pl-PL.rc | 2 +- .../mscutils/servman/lang/bg-BG.rc | 2 +- .../mscutils/servman/lang/pl-PL.rc | 8 +-- reactos/base/applications/mstsc/lang/pl-PL.rc | 7 ++- .../network/ipconfig/lang/pl-PL.rc | 2 +- .../base/applications/notepad/lang/pl-PL.rc | 6 +- reactos/base/applications/rapps/lang/pl-PL.rc | 13 ++-- .../base/applications/regedit/lang/pl-PL.rc | 26 ++++---- .../base/applications/sndrec32/lang/pl-PL.rc | 61 +++++++++++++++++++ .../base/applications/sndvol32/lang/pl-PL.rc | 15 +++++ reactos/base/shell/explorer-new/lang/pl-PL.rc | 2 +- reactos/base/shell/explorer/explorer-pl.rc | 2 +- reactos/dll/cpl/desk/lang/pl-PL.rc | 2 +- reactos/dll/win32/shell32/lang/pl-PL.rc | 19 +++--- 25 files changed, 175 insertions(+), 57 deletions(-) create mode 100644 reactos/base/applications/cmdutils/doskey/lang/pl-PL.rc create mode 100644 reactos/base/applications/sndrec32/lang/pl-PL.rc diff --git a/reactos/base/applications/cacls/lang/pl-PL.rc b/reactos/base/applications/cacls/lang/pl-PL.rc index 7d5437d4b0f..57adf1f71a6 100644 --- a/reactos/base/applications/cacls/lang/pl-PL.rc +++ b/reactos/base/applications/cacls/lang/pl-PL.rc @@ -2,7 +2,7 @@ * translated by TestamenT * testament@users.sourceforge.net * https://sourceforge.net/projects/reactospl - * + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -13,7 +13,7 @@ BEGIN IDS_HELP, "Pokaŋ lub modyfikuj listę kontroli dostępu (Access Control List) plikķw\n\n\ CACLS nazwa pliku [/T] [/E] [/C] [/G uŋytkownik:dostęp [...]] [/R uŋytkownik [...]]\n\ [/P uŋytkownik:dostęp [...]] [/D uŋytkownik [...]]\n\ - filename Pokaŋ ACL.\n\ + nazwa pliku Pokaŋ ACL.\n\ /T Zmiana ACL okreœlonych plikķw w\n\ aktualnym katalogu i wszystkich podkatalogach.\n\ /E Umoŋliwia edycję listy ACL zamiast jej zamiany.\n\ diff --git a/reactos/base/applications/calc/lang/pl-PL.rc b/reactos/base/applications/calc/lang/pl-PL.rc index 59cf444ef50..182419c005a 100644 --- a/reactos/base/applications/calc/lang/pl-PL.rc +++ b/reactos/base/applications/calc/lang/pl-PL.rc @@ -3,6 +3,7 @@ * Use ReactOS forum PM or IRC to contact me * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -234,7 +235,7 @@ END IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS Calculator" +CAPTION "Kalkulator ReactOS" MENU IDR_MENU_STANDARD FONT 8, "MS Shell Dlg" BEGIN @@ -252,7 +253,7 @@ BEGIN BS_VCENTER | BS_NOTIFY | WS_TABSTOP,276,24,40,17 CONTROL "CE",IDC_BUTTON_CE,"Button",BS_OWNERDRAW | BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,232,24,40,17 - CONTROL "Back",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW | + CONTROL "Wstecz",IDC_BUTTON_BACK,"Button",BS_OWNERDRAW | BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP,188,24, 40,17 RTEXT "",IDC_TEXT_OUTPUT,4,4,312,12,SS_CENTERIMAGE, diff --git a/reactos/base/applications/cmdutils/doskey/lang/pl-PL.rc b/reactos/base/applications/cmdutils/doskey/lang/pl-PL.rc new file mode 100644 index 00000000000..f1f3715a164 --- /dev/null +++ b/reactos/base/applications/cmdutils/doskey/lang/pl-PL.rc @@ -0,0 +1,34 @@ +/* + * translated by Saibamen - Adam Stachowicz (Apr,2011) + * Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me + * http://www.reactos.org + * IRC: irc.freenode.net #reactos-pl + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +BEGIN + +IDS_HELP, "Zarzšdza ustawieniami linii komend, historii i makr.\n\ +\n\ +DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=rozmiar]\n\ + [/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=plik] [macroname=[tekst]]\n\ +\n\ + /INSERT Wŗšcza tryb wstawiania tekstu.\n\ + /OVERSTRIKE Wyŗšcza tryb nadpisywania tekstu.\n\ + /EXENAME=exename Ustawia nazwę programu do przeglšdania/zmiany historii\n\ + i makra. Domyœlnie jest to cmd.exe.\n\ + /HISTORY Wyœwietla historię komend.\n\ + /LISTSIZE=rozmiar Ustawia iloœæ wyœwietlanych komend dla buforu historii.\n\ + /REINSTALL Czyœci historię komend.\n\ + /MACROS Wyœwietla definicje makro.\n\ + /MACROS:exename Wyœwietla definicje makro dla okreœlonego programu.\n\ + /MACROS:ALL Wyœwietla definicje makro dla wszystkich programķw.\n\ + /MACROFILE=plik Ŗaduje definicje makro z pliku.\n\ + macroname Nazwa dla tworzonego makro.\n\ + tekst Okreœla zastępczy tekst dla makro.\n" + +IDS_INVALID_MACRO_DEF, "Nieprawidŗowa definicja makro: %s\n" + +END diff --git a/reactos/base/applications/cmdutils/find/lang/pl-PL.rc b/reactos/base/applications/cmdutils/find/lang/pl-PL.rc index d32c94bc63b..fca0184c805 100644 --- a/reactos/base/applications/cmdutils/find/lang/pl-PL.rc +++ b/reactos/base/applications/cmdutils/find/lang/pl-PL.rc @@ -15,7 +15,7 @@ IDS_USAGE, "FIND: Wy /C Oblicza w ilu liniach pojawiŗ się szukany cišg znakķw\n\ /I Ignoruje wielkoœæ liter\n\ /N Numeruje wyœwietlane linie, zaczynajšc od 1\n\ - /V Wyœwietla te linie ktķre nie zawierajš szukanego cišgu znakķw" + /V Wyœwietla te linie, ktķre nie zawierajš szukanego cišgu znakķw" IDS_NO_SUCH_FILE, "FIND: %s: Plik nie zostaŗ znaleziony\n" diff --git a/reactos/base/applications/cmdutils/more/lang/pl-PL.rc b/reactos/base/applications/cmdutils/more/lang/pl-PL.rc index 6e211669c7d..2a8d0a858b1 100644 --- a/reactos/base/applications/cmdutils/more/lang/pl-PL.rc +++ b/reactos/base/applications/cmdutils/more/lang/pl-PL.rc @@ -15,7 +15,7 @@ BEGIN MORE [Napęd:][Œcieŋka]Nazwa pliku\n\n\ [Napęd:][Œcieŋka]Nazwa pliku Plik, ktķrego zawartoœæ ma byæ wyœwietlona.\n\ Polecenie\t\t Polecenie, ktķrego wynik ma byæ wyœwietlony.\n\n\ - Po wyœwietleniu ""-- Kontynuuj --"" moŋesz nacisnšæ dowolny klawisz by przejœæ na następnš stronę.\n" + Po wyœwietleniu ""-- Kontynuuj --"" moŋesz nacisnšæ dowolny klawisz, aby przejœæ na następnš stronę.\n" IDS_CONTINUE, " -- Kontynuuj (100%) -- " IDS_FILE_ACCESS, "Brak dostępu do pliku: %s." diff --git a/reactos/base/applications/cmdutils/xcopy/Pl.rc b/reactos/base/applications/cmdutils/xcopy/Pl.rc index 4bf0971c6ba..15ca1593193 100644 --- a/reactos/base/applications/cmdutils/xcopy/Pl.rc +++ b/reactos/base/applications/cmdutils/xcopy/Pl.rc @@ -70,7 +70,7 @@ Gdzie:\n\ [/U] Kopiuje tylko pliki, ktķre juŋ istniejš w miejscu docelowym\n\ [/R] Zastępuje pliki tylko do odczytu\n\ [/H] Kopiuje rķwnieŋ pliki ukryte i systemowe\n\ -[/C] Kontynuuje nawet jeŋeli podczas kopiowania występiŗy bŗędy\n\ +[/C] Kontynuuje nawet jeŋeli podczas kopiowania wystšpiŗy bŗędy\n\ [/A] Kopiuje tylko pliki z atrybutem archiwalny\n\ [/M] Kopiuje tylko pliki z atrybutem archiwalny i usuwa ten atrybut\n\ [/D | /D:m-d-y] Kopiuje tylko nowe pliki lub te zmodifikowane po podanej dacie.\n\ diff --git a/reactos/base/applications/dxdiag/lang/pl-PL.rc b/reactos/base/applications/dxdiag/lang/pl-PL.rc index 74cb797e2ba..cf747597acc 100644 --- a/reactos/base/applications/dxdiag/lang/pl-PL.rc +++ b/reactos/base/applications/dxdiag/lang/pl-PL.rc @@ -1,5 +1,6 @@ /* * translated by Caemyr - Olaf Siejka (Apr,2008) + * updated by Saibamen - Adam Stachowicz (Apr, 2011) * Use ReactOS forum PM or IRC to contact me * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl @@ -25,7 +26,7 @@ IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 190 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Ten program dostarcza szczegķŗowych danych o komponentach ReactX i sterownikach, zainstalowanych na twoim systemie..", -1, 10, 10, 443, 17 + LTEXT "Ten program dostarcza szczegķŗowe dane o komponentach ReactX i sterownikach, zainstalowanych na twoim systemie..", -1, 10, 10, 443, 17 LTEXT "Jeœli wiesz juŋ, gdzie tkwi bŗšd, kliknij na odpowiedniš zakŗadkę. W innym wypadku moŋesz przejœæ przez wszystkie zakŗadki przyciskiem Następna", -1, 10, 30, 443, 25 GROUPBOX "Informacje o systemie", -1, 10, 55, 443, 130, SS_RIGHT LTEXT "Data i czas:", -1, 70, 70, 80, 10, SS_RIGHT @@ -138,7 +139,7 @@ BEGIN LTEXT "", IDC_STATIC_ADAPTER_PROVIDER, 335, 75, 100, 10 GROUPBOX "ReactX-", -1, 10, 115, 450, 60 CONTROL "", IDC_SLIDER_DSOUND, "msctls_trackbar32", TBS_BOTTOM | TBS_AUTOTICKS | WS_TABSTOP, 120, 135, 80, 17 - RTEXT "Przyspiesznie sprzętowe\nPoziom:", -1, 20, 135, 90, 20 + RTEXT "Przyspieszenie sprzętowe\nPoziom:", -1, 20, 135, 90, 20 PUSHBUTTON "Testuj DirectSound", IDC_BUTTON_TESTDSOUND, 270, 134, 80, 14 GROUPBOX "Uwagi", -1, 10, 180, 450, 40 EDITTEXT IDC_TEXT_DSOUNDINFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP diff --git a/reactos/base/applications/findstr/lang/pl-PL.rc b/reactos/base/applications/findstr/lang/pl-PL.rc index d32c94bc63b..fca0184c805 100644 --- a/reactos/base/applications/findstr/lang/pl-PL.rc +++ b/reactos/base/applications/findstr/lang/pl-PL.rc @@ -15,7 +15,7 @@ IDS_USAGE, "FIND: Wy /C Oblicza w ilu liniach pojawiŗ się szukany cišg znakķw\n\ /I Ignoruje wielkoœæ liter\n\ /N Numeruje wyœwietlane linie, zaczynajšc od 1\n\ - /V Wyœwietla te linie ktķre nie zawierajš szukanego cišgu znakķw" + /V Wyœwietla te linie, ktķre nie zawierajš szukanego cišgu znakķw" IDS_NO_SUCH_FILE, "FIND: %s: Plik nie zostaŗ znaleziony\n" diff --git a/reactos/base/applications/games/solitaire/lang/pl-PL.rc b/reactos/base/applications/games/solitaire/lang/pl-PL.rc index 8d4052000f5..74c57fba51c 100644 --- a/reactos/base/applications/games/solitaire/lang/pl-PL.rc +++ b/reactos/base/applications/games/solitaire/lang/pl-PL.rc @@ -3,6 +3,7 @@ * testament@users.sourceforge.net * https://sourceforge.net/projects/reactospl * updated by Caemyr (olaf_siejka@o2.pl), Nov, 2008 + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -53,7 +54,7 @@ END STRINGTABLE BEGIN IDS_SOL_NAME "Pasjans" - IDS_SOL_ABOUT "Solitaire by J. Brown\n\nCardLib version 1.0." + IDS_SOL_ABOUT "Pasjans by J. Brown\n\nCardLib version 1.0." IDS_SOL_QUIT "Zakoņczyæ aktualnš grę?" IDS_SOL_WIN "Gratulacje, wygraŗeœ!" IDS_SOL_DEAL "Nowe rozdanie?" @@ -76,7 +77,7 @@ BEGIN POPUP "Pomo&c" BEGIN MENUITEM "&Spis treœci\tF1", IDM_HELP_CONTENTS - MENUITEM "Solit&aire - informacje", IDM_HELP_ABOUT + MENUITEM "Pasj&ans - informacje", IDM_HELP_ABOUT END END diff --git a/reactos/base/applications/logoff/lang/pl-PL.rc b/reactos/base/applications/logoff/lang/pl-PL.rc index 9746433a9a4..319854c8b8a 100644 --- a/reactos/base/applications/logoff/lang/pl-PL.rc +++ b/reactos/base/applications/logoff/lang/pl-PL.rc @@ -14,7 +14,7 @@ IDS_USAGE, "Przerywa sesj /v\t\tWyœwietla informację o wykonanej czynnoœci.\n\ /?\t\tWyœwietla niniejszš pomoc.\n\n" -IDS_LOGOFF_REMOTE, "Przeywanie sesji na maszynie zdalnej." +IDS_LOGOFF_REMOTE, "Przerywanie sesji na maszynie zdalnej." IDS_LOGOFF_LOCAL, "Przerywanie niniejszej sesji na maszynie lokalnej." IDS_ILLEGAL_PARAM, "Nieprawidŗowy parametr\n" diff --git a/reactos/base/applications/mmc/lang/pl-PL.rc b/reactos/base/applications/mmc/lang/pl-PL.rc index e6a90d8d6bf..856c2b00940 100644 --- a/reactos/base/applications/mmc/lang/pl-PL.rc +++ b/reactos/base/applications/mmc/lang/pl-PL.rc @@ -14,7 +14,7 @@ BEGIN MENUITEM "Za&koņcz\tAlt+F4", ID_FILE_EXIT END - POPUP "&Help" + POPUP "&Pomoc" BEGIN MENUITEM "Konsola Zarzšdzania ReactOS - i&nformacje...", ID_HELP_ABOUT END diff --git a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc index 01e4da59d60..9a14b680348 100644 --- a/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc +++ b/reactos/base/applications/mscutils/eventvwr/lang/pl-PL.rc @@ -97,7 +97,7 @@ END STRINGTABLE BEGIN IDS_APP_TITLE "Podglšd zdarzeņ" - IDC_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie zostaŗ odnaleziony w Ÿrķdle: ( %s ). Ten komputer moŋe nie miec wystarczajšcych informacji w rejestrze albo bibliotek DLL by wyœwietliæ wiadomoœci z komputera zdalnego." + IDC_EVENTSTRINGIDNOTFOUND "Opis zdarzenia dla danego numeru ID: ( %lu ) nie zostaŗ odnaleziony w Ÿrķdle: ( %s ). Ten komputer moŋe nie miec wystarczajšcych informacji w rejestrze albo bibliotek DLL, aby wyœwietliæ wiadomoœci z komputera zdalnego." IDC_EVENTLOG_ERROR_TYPE "Bŗšd" IDC_EVENTLOG_WARNING_TYPE "Ostrzeŋenie" IDC_EVENTLOG_INFORMATION_TYPE "Informacja" diff --git a/reactos/base/applications/mscutils/servman/lang/bg-BG.rc b/reactos/base/applications/mscutils/servman/lang/bg-BG.rc index f38c64fc5f3..23271f57a3e 100644 --- a/reactos/base/applications/mscutils/servman/lang/bg-BG.rc +++ b/reactos/base/applications/mscutils/servman/lang/bg-BG.rc @@ -68,7 +68,7 @@ CAPTION " FONT 8, "MS Shell Dlg",0,0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Service Manager v0.5.1\nCopyright (C) 2005-2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26 + LTEXT "Service Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 26 PUSHBUTTON "Close", IDOK, 75, 162, 44, 15 ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE diff --git a/reactos/base/applications/mscutils/servman/lang/pl-PL.rc b/reactos/base/applications/mscutils/servman/lang/pl-PL.rc index df0759c7e9f..bd5e473dc6e 100644 --- a/reactos/base/applications/mscutils/servman/lang/pl-PL.rc +++ b/reactos/base/applications/mscutils/servman/lang/pl-PL.rc @@ -4,7 +4,7 @@ * https://sourceforge.net/projects/reactospl * * updated by Caemyr - Olaf Siejka (Jan, 2008) - * updated by Saibamen - Adam Stachowicz (Mar, 2011) + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -77,7 +77,7 @@ CAPTION "Mened FONT 8, "MS Shell Dlg",0,0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Menedŋer Usŗug v0.5.1\nCopyright (C) 2005-2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 135, 26 + LTEXT "Menedŋer Usŗug v0.8\nCopyright (C) 2005-2007\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 135, 26 PUSHBUTTON "Zamknij", IDOK, 75, 162, 44, 15 ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE @@ -224,7 +224,7 @@ BEGIN IDS_CREATE_SUCCESS "Usŗuga utworzona pomyœlnie" IDS_DELETE_SUCCESS "Usŗuga skasowana pomyœlnie" IDS_CREATE_REQ "Pola oznaczone gwiazdkami\nsš obowišzkowe" - IDS_DELETE_STOP "Musisz ręcznie zatrzymaæ usŗugę przed usuwaniem!" + IDS_DELETE_STOP "Musisz ręcznie zatrzymaæ usŗugę przed usunięciem!" END STRINGTABLE DISCARDABLE @@ -287,7 +287,7 @@ BEGIN IDS_HINT_SYS_MOVE " Przesuņ to okno." IDS_HINT_SYS_SIZE " Zmienia wielkoœæ tego okna." IDS_HINT_SYS_MINIMIZE " Ukryj to okno do ikony." - IDS_HINT_SYS_MAXIMIZE " Rozwiņ to okno na peŗen ekran." + IDS_HINT_SYS_MAXIMIZE " Rozwiņ to okno na peŗny ekran." IDS_HINT_SYS_CLOSE " Zamknij to okno." END diff --git a/reactos/base/applications/mstsc/lang/pl-PL.rc b/reactos/base/applications/mstsc/lang/pl-PL.rc index c40a2d2f77c..f81062037be 100644 --- a/reactos/base/applications/mstsc/lang/pl-PL.rc +++ b/reactos/base/applications/mstsc/lang/pl-PL.rc @@ -3,6 +3,7 @@ * Use ReactOS forum PM or IRC to contact me * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -22,7 +23,7 @@ BEGIN PUSHBUTTON "Zapisz jako...",IDC_SAVEAS,123,139,50,14 PUSHBUTTON "Otwķrz...",IDC_OPEN,177,139,50,14 ICON "", IDC_CONNICON, 16,114,20,20 - LTEXT "Zapisz obecne poŗšczenie albo otwķrz istniejšcy juŋ plik z ustawieniami",IDC_STATIC,50,115,172,20 + LTEXT "Zapisz obecne poŗšczenie albo otwķrz juŋ istniejšcy plik z ustawieniami",IDC_STATIC,50,115,172,20 END IDD_DISPLAY DIALOGEX 0, 0, 242, 175 @@ -33,7 +34,7 @@ BEGIN GROUPBOX "Liczba kolorķw",IDC_STATIC,7,83,228,85 ICON "", IDC_REMICON, 15,19,20,20 ICON "", IDC_COLORSICON, 15,98,20,20 - LTEXT "Ustaw rozmiar twojego pulpitu zdalnego. Przesuņ suwak do koņca w prawo by uruchomiæ pulpit na peŗnym ekranie",IDC_STATIC,53,22,175,21 + LTEXT "Ustaw rozmiar twojego pulpitu zdalnego. Przesuņ suwak do koņca w prawo, aby uruchomiæ pulpit na peŗnym ekranie",IDC_STATIC,53,22,175,21 CONTROL "", IDC_GEOSLIDER, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 56, 42, 124, 17 COMBOBOX IDC_BPPCOMBO,56,102,128,80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP CONTROL "",IDC_COLORIMAGE,"Static",SS_OWNERDRAW | SS_SUNKEN, 56,121,127,10 @@ -45,7 +46,7 @@ END IDD_CONNECTDIALOG DIALOGEX 0, 0, 260, 262 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Remote Desktop Connection" +CAPTION "Poŗšczenie pulpitu zdalnego" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Poŗšcz",IDOK,147,245,50,14 diff --git a/reactos/base/applications/network/ipconfig/lang/pl-PL.rc b/reactos/base/applications/network/ipconfig/lang/pl-PL.rc index a7813531024..6f813597f13 100644 --- a/reactos/base/applications/network/ipconfig/lang/pl-PL.rc +++ b/reactos/base/applications/network/ipconfig/lang/pl-PL.rc @@ -64,7 +64,7 @@ BEGIN \n \ Przykŗady:\n \ > ipconfig ... Pokazuje informacje.\n \ - > ipconfig /all ... Pokazuje informacje szczegķŗowe.\n \ + > ipconfig /all ... Pokazuje szczegķŗowe informacje.\n \ > ipconfig /renew ... Odnawia wszystkie karty.\n \ > ipconfig /renew EL* ... Odnawia kaŋde poŗšczenie o nazwie\n \ zaczynajšcej się od EL\n \ diff --git a/reactos/base/applications/notepad/lang/pl-PL.rc b/reactos/base/applications/notepad/lang/pl-PL.rc index bab9bcabdb1..a99bf7515d2 100644 --- a/reactos/base/applications/notepad/lang/pl-PL.rc +++ b/reactos/base/applications/notepad/lang/pl-PL.rc @@ -153,10 +153,10 @@ END IDD_ABOUTBOX DIALOGEX DISCARDABLE 22,16,284,170 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS Notatnik" +CAPTION "Notatnik ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "ReactOS Notatnik v1.0\r\nCopyright 1997,98 Marcel Baur \r\nCopyright 2000 Mike McCormack \r\nCopyright 2002 Sylvain Petreolle \r\nCopyright 2002 Andriy Palamarchuk\r\n ", + CONTROL "Notatnik ReactOS v1.0\r\nCopyright 1997,98 Marcel Baur \r\nCopyright 2000 Mike McCormack \r\nCopyright 2002 Sylvain Petreolle \r\nCopyright 2002 Andriy Palamarchuk\r\n ", -1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,46,7,232,39 CONTROL " ", -1,"Static",0x50000000,8,48,272,11 @@ -209,5 +209,5 @@ STRING_UTF8, "UTF-8" STRING_CRLF, "Windows" STRING_LF, "Unix" STRING_CR, "Mac" -STRING_LINE_COLUMN, "Line %d, column %d" +STRING_LINE_COLUMN, "Linia %d, kolumna %d" END diff --git a/reactos/base/applications/rapps/lang/pl-PL.rc b/reactos/base/applications/rapps/lang/pl-PL.rc index 5b68948a7e7..a5998f958f0 100644 --- a/reactos/base/applications/rapps/lang/pl-PL.rc +++ b/reactos/base/applications/rapps/lang/pl-PL.rc @@ -1,4 +1,5 @@ // * translated by Caemyr - Olaf Siejka (Aug, 2009) +// * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -41,7 +42,7 @@ BEGIN POPUP "popup" BEGIN MENUITEM "&Instaluj", ID_INSTALL - MENUITEM "&odinstaluj", ID_UNINSTALL + MENUITEM "&Odinstaluj", ID_UNINSTALL MENUITEM "&Modyfikuj", ID_MODIFY MENUITEM SEPARATOR MENUITEM "&Usuņ z rejestru", ID_REGREMOVE @@ -78,7 +79,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35 - AUTORADIOBUTTON "&Zainstaluj z dysku (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP + AUTORADIOBUTTON "&Zainstaluj z dysku (CD lub DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP AUTORADIOBUTTON "&Pobierz i zainstaluj", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP PUSHBUTTON "OK", IDOK, 86, 78, 60, 14 @@ -100,7 +101,7 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME CAPTION "O programie" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 + LTEXT "Menedŋer aplikacji ReactOS\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 PUSHBUTTON "Zamknij", IDOK, 133, 46, 50, 14 ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30 END @@ -180,15 +181,15 @@ BEGIN IDS_MODIFY "Modyfikuj" IDS_APPS_COUNT "Licznik aplikacji: %d" IDS_WELCOME_TITLE "Witamy w Menedŋerze aplikacji ReactOS!\n\n" - IDS_WELCOME_TEXT "Z listy po lewej wybierz kategorię, a następnie aplikację by jš zainstalowaæ lub odinstalowaæ.\nStrona projektu ReactOS: " + IDS_WELCOME_TEXT "Z listy po lewej wybierz kategorię, a następnie aplikację, by jš zainstalowaæ lub odinstalowaæ.\nStrona projektu ReactOS: " IDS_WELCOME_URL "http://www.reactos.org" IDS_INSTALLED "Zainstalowane" IDS_AVAILABLEFORINST "Dostępne" IDS_UPDATES "Uaktualnienia" IDS_APPLICATIONS "Aplikacje" - IDS_CHOOSE_FOLDER_TEXT "Wybierz katalog w ktķrym będa zapisywane pobrane programy:" + IDS_CHOOSE_FOLDER_TEXT "Wybierz katalog, w ktķrym będa zapisywane pobrane programy:" IDS_CHOOSE_FOLDER_ERROR "Wybraŗeœ nieistniejšcy katalog! Czy chcesz utworzyæ nowy?" - IDS_USER_NOT_ADMIN "Musisz mieæ uprawnienia administratora aby uruchomiæ ""ReactOS Applications Manager""!" + IDS_USER_NOT_ADMIN "Musisz mieæ uprawnienia administratora, aby uruchomiæ ""Menedŋer aplikacji ReactOS""!" IDS_APP_REG_REMOVE "Czy na pewno chcesz usunšæ wpis tego programu z rejestru?" IDS_INFORMATION "Informacja" IDS_UNABLE_TO_REMOVE "Nie moŋna byŗo usunšæ wpisu z rejestru!" diff --git a/reactos/base/applications/regedit/lang/pl-PL.rc b/reactos/base/applications/regedit/lang/pl-PL.rc index 4f864f3df01..50087cfe068 100644 --- a/reactos/base/applications/regedit/lang/pl-PL.rc +++ b/reactos/base/applications/regedit/lang/pl-PL.rc @@ -8,6 +8,8 @@ * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; * + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either @@ -169,12 +171,12 @@ BEGIN END POPUP "" BEGIN - MENUITEM "C&ut", ID_HEXEDIT_CUT - MENUITEM "&Copy", ID_HEXEDIT_COPY - MENUITEM "&Paste", ID_HEXEDIT_PASTE - MENUITEM "&Delete", ID_HEXEDIT_DELETE + MENUITEM "W&ytnij", ID_HEXEDIT_CUT + MENUITEM "&Kopiuj", ID_HEXEDIT_COPY + MENUITEM "&Wklej", ID_HEXEDIT_PASTE + MENUITEM "&Usuņ", ID_HEXEDIT_DELETE MENUITEM SEPARATOR - MENUITEM "Select &All", ID_HEXEDIT_SELECT_ALL + MENUITEM "Zaznacz &caŗoœæ", ID_HEXEDIT_SELECT_ALL END END @@ -184,13 +186,13 @@ END */ IDD_LOADHIVE DIALOGEX DISCARDABLE 0, 0, 193, 34 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Load Hive" +CAPTION "Ŗaduj drzewo" FONT 8, "Ms Shell Dlg" { - LTEXT "&Key:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT + LTEXT "&Klucz:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT EDITTEXT IDC_EDIT_KEY, 23, 2, 167, 13 DEFPUSHBUTTON "OK", IDOK, 140, 17, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 89, 17, 50, 14 + PUSHBUTTON "Anuluj", IDCANCEL, 89, 17, 50, 14 } IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84 @@ -292,9 +294,9 @@ BEGIN ID_REGISTRY_EXPORTREGISTRYFILE "Eksportuje caŗoœæ lub cz朿 rejestru do pliku" ID_REGISTRY_LOADHIVE - "Loads a hive file into the registry" + "Ŗaduje plik Drzewa do rejestru" ID_REGISTRY_UNLOADHIVE - "Unloads a hive from the registry" + "Wyŗadowuje Drzewo z rejestru" ID_REGISTRY_CONNECTNETWORKREGISTRY "Poŗšczenie z rejestrem zdalnego komputera" ID_REGISTRY_DISCONNECTNETWORKREGISTRY @@ -351,8 +353,8 @@ BEGIN IDS_MY_COMPUTER "Mķj komputer" IDS_IMPORT_REG_FILE "Importuj plik rejestru" IDS_EXPORT_REG_FILE "Eksportuj plik rejestru" - IDS_LOAD_HIVE "Load Hive" - IDS_UNLOAD_HIVE "Unload Hive" + IDS_LOAD_HIVE "Ŗaduj Drzewo" + IDS_UNLOAD_HIVE "Wyŗaduj Drzewo" IDS_INVALID_DWORD "(niewŗaœciwa wartoœæ DWORD)" END diff --git a/reactos/base/applications/sndrec32/lang/pl-PL.rc b/reactos/base/applications/sndrec32/lang/pl-PL.rc new file mode 100644 index 00000000000..ea1e4f227b4 --- /dev/null +++ b/reactos/base/applications/sndrec32/lang/pl-PL.rc @@ -0,0 +1,61 @@ +/* + * translated by Saibamen - Adam Stachowicz (Apr,2011) + * Use ReactOS forum PM, IRC or saibamenppl at gmail.com to contact me + * http://www.reactos.org + * IRC: irc.freenode.net #reactos-pl; + */ + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +IDC_REACTOS_SNDREC32 ACCELERATORS +BEGIN + "?", IDM_ABOUT, ASCII, ALT + "/", IDM_ABOUT, ASCII, ALT +END + +IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Informacje o reactOS_sndrec32" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20 + LTEXT "ReactOS_sndrec32, wersja 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX + LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8 + DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP +END + +IDR_MENU1 MENU +BEGIN + POPUP "Plik" + BEGIN + MENUITEM "Nowy", ID_NEW + MENUITEM "Otwķrz...", ID_FILE_OPEN + MENUITEM "Zapisz", ID_FILE_SAVE, GRAYED + MENUITEM "Zapisz jako...", ID_FILE_SAVEAS, GRAYED + MENUITEM SEPARATOR + MENUITEM "Wyjœcie", ID_EXIT + END + MENUITEM "todo1", 0 + MENUITEM "todo2", 0 + POPUP "?" + BEGIN + MENUITEM "O programie...", ID__ABOUT + END +END + +STRINGTABLE +BEGIN + IDS_APP_TITLE "Rejestrator dŸwięku" + IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32" +END + +STRINGTABLE +BEGIN + IDS_STRPOS "Pozycja: %.2f s" + IDS_STRDUR "Dŗugoœæ: %.2f s" + IDS_STRBUF "Bufor: %.2f kb" + IDS_STRFMT "%.1f kHz %u bits" + IDS_STRMONO "mono" + IDS_STRSTEREO "stereo" + IDS_STRCHAN "%s" +END diff --git a/reactos/base/applications/sndvol32/lang/pl-PL.rc b/reactos/base/applications/sndvol32/lang/pl-PL.rc index 23cc069d194..ca2b80e7c3e 100644 --- a/reactos/base/applications/sndvol32/lang/pl-PL.rc +++ b/reactos/base/applications/sndvol32/lang/pl-PL.rc @@ -2,6 +2,7 @@ * translated by TestamenT * testament@users.sourceforge.net * https://sourceforge.net/projects/reactospl + * Update by Caemyr - Olaf Siejka (Apr, 2011) * */ @@ -48,3 +49,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Anuluj", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +{ + LTEXT "Kanaŗ gŗķwny", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balans", -1, 4, 35, 80, 42 + LTEXT "Gŗoœnoœæ", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Wycisz", IDC_LINE_SWITCH, 4, 190, 90, 12 + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +} diff --git a/reactos/base/shell/explorer-new/lang/pl-PL.rc b/reactos/base/shell/explorer-new/lang/pl-PL.rc index 7b8e9de9cb6..224b7ab4eef 100644 --- a/reactos/base/shell/explorer-new/lang/pl-PL.rc +++ b/reactos/base/shell/explorer-new/lang/pl-PL.rc @@ -123,7 +123,7 @@ BEGIN IDS_PROPERTIES "Wŗaœ&ciwoœci" IDS_OPEN_ALL_USERS "&Otwķrz - wszyscy uŋytkownicy" IDS_EXPLORE_ALL_USERS "&Eksploruj - wszyscy uŋytkownicy" - IDS_STARTUP_ERROR "System nie moŋe uruchomiæ eksploratora poniewaŋ rejestr jest niedostępny lub uszkodzony." + IDS_STARTUP_ERROR "System nie moŋe uruchomiæ eksploratora, poniewaŋ rejestr jest niedostępny lub uszkodzony." END STRINGTABLE DISCARDABLE diff --git a/reactos/base/shell/explorer/explorer-pl.rc b/reactos/base/shell/explorer/explorer-pl.rc index 9dad38a8f7a..8624c4b6755 100644 --- a/reactos/base/shell/explorer/explorer-pl.rc +++ b/reactos/base/shell/explorer/explorer-pl.rc @@ -383,7 +383,7 @@ BEGIN IDS_TASKBAR "Pasek zadaņ" IDS_NAMECOLUMN "Nazwa" IDS_PATHCOLUMN "Œcieŋka" - IDS_MENUCOLUMN "Menu path" + IDS_MENUCOLUMN "Œcieŋka menu" END #endif // Polish (PL) resources diff --git a/reactos/dll/cpl/desk/lang/pl-PL.rc b/reactos/dll/cpl/desk/lang/pl-PL.rc index 50f6ef58b4c..418502be1df 100644 --- a/reactos/dll/cpl/desk/lang/pl-PL.rc +++ b/reactos/dll/cpl/desk/lang/pl-PL.rc @@ -221,7 +221,7 @@ BEGIN IDS_COLOR_4BIT "16 kolorķw" IDS_COLOR_8BIT "256 kolorķw" IDS_COLOR_16BIT "High Color (16 Bitķw)" - IDS_COLOR_24BIT "True Color (24 Bitķw)" + IDS_COLOR_24BIT "True Color (24 Bity)" IDS_COLOR_32BIT "True Color (32 Bity)" IDS_PIXEL "%lux%lu pikseli" END diff --git a/reactos/dll/win32/shell32/lang/pl-PL.rc b/reactos/dll/win32/shell32/lang/pl-PL.rc index 588990e6fe3..2b1615b9721 100644 --- a/reactos/dll/win32/shell32/lang/pl-PL.rc +++ b/reactos/dll/win32/shell32/lang/pl-PL.rc @@ -21,6 +21,7 @@ * Use ReactOS forum PM or IRC to contact me * http://www.reactos.org * IRC: irc.freenode.net #reactos-pl; + * updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -445,10 +446,10 @@ BEGIN PUSHBUTTON "&Nie", IDNO, 150, 122, 60, 14 PUSHBUTTON "Anuluj", IDCANCEL, 215, 122, 60, 14 ICON 146, -1, 11, 10, 21, 20, SS_REALSIZECONTROL - LTEXT "Ten katalog juŋ zawiera plik o nazwie '%2'.", 12291, 44, 10, 231, 22, SS_NOPREFIX - LTEXT "Ten katalog juŋ zawiera plik tylko do odczytu, o nazwie '%2'.", 12292, 41, 10, 222, 22, SS_NOPREFIX - LTEXT "Ten katalog juŋ zawiera plik systemowy o nazwie '%2'.", 12293, 41, 10, 222, 22, SS_NOPREFIX - LTEXT "Czy chciaŗbyœ zastšpiæ istniejšcy plik?", -1, 44, 35, 228, 10, SS_NOPREFIX + LTEXT "Ten katalog zawiera juŋ plik o nazwie '%2'.", 12291, 44, 10, 231, 22, SS_NOPREFIX + LTEXT "Ten katalog zawiera juŋ plik tylko do odczytu, o nazwie '%2'.", 12292, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "Ten katalog zawiera juŋ plik systemowy o nazwie '%2'.", 12293, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "Czy chcesz zastšpiæ istniejšcy plik?", -1, 44, 35, 228, 10, SS_NOPREFIX LTEXT "(data i rozmiar nieznane)", 12302, 79, 51, 198, 20, SS_NOPREFIX ICON "", 12300, 50, 49, 21, 20, SS_REALSIZECONTROL LTEXT "nowym plikiem?", -1, 44, 75, 228, 10, SS_NOPREFIX @@ -541,9 +542,9 @@ CAPTION "Zamknij ReactOS" FONT 8, "MS Shell Dlg" BEGIN ICON 8240, -1, 6, 6, 21, 20, SS_REALSIZECONTROL | WS_GROUP - LTEXT "Co chcesz by komputer zrobiŗ?", -1, 39, 7, 167, 10 + LTEXT "Co chcesz, aby zrobiŗ komputer?", -1, 39, 7, 167, 10 COMBOBOX 8224, 39, 20, 165, 200, CBS_DROPDOWNLIST | WS_VSCROLL - LTEXT "Zachowuje sesje, utrzymujšc komputer w ruchu na maŗym stopniu zasilania, z danymi wcišŋ w pamięci. Komputer wrķci do normalnego trybu pracy przy poruszeniu myszki albo naciœnięciu klawisza.", 8225, 39, 40, 167, 37 + LTEXT "Zachowuje sesję, podtrzymuje komputer na niskim poziomie poboru energii. Komputer wrķci do normalnego trybu po poruszeniu myszkš lub naciœnięciu klawisza. Dane znajdujšce się w pamięci zostanš zachowane.", 8225, 39, 40, 167, 37 DEFPUSHBUTTON "OK", 1, 7, 82, 60, 14, WS_GROUP PUSHBUTTON "Anuluj", IDCANCEL, 75, 82, 60, 14 PUSHBUTTON "&Pomoc", IDHELP, 144, 82, 60, 14 @@ -660,9 +661,9 @@ BEGIN IDS_TRASHFOLDER_TEXT "Czy jesteœ pewien, ŋe chcesz umieœciæ folder '%1' i caŗš jego zawartoœæ w koszu" IDS_TRASHMULTIPLE_TEXT "Elementķw: %1 - czy na pewno chcesz je umieœciæ w Koszu?" IDS_CANTTRASH_TEXT "Nie mogę przenieœæ elementu '%1' do Kosza. Czy chcesz go zamiast tego usunšæ?" - IDS_OVERWRITEFILE_TEXT "Ten folder juŋ zawiera plik o nazwie '%1'.\n\nCzy chcesz go zastšpiæ?" + IDS_OVERWRITEFILE_TEXT "Ten folder zawiera juŋ plik o nazwie '%1'.\n\nCzy chcesz go zastšpiæ?" IDS_OVERWRITEFILE_CAPTION "PotwierdŸ zastšpienie pliku" - IDS_OVERWRITEFOLDER_TEXT "Ten folder juŋ zawiera folder o nazwie '%1'.\n\n"\ + IDS_OVERWRITEFOLDER_TEXT "Ten folder zawiera juŋ katalog o nazwie '%1'.\n\n"\ "Jeŋeli w docelowym folderze wystšpiš pliki o takich samych nazwach jak\n"\ "w wybranym folderze, to zostanš one zastšpione. Czy chcesz mimo to przenieœæ\n"\ "lub skopiowaæ folder?" @@ -765,5 +766,5 @@ BEGIN IDS_DEFAULT_CLUSTER_SIZE "Domyœlny rozmiar jednostki alokacji" IDS_COPY_OF "Kopia" - IDS_SHLEXEC_NOASSOC "¯aden program nie jest skonfigurowane by otwieraæ pliki tego typu." + IDS_SHLEXEC_NOASSOC "¯aden program nie jest skonfigurowany, by otwieraæ pliki tego typu." END From a54b06c8cd7965b0dd865518e8c657614593a03c Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 8 Apr 2011 22:04:41 +0000 Subject: [PATCH 15/48] [SNDVOL32] - Always write line states configuration values in one step - Fixes the problem when old line state settings were not present - Advantage is that it is faster and sndvol32 now works in ReactOS svn path=/trunk/; revision=51286 --- reactos/base/applications/sndvol32/misc.c | 66 ++----------------- reactos/base/applications/sndvol32/sndvol32.c | 20 +++++- reactos/base/applications/sndvol32/sndvol32.h | 4 +- 3 files changed, 25 insertions(+), 65 deletions(-) diff --git a/reactos/base/applications/sndvol32/misc.c b/reactos/base/applications/sndvol32/misc.c index 48c1d955f3b..2eabfc9ed2c 100644 --- a/reactos/base/applications/sndvol32/misc.c +++ b/reactos/base/applications/sndvol32/misc.c @@ -160,13 +160,10 @@ CloseAppConfig(VOID) BOOL WriteLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szLineName, - IN LPTSTR szControlName, - IN DWORD Flags) + IN PSNDVOL_REG_LINESTATE LineState, + IN DWORD cbSize) { HKEY hLineKey; - DWORD Type; - DWORD i, Size = 0; - PSNDVOL_REG_LINESTATE LineStates = NULL; TCHAR szDevRegKey[MAX_PATH]; BOOL Ret = FALSE; @@ -185,67 +182,14 @@ WriteLineConfig(IN LPTSTR szDeviceName, &hLineKey, NULL) == ERROR_SUCCESS) { - if (RegQueryValueEx(hLineKey, - LineStatesValue, - NULL, - &Type, - NULL, - &Size) != ERROR_SUCCESS || - Type != REG_BINARY || - Size == 0 || (Size % sizeof(SNDVOL_REG_LINESTATE) != 0)) - { - goto ExitClose; - } + /* now update line states */ + RegSetValueEx(hLineKey, LineStatesValue, 0, REG_BINARY, (const BYTE*)LineState, cbSize); + Ret = TRUE; - LineStates = HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, - Size); - - if (LineStates != NULL) - { - if (RegQueryValueEx(hLineKey, - LineStatesValue, - NULL, - &Type, - (LPBYTE)LineStates, - &Size) != ERROR_SUCCESS || - Type != REG_BINARY || - Size == 0 || (Size % sizeof(SNDVOL_REG_LINESTATE) != 0)) - { - goto ExitClose; - } - - /* try to find the control */ - for (i = 0; i < Size / sizeof(SNDVOL_REG_LINESTATE); i++) - { - if (!_tcscmp(szControlName, - LineStates[i].LineName)) - { - LineStates[i].Flags = Flags; - Ret = TRUE; - break; - } - } - - /* now update line states */ - if (Ret) - { - RegSetValueEx(hLineKey, LineStatesValue, 0, REG_BINARY, (const BYTE*)LineStates, Size); - } - } - -ExitClose: - HeapFree(GetProcessHeap(), - 0, - LineStates); RegCloseKey(hLineKey); } return Ret; - - - - } BOOL diff --git a/reactos/base/applications/sndvol32/sndvol32.c b/reactos/base/applications/sndvol32/sndvol32.c index df69bb9cf0a..895949cbc81 100644 --- a/reactos/base/applications/sndvol32/sndvol32.c +++ b/reactos/base/applications/sndvol32/sndvol32.c @@ -347,6 +347,7 @@ WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) WCHAR LineName[MIXER_LONG_NAME_CHARS]; WCHAR DestinationName[MIXER_LONG_NAME_CHARS]; DWORD Flags; + PSNDVOL_REG_LINESTATE LineStates; /* get list view */ hwndControls = GetDlgItem(hwndDlg, IDC_CONTROLS); @@ -364,6 +365,14 @@ WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) } /* allocate line states array */ + LineStates = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SNDVOL_REG_LINESTATE) * Count); + if (LineStates == NULL) + { + /* failed to allocate line states array */ + return; + } + + for(Index = 0; Index < Count; Index++) { /* set to empty */ @@ -378,11 +387,18 @@ WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) /* get check state */ Flags = (ListView_GetCheckState(hwndControls, Index) == 0 ? 0x4 : 0); - /* write configuration */ - WriteLineConfig(Preferences.DeviceName, DestinationName, LineName, Flags); + /* copy line name */ + wcscpy(LineStates[Index].LineName, LineName); + + /* store flags */ + LineStates[Index].Flags = Flags; } + /* now write the line config */ + WriteLineConfig(Preferences.DeviceName, DestinationName, LineStates, sizeof(SNDVOL_REG_LINESTATE) * Count); + /* free line states */ + HeapFree(GetProcessHeap(), 0, LineStates); } static INT_PTR CALLBACK diff --git a/reactos/base/applications/sndvol32/sndvol32.h b/reactos/base/applications/sndvol32/sndvol32.h index 520ff7d59ff..d6d3e10244f 100644 --- a/reactos/base/applications/sndvol32/sndvol32.h +++ b/reactos/base/applications/sndvol32/sndvol32.h @@ -160,7 +160,7 @@ ReadLineConfig(IN LPTSTR szDeviceName, BOOL WriteLineConfig(IN LPTSTR szDeviceName, IN LPTSTR szLineName, - IN LPTSTR szControlName, - IN DWORD Flags); + IN PSNDVOL_REG_LINESTATE LineState, + IN DWORD cbSize); #endif /* __SNDVOL32_H */ From 3fe212aea39872aa0fa360ba7db00e8f2a5b688b Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 8 Apr 2011 22:17:18 +0000 Subject: [PATCH 16/48] [SNDVOL32] - Fix mute switch control style svn path=/trunk/; revision=51287 --- reactos/base/applications/sndvol32/lang/en-US.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/base/applications/sndvol32/lang/en-US.rc b/reactos/base/applications/sndvol32/lang/en-US.rc index 89b60d65b05..1ab09241de0 100644 --- a/reactos/base/applications/sndvol32/lang/en-US.rc +++ b/reactos/base/applications/sndvol32/lang/en-US.rc @@ -52,6 +52,6 @@ FONT 8, "MS Shell Dlg" LTEXT "Volume", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 } From 6d9847ecb37be72c070c0c90a61fe8973af11e1e Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Fri, 8 Apr 2011 22:40:12 +0000 Subject: [PATCH 17/48] [SNDVOL32] Update french translation. svn path=/trunk/; revision=51288 --- reactos/base/applications/sndvol32/lang/fr-FR.rc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/reactos/base/applications/sndvol32/lang/fr-FR.rc b/reactos/base/applications/sndvol32/lang/fr-FR.rc index b2d32703fe9..0831863728d 100644 --- a/reactos/base/applications/sndvol32/lang/fr-FR.rc +++ b/reactos/base/applications/sndvol32/lang/fr-FR.rc @@ -42,3 +42,16 @@ BEGIN PUSHBUTTON "Annuler", IDCANCEL, 168,226,50,14 END +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +{ + LTEXT "Volume principal", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Muet", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +} From 02a6a17e28e340f9992c036683f9a37a72609417 Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Fri, 8 Apr 2011 23:18:20 +0000 Subject: [PATCH 18/48] [SNDVOL32] Redraw window with correct size. Window height was growing after changing preferences. svn path=/trunk/; revision=51289 --- reactos/base/applications/sndvol32/dialog.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/reactos/base/applications/sndvol32/dialog.c b/reactos/base/applications/sndvol32/dialog.c index 63b3233b1bf..2b772b00f7c 100644 --- a/reactos/base/applications/sndvol32/dialog.c +++ b/reactos/base/applications/sndvol32/dialog.c @@ -130,11 +130,11 @@ AddDialogControl( } /* now create the window */ - hwnd = CreateWindowExW(DialogItem->dwExtendedStyle, - ClassName, - WindowName, - DialogItem->style, - rect.left, + hwnd = CreateWindowExW(DialogItem->dwExtendedStyle, + ClassName, + WindowName, + DialogItem->style, + rect.left, rect.top, rect.right, rect.bottom, @@ -187,7 +187,7 @@ AddDialogControl( Offset++; } - /* check if there is additional data */ + /* check if there is additional data */ if (*Offset == 0) { /* no additional data */ @@ -323,8 +323,8 @@ LoadDialog( BOOL CALLBACK EnumConnectionsCallback( - PSND_MIXER Mixer, - DWORD LineID, + PSND_MIXER Mixer, + DWORD LineID, LPMIXERLINE Line, PVOID Context) { @@ -439,7 +439,7 @@ EnumConnectionsCallback( GetWindowRect(PrefContext->MixerWindow->hWnd, &rect); /* now move the window */ - MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom, TRUE); + MoveWindow(PrefContext->MixerWindow->hWnd, rect.left, rect.top, (PrefContext->Count * DIALOG_VOLUME_SIZE), rect.bottom - rect.top, TRUE); } } } From f78f9456fb0a4924c362db9c4e9181a5c3ebc7a1 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sat, 9 Apr 2011 07:08:17 +0000 Subject: [PATCH 19/48] [Win32k] - Added more missed mouse injection flag and extra data being passed in and from set cursor position. Wine mouse low level hook msg tests now see it and check the validity of the hook message. svn path=/trunk/; revision=51290 --- reactos/subsystems/win32/win32k/include/cursoricon.h | 2 +- reactos/subsystems/win32/win32k/ntuser/cursoricon.c | 6 +++--- reactos/subsystems/win32/win32k/ntuser/input.c | 2 +- reactos/subsystems/win32/win32k/ntuser/msgqueue.c | 2 +- reactos/subsystems/win32/win32k/ntuser/simplecall.c | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/reactos/subsystems/win32/win32k/include/cursoricon.h b/reactos/subsystems/win32/win32k/include/cursoricon.h index 8ee0ff873b7..90cb134ddd3 100644 --- a/reactos/subsystems/win32/win32k/include/cursoricon.h +++ b/reactos/subsystems/win32/win32k/include/cursoricon.h @@ -69,7 +69,7 @@ BOOL UserDrawIconEx(HDC hDc, INT xLeft, INT yTop, PCURICON_OBJECT pIcon, INT cxW INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); PCURICON_OBJECT FASTCALL UserGetCurIconObject(HCURSOR hCurIcon); -BOOL UserSetCursorPos( INT x, INT y); +BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo); int UserShowCursor(BOOL bShow); diff --git a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c index fb9dfeebf84..54033c258ef 100644 --- a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c +++ b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c @@ -159,7 +159,7 @@ UserSetCursor( return OldCursor; } -BOOL UserSetCursorPos( INT x, INT y) +BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo) { PWND DesktopWindow; PSYSTEM_CURSORINFO CurInfo; @@ -199,7 +199,7 @@ BOOL UserSetCursorPos( INT x, INT y) Msg.wParam = CurInfo->ButtonsDown; Msg.lParam = MAKELPARAM(x, y); Msg.pt = pt; - co_MsqInsertMouseMessage(&Msg, 0, 0); + co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo); /* 1. Store the new cursor position */ gpsi->ptCursor = pt; @@ -677,7 +677,7 @@ UserClipCursor( { CurInfo->bClipped = TRUE; RECTL_bIntersectRect(&CurInfo->rcClip, prcl, &DesktopWindow->rcWindow); - UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y); + UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y, 0, 0); } else { diff --git a/reactos/subsystems/win32/win32k/ntuser/input.c b/reactos/subsystems/win32/win32k/ntuser/input.c index 4c72c2e01f5..6d7d7eacbc3 100644 --- a/reactos/subsystems/win32/win32k/ntuser/input.c +++ b/reactos/subsystems/win32/win32k/ntuser/input.c @@ -1138,7 +1138,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) if(mi->dwFlags & MOUSEEVENTF_MOVE) { - UserSetCursorPos(MousePos.x, MousePos.y); + UserSetCursorPos(MousePos.x, MousePos.y, Injected, mi->dwExtraInfo); } if(mi->dwFlags & MOUSEEVENTF_LEFTDOWN) { diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index 60ff1f18a61..9f57375da83 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -294,7 +294,7 @@ co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo) MouseHistoryOfMoves[gcur_count].x = Msg->pt.x; MouseHistoryOfMoves[gcur_count].y = Msg->pt.y; MouseHistoryOfMoves[gcur_count].time = Msg->time; - MouseHistoryOfMoves[gcur_count].dwExtraInfo = 0; // need to be passed from IntMouseInput mi.dwExtraInfo. + MouseHistoryOfMoves[gcur_count].dwExtraInfo = dwExtraInfo; if (gcur_count++ == 64) gcur_count = 0; // 0 - 63 is 64, FIFO forwards. } diff --git a/reactos/subsystems/win32/win32k/ntuser/simplecall.c b/reactos/subsystems/win32/win32k/ntuser/simplecall.c index 0a57ea7768c..c7de5ca265a 100644 --- a/reactos/subsystems/win32/win32k/ntuser/simplecall.c +++ b/reactos/subsystems/win32/win32k/ntuser/simplecall.c @@ -473,7 +473,7 @@ NtUserCallTwoParam( RETURN( (DWORD_PTR)co_IntRegisterLogonProcess((HANDLE)Param1, (BOOL)Param2)); case TWOPARAM_ROUTINE_SETCURSORPOS: - RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2)); + RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2, 0, 0)); case TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK: RETURN( IntUnhookWindowsHook((int)Param1, (HOOKPROC)Param2)); From 6301753d1df770e0aecea05f247b3e6bd597f071 Mon Sep 17 00:00:00 2001 From: Michael Martin Date: Sat, 9 Apr 2011 07:19:31 +0000 Subject: [PATCH 20/48] [Win32k] - Only call hooks and check if Win32Thread is in cleanup if the windows procedure is being called. - Set DispatchingListEntry.Flink to NULL. The real fix for bug 5580. This bug may be the cause of other crashes experienced by users just before loading desktop. Found by rafalh. svn path=/trunk/; revision=51291 --- .../subsystems/win32/win32k/ntuser/message.c | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/message.c b/reactos/subsystems/win32/win32k/ntuser/message.c index f2f5dae891d..ed7c718eea8 100644 --- a/reactos/subsystems/win32/win32k/ntuser/message.c +++ b/reactos/subsystems/win32/win32k/ntuser/message.c @@ -1403,17 +1403,8 @@ co_IntSendMessageWithCallBack( HWND hWnd, Win32Thread = PsGetCurrentThreadWin32Thread(); - IntCallWndProc( Window, hWnd, Msg, wParam, lParam); - if (Win32Thread == NULL) { - ASSERT(FALSE); - RETURN(FALSE); - } - - if (Win32Thread->TIF_flags & TIF_INCLEANUP) - { - /* Never send messages to exiting threads */ RETURN(FALSE); } @@ -1437,6 +1428,15 @@ co_IntSendMessageWithCallBack( HWND hWnd, /* If this is not a callback and it can be sent now, then send it. */ if ((Window->head.pti->MessageQueue == Win32Thread->MessageQueue) && (CompletionCallback == NULL)) { + if (Win32Thread->TIF_flags & TIF_INCLEANUP) + { + UnpackParam(lParamPacked, Msg, wParam, lParam, FALSE); + /* Never send messages to exiting threads */ + RETURN(FALSE); + } + + IntCallWndProc( Window, hWnd, Msg, wParam, lParam); + ObReferenceObject(Win32Thread->pEThread); Result = (ULONG_PTR)co_IntCallWindowProc( Window->lpfnWndProc, !Window->Unicode, @@ -1450,9 +1450,11 @@ co_IntSendMessageWithCallBack( HWND hWnd, *uResult = Result; } ObDereferenceObject(Win32Thread->pEThread); + + IntCallWndProcRet( Window, hWnd, Msg, wParam, lParam, (LRESULT *)uResult); } - IntCallWndProcRet( Window, hWnd, Msg, wParam, lParam, (LRESULT *)uResult); + if ((Window->head.pti->MessageQueue == Win32Thread->MessageQueue) && (CompletionCallback == NULL)) { @@ -1479,7 +1481,8 @@ co_IntSendMessageWithCallBack( HWND hWnd, Message->QS_Flags = 0; Message->SenderQueue = NULL; // mjmartin, you are right! This is null. Message->CallBackSenderQueue = Win32Thread->MessageQueue; - + Message->DispatchingListEntry.Flink = NULL; + IntReferenceMessageQueue(Window->head.pti->MessageQueue); Message->CompletionCallback = CompletionCallback; Message->CompletionCallbackContext = CompletionCallbackContext; From 39dac2cce0074dd819e1dabe8b5a684d1b8e7d9c Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sat, 9 Apr 2011 10:36:25 +0000 Subject: [PATCH 21/48] [SNDVOL32] - Fix more subtle bugs: - Check with long line name if the current connection is activated when adding lines to dialog or when adding lines to the preferences dialog - Use the temporary preferences context when writing the line settings - Don't destroy the mixer when the preferences dialog is closed. the new mixer will be used for the application when the preferences are changed - Pass the current selected line to the preferences dialog svn path=/trunk/; revision=51292 --- reactos/base/applications/sndvol32/dialog.c | 2 +- reactos/base/applications/sndvol32/sndvol32.c | 46 +++++++++---------- reactos/base/applications/sndvol32/sndvol32.h | 3 +- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/reactos/base/applications/sndvol32/dialog.c b/reactos/base/applications/sndvol32/dialog.c index 2b772b00f7c..a46b4a365a0 100644 --- a/reactos/base/applications/sndvol32/dialog.c +++ b/reactos/base/applications/sndvol32/dialog.c @@ -340,7 +340,7 @@ EnumConnectionsCallback( if (Line->cControls != 0) { /* get line name */ - if (SndMixerGetLineName(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, FALSE) == -1) + if (SndMixerGetLineName(PrefContext->MixerWindow->Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, TRUE) == -1) { /* failed to get line name */ LineName[0] = L'\0'; diff --git a/reactos/base/applications/sndvol32/sndvol32.c b/reactos/base/applications/sndvol32/sndvol32.c index 895949cbc81..87fc26a059e 100644 --- a/reactos/base/applications/sndvol32/sndvol32.c +++ b/reactos/base/applications/sndvol32/sndvol32.c @@ -199,7 +199,7 @@ PrefDlgAddConnection(PSND_MIXER Mixer, PrefContext->SelectedLine, LineName, MIXER_LONG_NAME_CHARS, - FALSE) == -1) + TRUE) == -1) { LineName[0] = TEXT('\0'); } @@ -340,7 +340,7 @@ UpdatePrefDlgControls(PPREFERENCES_CONTEXT Context, static VOID -WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) +WriteLineSettings(PPREFERENCES_CONTEXT Context, HWND hwndDlg) { HWND hwndControls; INT Count, Index; @@ -358,7 +358,7 @@ WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) /* sanity check */ assert(Count); - if (SndMixerGetLineName(Preferences.MixerWindow->Mixer, Preferences.SelectedLine, DestinationName, MIXER_LONG_NAME_CHARS, TRUE) == -1) + if (SndMixerGetLineName(Context->Mixer, Context->SelectedLine, DestinationName, MIXER_LONG_NAME_CHARS, TRUE) == -1) { /* failed to get destination line name */ return; @@ -395,7 +395,7 @@ WriteLineSettings(PREFERENCES_CONTEXT Context, HWND hwndDlg) } /* now write the line config */ - WriteLineConfig(Preferences.DeviceName, DestinationName, LineStates, sizeof(SNDVOL_REG_LINESTATE) * Count); + WriteLineConfig(Context->DeviceName, DestinationName, LineStates, sizeof(SNDVOL_REG_LINESTATE) * Count); /* free line states */ HeapFree(GetProcessHeap(), 0, LineStates); @@ -509,7 +509,7 @@ DlgPreferencesProc(HWND hwndDlg, case IDOK: { /* write line settings */ - WriteLineSettings(Preferences, hwndDlg); + WriteLineSettings(Context, hwndDlg); /* fall through */ } @@ -564,21 +564,10 @@ DlgPreferencesProc(HWND hwndDlg, /* update all controls */ UpdatePrefDlgControls(Context, - (DWORD)-1); + (DWORD)Context->SelectedLine); return TRUE; } - case WM_DESTROY: - { - Context = GetDialogData(hwndDlg, - PREFERENCES_CONTEXT); - if (Context->Mixer != NULL) - { - SndMixerDestroy(Context->Mixer); - } - break; - } - case WM_CLOSE: { EndDialog(hwndDlg, @@ -789,16 +778,17 @@ MainWindowProc(HWND hwnd, { case IDC_PROPERTIES: { - PREFERENCES_CONTEXT Preferences; + PREFERENCES_CONTEXT Pref; - Preferences.MixerWindow = MixerWindow; - Preferences.Mixer = NULL; + Pref.MixerWindow = MixerWindow; + Pref.Mixer = NULL; + Pref.SelectedLine = Preferences.SelectedLine; if (DialogBoxParam(hAppInstance, MAKEINTRESOURCE(IDD_PREFERENCES), hwnd, DlgPreferencesProc, - (LPARAM)&Preferences) == IDOK) + (LPARAM)&Pref) == IDOK) { /* update window */ TCHAR szProduct[MAXPNAMELEN]; @@ -820,11 +810,17 @@ MainWindowProc(HWND hwnd, /* destroy old status bar */ DestroyWindow(MixerWindow->hStatusBar); + /* update details */ + Preferences.SelectedLine = Pref.SelectedLine; + + /* destroy old mixer */ + SndMixerDestroy(Preferences.MixerWindow->Mixer); + + /* use new selected mixer */ + Preferences.MixerWindow->Mixer = Pref.Mixer; + /* rebuild dialog controls */ - if (RebuildMixerWindowControls(&Preferences)) - { - DPRINT("Rebuilding mixer window controls failed!\n"); - } + RebuildMixerWindowControls(&Preferences); /* create status window */ MixerWindow->hStatusBar = CreateStatusWindow(WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, diff --git a/reactos/base/applications/sndvol32/sndvol32.h b/reactos/base/applications/sndvol32/sndvol32.h index d6d3e10244f..b9a3ab43d2d 100644 --- a/reactos/base/applications/sndvol32/sndvol32.h +++ b/reactos/base/applications/sndvol32/sndvol32.h @@ -31,8 +31,7 @@ extern HANDLE hAppHeap; #define SZ_APP_CLASS TEXT("Volume Control") ULONG DbgPrint(PCH , ...); -#define DPRINT -//DbgPrint("SNDVOL32: %s:%i: ", __FILE__, __LINE__); DbgPrint +#define DPRINT DbgPrint("SNDVOL32: %s:%i: ", __FILE__, __LINE__); DbgPrint /* From f02f58236a43cb2602182a2f9d8c585faf55075f Mon Sep 17 00:00:00 2001 From: Matthias Kupfer Date: Sat, 9 Apr 2011 12:01:36 +0000 Subject: [PATCH 22/48] Command Prompt with translated window title - German translation added - other languages need to be translated (.rc files prepared) svn path=/trunk/; revision=51293 --- reactos/subsystems/win32/csrss/win32csr/console.c | 13 +++++++++++-- .../subsystems/win32/csrss/win32csr/lang/bg-BG.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/de-DE.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/el-GR.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/en-US.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/es-ES.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/fr-FR.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/id-ID.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/it-IT.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/ja-JP.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/no-NO.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/pl-PL.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/ru-RU.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/sk-SK.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/uk-UA.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/zh-CN.rc | 2 ++ .../subsystems/win32/csrss/win32csr/lang/zh-TW.rc | 2 ++ reactos/subsystems/win32/csrss/win32csr/resource.h | 2 ++ 18 files changed, 45 insertions(+), 2 deletions(-) diff --git a/reactos/subsystems/win32/csrss/win32csr/console.c b/reactos/subsystems/win32/csrss/win32csr/console.c index 2048d3bcbe5..99a622bb3b7 100644 --- a/reactos/subsystems/win32/csrss/win32csr/console.c +++ b/reactos/subsystems/win32/csrss/win32csr/console.c @@ -73,12 +73,21 @@ CsrInitConsole(PCSRSS_CONSOLE Console, BOOL Visible) SECURITY_ATTRIBUTES SecurityAttributes; PCSRSS_SCREEN_BUFFER NewBuffer; BOOL GuiMode; + WCHAR Title[255]; + HINSTANCE hInst; Console->Title.MaximumLength = Console->Title.Length = 0; Console->Title.Buffer = NULL; - //FIXME - RtlCreateUnicodeString(&Console->Title, L"Command Prompt"); + hInst = GetModuleHandleW(L"win32csr"); + if (LoadStringW(hInst,IDS_COMMAND_PROMPT,Title,sizeof(Title)/sizeof(Title[0]))) + { + RtlCreateUnicodeString(&Console->Title, Title); + } + else + { + RtlCreateUnicodeString(&Console->Title, L"Command Prompt"); + } Console->ReferenceCount = 0; Console->LineBuffer = NULL; diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc b/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc index 69d97786ad4..2166ae0d236 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/bg-BG.rc @@ -59,4 +59,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Äîëíā ņōđāíčöā" IDS_SCROLLUP "Īđåëčņōâāíå íāãîđå" IDS_SCROLLDOWN "Īđåëčņōâāíå íāäîëķ" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc b/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc index a8fa75eabe2..dbe4f7ea7e4 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/de-DE.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Seite nach unten" IDS_SCROLLUP "Nach oben scrollen" IDS_SCROLLDOWN "Nach unten scrollen" + + IDS_COMMAND_PROMPT "Eingabeaufforderung" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc b/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc index 103558a54c0..4990fb194c4 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/el-GR.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Åđüėåíį ķåëßäá" IDS_SCROLLUP "Ęũëéķį đÜíų" IDS_SCROLLDOWN "Ęũëéķį ęÜôų" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc b/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc index b6ebdf2a660..a9bf212513a 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/en-US.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Page down" IDS_SCROLLUP "Scroll up" IDS_SCROLLDOWN "Scroll down" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc b/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc index 50960a7bfe4..d24849f9c38 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/es-ES.rc @@ -58,4 +58,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Bajar página" IDS_SCROLLUP "Desplazar arriba" IDS_SCROLLDOWN "Desplazar abajo" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc b/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc index 708af193c8e..8dbe9f55a05 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/fr-FR.rc @@ -55,4 +55,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Page suivante" IDS_SCROLLUP "Défiler en haut" IDS_SCROLLDOWN "Défiler en bas" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc b/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc index 7faf10f7579..3df62722928 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/id-ID.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Halaman Turun" IDS_SCROLLUP "Gulung Naik" IDS_SCROLLDOWN "Gulung Turun" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc b/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc index 21d87610dc5..dbc75bf515a 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc @@ -62,4 +62,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Pagina gių" IDS_SCROLLUP "Scorri sų" IDS_SCROLLDOWN "Scorri gių" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/ja-JP.rc b/reactos/subsystems/win32/csrss/win32csr/lang/ja-JP.rc index 1e21759498e..fd87c2d86d1 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/ja-JP.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/ja-JP.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Page down" IDS_SCROLLUP "ã‚ɃXƒNƒ[ƒ‹" IDS_SCROLLDOWN "‰ē‚ɃXƒNƒ[ƒ‹" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/no-NO.rc b/reactos/subsystems/win32/csrss/win32csr/lang/no-NO.rc index a0ba9c5a5f4..61362b5043b 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/no-NO.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/no-NO.rc @@ -44,4 +44,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Side ned" IDS_SCROLLUP "Rull opp" IDS_SCROLLDOWN "Rull ned" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc b/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc index 9d8927ebc2d..8ca9f167e8a 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc @@ -58,4 +58,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Następna strona" IDS_SCROLLUP "Przewiņ do gķry" IDS_SCROLLDOWN "Przewiņ na dķŗ" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc b/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc index e35fa896cfc..207fa1f4bab 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/ru-RU.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Âíčį ņōđāíčöû" IDS_SCROLLUP "Īđîęđķōčōü ââåđõ" IDS_SCROLLDOWN "Scroll Down" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc b/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc index 3642acb0878..3b9bcaa0483 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/sk-SK.rc @@ -57,4 +57,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "O stránku nižšie" IDS_SCROLLUP "Rolova nahor" IDS_SCROLLDOWN "Rolova nadol" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc b/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc index 7cf8452f2d2..213de546b40 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/uk-UA.rc @@ -61,4 +61,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "Íāņōķīíā ņōîđŗíęā" IDS_SCROLLUP "Īđîęđķōčōč äîãîđč" IDS_SCROLLDOWN "Īđîęđķōčōč äîíčįķ" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/zh-CN.rc b/reactos/subsystems/win32/csrss/win32csr/lang/zh-CN.rc index 598c5bcbf21..4c32bdd6e04 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/zh-CN.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/zh-CN.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "ĪÂŌģŌŗ" IDS_SCROLLUP "ĪōÉĪšöļ¯" IDS_SCROLLDOWN "ĪōĪšöļ¯" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/zh-TW.rc b/reactos/subsystems/win32/csrss/win32csr/lang/zh-TW.rc index ec5c87ca641..1d24b7dda9b 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/zh-TW.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/zh-TW.rc @@ -53,4 +53,6 @@ BEGIN IDS_SCROLLPAGE_DOWN "¤U¤@­ļ" IDS_SCROLLUP "ĻV¤Wēu°Ę" IDS_SCROLLDOWN "ĻV¤Uēu°Ę" + + IDS_COMMAND_PROMPT "Command Prompt" END diff --git a/reactos/subsystems/win32/csrss/win32csr/resource.h b/reactos/subsystems/win32/csrss/win32csr/resource.h index eaadd2f2349..10688212562 100644 --- a/reactos/subsystems/win32/csrss/win32csr/resource.h +++ b/reactos/subsystems/win32/csrss/win32csr/resource.h @@ -48,4 +48,6 @@ #define IDS_SCROLLUP 309 #define IDS_SCROLLDOWN 310 +#define IDS_COMMAND_PROMPT 500 + /* EOF */ From 4041e16e6ff278804bdbbc7dc7c95cbfcb956248 Mon Sep 17 00:00:00 2001 From: Kamil Hornicek Date: Sat, 9 Apr 2011 12:18:34 +0000 Subject: [PATCH 23/48] Updated Czech translations for ping, charmap, reactos, usetup, console, desk and shell32 by Radek Liska (radekliska at gmail dot com) with some subtle modifications by me. See issue #6067 for more details. svn path=/trunk/; revision=51294 --- .../base/applications/charmap/lang/cs-CZ.rc | 4 +- .../applications/network/ping/lang/cs-CZ.rc | 40 ++++++ .../base/applications/network/ping/ping.rc | 1 + reactos/base/setup/reactos/lang/cs-CZ.rc | 136 +++++++++--------- reactos/base/setup/usetup/lang/cs-CZ.h | 6 +- reactos/dll/cpl/console/lang/cs-CZ.rc | 10 +- reactos/dll/cpl/desk/lang/cs-CZ.rc | 28 ++-- reactos/dll/win32/shell32/lang/cs-CZ.rc | 10 +- 8 files changed, 140 insertions(+), 95 deletions(-) create mode 100644 reactos/base/applications/network/ping/lang/cs-CZ.rc diff --git a/reactos/base/applications/charmap/lang/cs-CZ.rc b/reactos/base/applications/charmap/lang/cs-CZ.rc index a9d48a5ff64..d31df8eb885 100644 --- a/reactos/base/applications/charmap/lang/cs-CZ.rc +++ b/reactos/base/applications/charmap/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: applications/charmap/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2008-02-29 + * UPDATED: 2011-03-31 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT @@ -10,7 +10,7 @@ CAPTION "Mapa znak FONT 8,"MS Shell Dlg",0,0 STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX BEGIN - LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9 + LTEXT "Písmo:", IDC_STATIC, 6, 7, 24, 9 COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS PUSHBUTTON "Nápovėda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 diff --git a/reactos/base/applications/network/ping/lang/cs-CZ.rc b/reactos/base/applications/network/ping/lang/cs-CZ.rc new file mode 100644 index 00000000000..ebc948a987c --- /dev/null +++ b/reactos/base/applications/network/ping/lang/cs-CZ.rc @@ -0,0 +1,40 @@ +/* FILE: base/applications/network/ping/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * UPDATED: 2011-03-31 + */ + +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +BEGIN + IDS_USAGE "\nPoužití: ping [-t] [-n počet] [-l velikost] [-w timeout] cíl\n\n\ +Options:\n\ + -t Opakovanė zasílá požadavky o ozvėnu zadanému cíli až do zastavení.\n\ + Ukončení stisknutím Ctrl+C.\n\ + -n počet Počet požadavkų o ozvėnu, které budou zaslány.\n\ + -l velikost Velikost vyrovnávací pamėti.\n\ + -w timeout Doba v milisekundách, po kterou se bude čekat na odpovėī.\n\n\0" + + IDS_PING_WITH_BYTES "\nPing na %1 [%2] s %3!d! bajty dat:\n\n\0" + IDS_PING_STATISTICS "\nStatistika pro %1:\n\0" + IDS_PACKETS_SENT_RECEIVED_LOST " Pakety: Odesláno = %1!d!, Pøijato = %2!d!, Ztraceno = %3!d! (%4!d!%% ztráta),\n\0" + IDS_APPROXIMATE_ROUND_TRIP "Pøibližná doba do pøijetí odezvy v milisekundách:\n\0" + IDS_MIN_MAX_AVERAGE " Minimum = %1, Maximum = %2, Prųmėr = %3\n\0" + IDS_NOT_ENOUGH_RESOURCES "Není k dispozici dostatek volnũch zdrojų.\n\0" + IDS_UNKNOWN_HOST "Neznámũ hostitel %1.\n\0" + IDS_SETSOCKOPT_FAILED "setsockopt selhalo (%1!d!).\n\0" + IDS_COULD_NOT_CREATE_SOCKET "Nebylo možné vytvoøit socket (#%1!d!).\n\0" + IDS_COULD_NOT_INIT_WINSOCK "Nebylo možné inicializovat knihovnu winsock.\n\0" + IDS_DEST_MUST_BE_SPECIFIED "Je nutno zadat název nebo IP adresu cíle.\n\0" + IDS_BAD_PARAMETER "Nesprávnũ parametr %1.\n\0" + IDS_BAD_OPTION_FORMAT "Nesprávnũ formát volby %1.\n\0" + IDS_BAD_OPTION "Nesprávná volba %1.\n\0" + IDS_BAD_VALUE_OPTION_L "Nesprávná hodnota volby -l, platnũ rozsah je od 0 do %1!d!.\n\0" + IDS_REPLY_FROM "Odpovėī od %1: bajtų=%2!d! čas%3%4 TTL=%5!d!\n\0" + IDS_DEST_UNREACHABLE "Cíl je nedostupnũ.\n\0" + IDS_COULD_NOT_TRANSMIT "Nebylo možné pøenést data (%1!d!).\n\0" + IDS_COULD_NOT_RECV "Nebylo možné pøijmout data (%1!d!).\n\0" + IDS_REQUEST_TIMEOUT "Časovũ limit žádosti vypršel.\n\0" + IDS_MS "ms\0" + IDS_1MS "1ms\0" +END diff --git a/reactos/base/applications/network/ping/ping.rc b/reactos/base/applications/network/ping/ping.rc index 3f25d017260..b47c1744474 100644 --- a/reactos/base/applications/network/ping/ping.rc +++ b/reactos/base/applications/network/ping/ping.rc @@ -8,6 +8,7 @@ #define REACTOS_STR_ORIGINAL_COPYRIGHT "Casper S. Hornstrup (chorns@users.sourceforge.net)\0" #include +#include "lang/cs-CZ.rc" #include "lang/de-DE.rc" #include "lang/en-US.rc" #include "lang/fr-FR.rc" diff --git a/reactos/base/setup/reactos/lang/cs-CZ.rc b/reactos/base/setup/reactos/lang/cs-CZ.rc index 505042b65f9..7ba1456c1a3 100644 --- a/reactos/base/setup/reactos/lang/cs-CZ.rc +++ b/reactos/base/setup/reactos/lang/cs-CZ.rc @@ -1,119 +1,123 @@ -// Kario was here +/* FILE: dll/cpl/console/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * THANKS TO: kario for introducing the file + * UPDATED: 2011-03-31 + */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT IDD_STARTPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STARTTITLE, 115, 8, 195, 24 - LTEXT "ReactOS nelze instalovat pøímo z tohoto CD! Prosím restartujte počítač z tohoto CD aby jste nainstalovali ReactOS.", IDC_STATIC, 115, 40, 195, 100 - LTEXT "Click Finish to exit the Setup.", IDC_STATIC, 115, 169, 195, 17 + LTEXT "Vítejte v prųvodci instalace systému ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24 + LTEXT "Systém ReactOS zatím nelze nainstalovat pøímo z tohoto CD! Pro instalaci restartuje počítač z tohoto CD.", IDC_STATIC, 115, 40, 195, 100 + LTEXT "Klepnutím na Dokončit ukončíte instalaci.", IDC_STATIC, 115, 169, 195, 17 END IDD_LANGSELPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN CONTROL "IDB_LOGO", IDB_ROSLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99 - CONTROL "Setup language:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 109, 106, 11 + CONTROL "Jazyk instalace:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 109, 106, 11 CONTROL "", IDC_LANGUAGES, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 107, 176, 142 - CONTROL "Keyboard or input method:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 142, 106, 11 + CONTROL "Klávesnice či metoda zadávání:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 20, 142, 106, 11 CONTROL "", IDC_KEYLAYOUT, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 132, 141, 176, 81 - LTEXT "Click Next to select the setup type.", IDC_STATIC, 10, 180 ,297, 10 + LTEXT "Po klepnutí na Další bude možné zvolit typ instalace.", IDC_STATIC, 10, 180 ,297, 10 END IDD_TYPEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Type of setup", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172 - CONTROL "Install ReactOS", IDC_INSTALL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 20, 15, 277, 10 - CONTROL "Repair or update an installed ReactOS", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 20, 30, 277, 10 - LTEXT "Click Next to setup the devices.", IDC_STATIC, 10, 180 ,297, 10 + CONTROL "Typ instalace", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172 + CONTROL "Nainstalovat systém ReactOS", IDC_INSTALL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 20, 15, 277, 10 + CONTROL "Opravit nebo aktualizovat již nainstalovanũ systém ReactOS", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 20, 30, 277, 10 + LTEXT "Po klepnutí na Další bude možné nastavit zaøízení.", IDC_STATIC, 10, 180 ,297, 10 END IDD_DEVICEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Device settings", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172 - LTEXT "Computer:", IDC_STATIC, 20,15, 80, 10 + CONTROL "Nastavení zaøízení", IDC_STATIC, "Button", BS_GROUPBOX, 10,0,297,172 + LTEXT "Počítač:", IDC_STATIC, 20,15, 80, 10 CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST , 100, 15, 150, 80 - LTEXT "Display:", IDC_STATIC, 20,35, 80, 10 + LTEXT "Obrazovka:", IDC_STATIC, 20,35, 80, 10 CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST , 100, 35, 150, 80 - LTEXT "Keyboard:", IDC_STATIC, 20,55, 80, 10 + LTEXT "Klávesnice:", IDC_STATIC, 20,55, 80, 10 CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST , 100, 55, 150, 80 - LTEXT "Click Next setup of the installation device.", IDC_STATIC, 10, 180 ,277, 20 + LTEXT "Po klepnutí na Další bude možné nastavit instalační zaøízení.", IDC_STATIC, 10, 180 ,277, 20 END IDD_DRIVEPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Partition for ReactOS installation", IDC_STATIC, "Button", BS_GROUPBOX, 10,1,298,176 + CONTROL "Oddíl, do kterého bude systém ReactOS nainstalován", IDC_STATIC, "Button", BS_GROUPBOX, 10,1,298,176 LISTBOX IDC_PARTITION, 20,12,278,142,LBS_HASSTRINGS | WS_VSCROLL - PUSHBUTTON "&Create", IDC_PARTCREATE, 20,155,50,15 - PUSHBUTTON "&Delete", IDC_PARTDELETE, 76,155,50,15 - PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 162,155,50,15, WS_DISABLED - PUSHBUTTON "&Advanced Options...", IDC_PARTMOREOPTS, 218,155,80,15 - LTEXT "Click Next to check the summary.", IDC_STATIC, 10, 180 ,277, 20 + PUSHBUTTON "&Vytvoøit", IDC_PARTCREATE, 20,155,50,15 + PUSHBUTTON "&Smazat", IDC_PARTDELETE, 76,155,50,15 + PUSHBUTTON "&Ovladač", IDC_DEVICEDRIVER, 162,155,50,15, WS_DISABLED + PUSHBUTTON "&Pokročilé volby...", IDC_PARTMOREOPTS, 218,155,80,15 + LTEXT "Po klepnutí na Další bude možné zkontrolovat všechna nastavení.", IDC_STATIC, 10, 180 ,277, 20 END IDD_PARTITION DIALOGEX DISCARDABLE 0, 0, 145, 90 STYLE WS_VISIBLE|WS_CAPTION|WS_THICKFRAME -CAPTION "Create Partition" +CAPTION "Vytvoøit oddíl" FONT 8, "MS Shell Dlg" BEGIN CONTROL "",IDC_UPDOWN1,"msctls_updown32", WS_VISIBLE,104,22,9,13 - CONTROL "Create and format partition",IDC_STATIC,"Button",BS_GROUPBOX,7,5,129,57 - LTEXT "Size:",IDC_STATIC, 13,24,27,9 + CONTROL "Vytvoøit a naformátovat oddíl",IDC_STATIC,"Button",BS_GROUPBOX,7,5,129,57 + LTEXT "Velikost:",IDC_STATIC, 13,24,27,9 EDITTEXT IDC_PARTSIZE,52,23,53,13, WS_VISIBLE|WS_TABSTOP LTEXT "GB",IDC_UNIT, 117,24,14,9 - LTEXT "Filesystem:",IDC_STATIC,13,46,35,9 + LTEXT "Souborovũ systém:",IDC_STATIC,13,46,35,9 CONTROL "",IDC_FSTYPE,"ComboBox",WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST,52,42,79,50 PUSHBUTTON "&OK",IDOK,35,68,47,15, WS_VISIBLE|WS_TABSTOP - PUSHBUTTON "&Cancel",IDCANCEL,87,68,47,15, WS_VISIBLE|WS_TABSTOP + PUSHBUTTON "&Storno",IDCANCEL,87,68,47,15, WS_VISIBLE|WS_TABSTOP END IDD_BOOTOPTIONS DIALOGEX DISCARDABLE 0, 0, 305, 105 STYLE WS_VISIBLE|WS_CAPTION|WS_THICKFRAME -CAPTION "Advanced Partition Settings" +CAPTION "Pokročilá nastavení oddílu" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Installation folder", IDC_STATIC, "Button", BS_GROUPBOX, 4,1,298,30 + CONTROL "Instalační složka", IDC_STATIC, "Button", BS_GROUPBOX, 4,1,298,30 EDITTEXT IDC_PATH, 10,11,278,13, WS_VISIBLE - CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 + CONTROL "Instalace zavadėče", IDC_STATIC, "Button", BS_GROUPBOX, 4,36,298,41 - CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 - CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 - CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 + CONTROL "Nainstalovat zavadėč na pevnũ disk (MBR a VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11 + CONTROL "Nainstalovat zavadėč na pevnũ disk (jen VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,57,278,11 + CONTROL "Zavadėč neinstalovat", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,68,278,11 PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE - PUSHBUTTON "&Cancel", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE + PUSHBUTTON "&Storno", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE END IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Installation summary", IDC_ACTION, "Button", BS_GROUPBOX, 10,0,297,172 - LTEXT "Click Next to start the installation process.", IDC_STATIC, 10, 180 ,277, 20 + CONTROL "Shrnutí instalace", IDC_ACTION, "Button", BS_GROUPBOX, 10,0,297,172 + LTEXT "Klepnutím na Další zahájíte instalační proces.", IDC_STATIC, 10, 180 ,277, 20 END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Instalace ReactOS" +CAPTION "Instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Setup action", IDC_ACTION, "Button", BS_GROUPBOX, 10,0,297,172 - LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10 + CONTROL "Akce instalace", IDC_ACTION, "Button", BS_GROUPBOX, 10,0,297,172 + LTEXT "Instalace souborų...", IDC_ACTIVITY, 20, 50, 277, 10 LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10 CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8 @@ -121,34 +125,34 @@ END IDD_RESTARTPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Completing ReactOS Setup" +CAPTION "Dokončení instalace systému ReactOS" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "Completing the first stage of ReactOS Setup", IDC_FINISHTITLE, "Button", BS_GROUPBOX, 10,0,297,172 - LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10 + CONTROL "Dokončení první části instalace systému ReactOS", IDC_FINISHTITLE, "Button", BS_GROUPBOX, 10,0,297,172 + LTEXT "První část instalace systému ReactOS byla úspėšnė dokončena.", IDC_STATIC, 20, 50, 277, 10 - LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 20, 80, 277, 10 + LTEXT "Po klepnutí na Dokončit bude počítač restartován.", IDC_STATIC, 20, 80, 277, 10 CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8 - LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20 + LTEXT "Pokud je v mechanice instalační CD, vyjmėte jej. Poté kliknutím na Dokončit restartujte počítač.", IDC_STATIC, 10, 180, 297, 20 END STRINGTABLE BEGIN - IDS_LANGTITLE "Language Selection" - IDS_LANGSUBTITLE "Choose language for setup and final system." - IDS_TYPETITLE "Welcome to ReactOS Setup" - IDS_TYPESUBTITLE "Choose setup type." - IDS_DEVICETITLE "Setup the basic devices" - IDS_DEVICESUBTITLE "Set the settings of display and keyboard." - IDS_DRIVETITLE "Setup the installation partition and system folder" - IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader." - IDS_PROCESSTITLE "Prepare partition, copy files and setup system" - IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader" - IDS_RESTARTTITLE "First stage of setup finished" - IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage" - IDS_SUMMARYTITLE "Installation Summary" - IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device" - IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install Reactos. Really quit?" - IDS_ABORTSETUP2 "Abort installation?" + IDS_LANGTITLE "Vũbėr jazyka" + IDS_LANGSUBTITLE "Volba jazyka, kterũ bude použit pøi instalaci a ve vũsledném systému." + IDS_TYPETITLE "Vítejte v prųvodci instalace systému ReactOS" + IDS_TYPESUBTITLE "Volba typu instalace." + IDS_DEVICETITLE "Nastavení základních zaøízení" + IDS_DEVICESUBTITLE "Volba nastavení obrazovky a klávesnice." + IDS_DRIVETITLE "Nastavení instalačního oddílu a systémové složky" + IDS_DRIVESUBTITLE "Pøíprava instalačního oddílu, systémové složky a zavadėče." + IDS_PROCESSTITLE "Pøíprava oddílu, kopírování souborų a nastavení systému" + IDS_PROCESSSUBTITLE "Vytvoøení a naformátování oddílu, kopírování souborų, instalace a nastavení zavadėče" + IDS_RESTARTTITLE "První část instalace dokončena" + IDS_RESTARTSUBTITLE "První část instalace byla dokončena, po restartování počítače se bude pokračovat druhou částí" + IDS_SUMMARYTITLE "Shrnutí instalace" + IDS_SUMMARYSUBTITLE "Vũpis voleb instalace k ovėøení pøed tím, než začne instalace" + IDS_ABORTSETUP "Systém ReactOS není na tomto počítači kompletnė nainstalovanũ. Pokud nyní ukončíte instalaci, bude ji pro nainstalování systému ReactOS nutné provést znova. Opravdu ukončit?" + IDS_ABORTSETUP2 "Pøerušit instalaci?" END /* EOF */ diff --git a/reactos/base/setup/usetup/lang/cs-CZ.h b/reactos/base/setup/usetup/lang/cs-CZ.h index eff2fa1665e..a38da327cd1 100644 --- a/reactos/base/setup/usetup/lang/cs-CZ.h +++ b/reactos/base/setup/usetup/lang/cs-CZ.h @@ -1,7 +1,7 @@ /* FILE: setup/usetup/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * THANKS TO: preston - * UPDATED: 2010-12-12 + * THANKS TO: preston for bugfix advice at line 842 + * UPDATED: 2011-03-31 */ #pragma once @@ -43,7 +43,7 @@ static MUI_ENTRY csCZLanguagePageEntries[] = { 8, 13, - "\x07 Tento jazyk bude defaultnĄm jazykem v nainstalovan‚m syst‚mu.", + "\x07 Tento jazyk bude vėchozĄm jazykem v nainstalovan‚m syst‚mu.", TEXT_STYLE_NORMAL }, { diff --git a/reactos/dll/cpl/console/lang/cs-CZ.rc b/reactos/dll/cpl/console/lang/cs-CZ.rc index 5bd19862b5e..da104559238 100644 --- a/reactos/dll/cpl/console/lang/cs-CZ.rc +++ b/reactos/dll/cpl/console/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/cpl/console/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2008-07-27 + * UPDATED: 2011-03-31 */ #include @@ -34,15 +34,15 @@ END IDD_PROPPAGEFONT DIALOGEX 0, 0, 253, 220 STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION -CAPTION "Font" +CAPTION "Písmo" FONT 8, "MS Shell Dlg" BEGIN LTEXT "Náhled okna:", -1, 10, 10, 94, 10 LTEXT "Velikost:", -1, 180, 10, 36, 10 CONTROL "", IDC_STATIC_FONT_WINDOW_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 10, 20, 163, 74 LISTBOX IDC_LBOX_FONTS, 181, 20, 55, 80, LBS_DISABLENOSCROLL | WS_VSCROLL - LTEXT "&Font:", -1, 10, 105, 33, 10 - CHECKBOX "&Tučné fonty", IDC_CHECK_BOLD_FONTS, 56, 105, 60, 10 + LTEXT "&Písmo:", -1, 10, 105, 33, 10 + CHECKBOX "&Tučná písma", IDC_CHECK_BOLD_FONTS, 56, 105, 60, 10 LISTBOX IDC_LBOX_TYPE, 10, 120, 110, 40, LBS_DISABLENOSCROLL | WS_VSCROLL GROUPBOX "", IDC_GROUPBOX_FONT_NAME, 6, 156, 241, 50 CONTROL "", IDC_STATIC_SELECT_FONT_PREVIEW, "Static", SS_OWNERDRAW | SS_SUNKEN, 16, 165, 95, 35 @@ -141,5 +141,5 @@ BEGIN IDS_CPLDESCRIPTION "Nastavit vlastnosti konzole." IDS_APPLY_SHORTCUT_ALL "Zmėnit zá&stupce, kterũ spustil toto okno" IDS_SCREEN_TEXT "C:\\ReactOS> dir\nSYSTEM 10-01-99 5:00\nSYSTEM32 10-01-99 5:00" - IDS_RASTERFONTS "Rastrové fonty" + IDS_RASTERFONTS "Rastrová písma" END diff --git a/reactos/dll/cpl/desk/lang/cs-CZ.rc b/reactos/dll/cpl/desk/lang/cs-CZ.rc index 717e214d7d8..727eb9dcac8 100644 --- a/reactos/dll/cpl/desk/lang/cs-CZ.rc +++ b/reactos/dll/cpl/desk/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/cpl/desk/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2008-07-27 + * UPDATED: 2011-03-31 * THANKS TO: potapnik, who translated major part of this file */ @@ -105,24 +105,24 @@ END IDD_EFFAPPEARANCE DIALOGEX DISCARDABLE 0, 0, 285, 185 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE -CAPTION "Effects" +CAPTION "Efekty" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "&Use the following transition effect for menus and tooltips:",IDC_EFFAPPEARANCE_ANIMATION,"button", + CONTROL "Použít následující &efekt pøechodu pro nabídky a popisky:",IDC_EFFAPPEARANCE_ANIMATION,"button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 5, 285, 19 COMBOBOX IDC_EFFAPPEARANCE_ANIMATIONTYPE, 20, 25, 80, 19 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_CHILD | WS_VSCROLL | WS_TABSTOP - CONTROL "U&se the following method to smooth edges of screen fonts:",IDC_EFFAPPEARANCE_SMOOTHING,"button", + CONTROL "Použít následující metodu vyhlazování &hran obrazovkovũch písem:",IDC_EFFAPPEARANCE_SMOOTHING,"button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED, 10, 42, 285, 19 COMBOBOX IDC_EFFAPPEARANCE_SMOOTHINGTYPE, 20, 62, 80, 19 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP | WS_DISABLED - CONTROL "Us&e large icons",IDC_EFFAPPEARANCE_LARGEICONS,"button", + CONTROL "Použít velké &ikony",IDC_EFFAPPEARANCE_LARGEICONS,"button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED, 10, 80, 285, 19 - CONTROL "Show sh&adows under menus",IDC_EFFAPPEARANCE_SETDROPSHADOW,"button", + CONTROL "Zobrazovat &stíny pod nabídkami",IDC_EFFAPPEARANCE_SETDROPSHADOW,"button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED, 10, 95, 285, 19 - CONTROL "Show &window contents while dragging",IDC_EFFAPPEARANCE_DRAGFULLWINDOWS,"button", + CONTROL "Zobrazovat &obsah okna bėhem pøesouvání",IDC_EFFAPPEARANCE_DRAGFULLWINDOWS,"button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 110, 285, 19 - CONTROL "&Hide underlined letters for keyboard navigation until I press the Alt key",IDC_EFFAPPEARANCE_KEYBOARDCUES,"button", + CONTROL "&Nezobrazovat podtržení písmen u klávesovũch zkratek, dokud nestisknu klávesu Alt",IDC_EFFAPPEARANCE_KEYBOARDCUES,"button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 125, 285, 19 - PUSHBUTTON "Cancel", IDCANCEL, 226, 165, 50, 14 + PUSHBUTTON "Storno", IDCANCEL, 226, 165, 50, 14 DEFPUSHBUTTON "OK", IDOK, 172, 165, 50, 14 END @@ -134,7 +134,7 @@ BEGIN LTEXT "Tažením nastavte ikony monitorų, aby odpovídaly fyzickému uspoøádání vašich monitorų.",-1,3,3,240,10 CONTROL "",IDC_SETTINGS_MONSEL,"MONITORSELWNDCLASS",WS_CHILD|WS_VISIBLE|WS_TABSTOP,3,16,240,82,WS_EX_CLIENTEDGE LTEXT "&Obrazovka:",1820,3,100,38,8 - LTEXT "",IDC_SETTINGS_DEVICE,9,109,224,8 + LTEXT "",IDC_SETTINGS_DEVICE,9,109,224,8 GROUPBOX "&Velikost obrazovky",1818,3,120,115,43 CONTROL "",IDC_SETTINGS_RESOLUTION,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP, 30,130,58,17 @@ -185,19 +185,19 @@ END STRINGTABLE DISCARDABLE BEGIN - IDS_SLIDEEFFECT "Slide effect" - IDS_FADEEFFECT "Fade effect" + IDS_SLIDEEFFECT "Efekt vysunutí" + IDS_FADEEFFECT "Efekt pøechodu" END STRINGTABLE DISCARDABLE BEGIN - IDS_STANDARDEFFECT "Standard" + IDS_STANDARDEFFECT "Standardní" IDS_CLEARTYPEEFFECT "ClearType" END STRINGTABLE BEGIN - IDS_MULTIPLEMONITORS "(Nėkolik monitorų)" + IDS_MULTIPLEMONITORS "(Více monitorų)" IDS_UNKNOWNMONITOR "(Neznámũ monitor)" IDS_ADVANCEDTITLEFMT "%s a %s" END diff --git a/reactos/dll/win32/shell32/lang/cs-CZ.rc b/reactos/dll/win32/shell32/lang/cs-CZ.rc index 728fce9fd08..7dbb4ebbd56 100644 --- a/reactos/dll/win32/shell32/lang/cs-CZ.rc +++ b/reactos/dll/win32/shell32/lang/cs-CZ.rc @@ -1,6 +1,6 @@ /* FILE: dll/win32/shell32/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) - * UPDATED: 2010-05-25 + * UPDATED: 2011-03-31 * THANKS TO: navaraf, who translated major part of this file */ @@ -539,7 +539,7 @@ BEGIN PUSHBUTTON "&Zavøít", IDCANCEL, 118, 198, 60, 14 LTEXT "&Kapacita:", -1, 7, 6, 169, 9 COMBOBOX 28673, 7, 17, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP - LTEXT "&Souborovũ systém", -1, 7, 35, 170, 9 + LTEXT "Souborovũ systé&m", -1, 7, 35, 170, 9 COMBOBOX 28677, 7, 46, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP CONTROL "", 28678, "MSCTLS_PROGRESS32", 0, 7, 181, 170, 8 LTEXT "&Velikost alokační jednotky", -1, 7, 64, 170, 9 @@ -597,7 +597,7 @@ BEGIN IDS_SHV_COLUMN13 "Kategorie" IDS_SHV_COLUMN_DELFROM "Pųvodní umístėní" IDS_SHV_COLUMN_DELDATE "Odstranėno" - IDS_SHV_COLUMN_FONTTYPE "Fonttype" + IDS_SHV_COLUMN_FONTTYPE "Druh písma" //fonttype IDS_SHV_COLUMN_WORKGROUP "Pracovní skupina" IDS_SHV_NETWORKLOCATION "Síové umístėní" IDS_SHV_COLUMN_DOCUMENTS "Dokumenty" @@ -739,8 +739,8 @@ BEGIN IDS_FILE_FOLDER "%u souborų, %u složek" IDS_PRINTERS "Tiskárny" - IDS_FONTS "Fonty" - IDS_INSTALLNEWFONT "Nainstalovat novũ font..." + IDS_FONTS "Písma" + IDS_INSTALLNEWFONT "Nainstalovat nové písmo..." IDS_DEFAULT_CLUSTER_SIZE "Vũchozí alokační velikost" IDS_COPY_OF "Kopie " From 893a0bfccb67da3b670677dcd3e5e37f6425271c Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 9 Apr 2011 12:44:45 +0000 Subject: [PATCH 24/48] [win32k] - Rewrite GetKeyState based on wine. Now it's results are based on whether or nor the message queue has processed a keyboard message and not the actual state of the keyboard.c - TODO: ensure it works corectly and use this implementation in most other places in win32k when we need to check the state of a key. To ensure nothing breaks, this change affects only GetKeyState svn path=/trunk/; revision=51295 --- .../subsystems/win32/win32k/include/input.h | 16 +++ .../win32/win32k/include/msgqueue.h | 3 + .../subsystems/win32/win32k/ntuser/keyboard.c | 54 -------- .../subsystems/win32/win32k/ntuser/msgqueue.c | 116 ++++++++++++++++++ 4 files changed, 135 insertions(+), 54 deletions(-) diff --git a/reactos/subsystems/win32/win32k/include/input.h b/reactos/subsystems/win32/win32k/include/input.h index ba123366a2a..bcf54013e09 100644 --- a/reactos/subsystems/win32/win32k/include/input.h +++ b/reactos/subsystems/win32/win32k/include/input.h @@ -27,6 +27,22 @@ extern PATTACHINFO gpai; #define KBL_PRELOAD 2 #define KBL_RESET 4 +/* Key States */ +#define KS_DOWN_MASK 0xc0 +#define KS_DOWN_BIT 0x80 +#define KS_LOCK_BIT 0x01 +/* Lock modifiers */ +#define CAPITAL_BIT 0x80000000 +#define NUMLOCK_BIT 0x40000000 +#define MOD_BITS_MASK 0x3fffffff +#define MOD_KCTRL 0x02 +/* Scan Codes */ +#define SC_KEY_UP 0x8000 +/* lParam bits */ +#define LP_EXT_BIT (1<<24) +/* From kbdxx.c -- Key changes with numlock */ +#define KNUMP 0x400 + INIT_FUNCTION NTSTATUS NTAPI diff --git a/reactos/subsystems/win32/win32k/include/msgqueue.h b/reactos/subsystems/win32/win32k/include/msgqueue.h index e5158574e10..870cf874527 100644 --- a/reactos/subsystems/win32/win32k/include/msgqueue.h +++ b/reactos/subsystems/win32/win32k/include/msgqueue.h @@ -108,6 +108,9 @@ typedef struct _USER_MESSAGE_QUEUE /* extra message information */ LPARAM ExtraInfo; + /* state of each key */ + UCHAR KeyState[256]; + /* messages that are currently dispatched by other threads */ LIST_ENTRY DispatchingMessagesHead; /* messages that are currently dispatched by this message queue, required for cleanup */ diff --git a/reactos/subsystems/win32/win32k/ntuser/keyboard.c b/reactos/subsystems/win32/win32k/ntuser/keyboard.c index d0509ad1e7a..c4ef0430555 100644 --- a/reactos/subsystems/win32/win32k/ntuser/keyboard.c +++ b/reactos/subsystems/win32/win32k/ntuser/keyboard.c @@ -33,28 +33,8 @@ #define NDEBUG #include - -/* Lock modifiers */ -#define CAPITAL_BIT 0x80000000 -#define NUMLOCK_BIT 0x40000000 -#define MOD_BITS_MASK 0x3fffffff -#define MOD_KCTRL 0x02 -/* Key States */ -#define KS_DOWN_MASK 0xc0 -#define KS_DOWN_BIT 0x80 -#define KS_LOCK_BIT 0x01 -/* Scan Codes */ -#define SC_KEY_UP 0x8000 -/* lParam bits */ -#define LP_EXT_BIT (1<<24) -/* From kbdxx.c -- Key changes with numlock */ -#define KNUMP 0x400 - - BYTE gQueueKeyStateTable[256]; - - /* FUNCTIONS *****************************************************************/ /* Initialization -- Right now, just zero the key state and init the lock */ @@ -353,40 +333,6 @@ ToUnicodeInner(UINT wVirtKey, } -DWORD FASTCALL UserGetKeyState(DWORD key) -{ - DWORD ret = 0; - - if( key < 0x100 ) - { - ret = ((DWORD)(gQueueKeyStateTable[key] & KS_DOWN_BIT) << 8 ) | - (gQueueKeyStateTable[key] & KS_LOCK_BIT); - } - - return ret; -} - - -SHORT -APIENTRY -NtUserGetKeyState( - INT key) -{ - DECLARE_RETURN(DWORD); - - DPRINT("Enter NtUserGetKeyState\n"); - UserEnterExclusive(); - - RETURN(UserGetKeyState(key)); - -CLEANUP: - DPRINT("Leave NtUserGetKeyState, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} - - - DWORD FASTCALL UserGetAsyncKeyState(DWORD key) { DWORD ret = 0; diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index 9f57375da83..2fb518dfed3 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -41,6 +41,106 @@ MsqInitializeImpl(VOID) return(STATUS_SUCCESS); } +DWORD FASTCALL UserGetKeyState(DWORD key) +{ + DWORD ret = 0; + PTHREADINFO pti; + PUSER_MESSAGE_QUEUE MessageQueue; + + pti = PsGetCurrentThreadWin32Thread(); + MessageQueue = pti->MessageQueue; + + if( key < 0x100 ) + { + ret = ((DWORD)(MessageQueue->KeyState[key] & KS_DOWN_BIT) << 8 ) | + (MessageQueue->KeyState[key] & KS_LOCK_BIT); + } + + return ret; +} + +/* change the input key state for a given key */ +static void set_input_key_state( PUSER_MESSAGE_QUEUE MessageQueue, UCHAR key, BOOL down ) +{ + if (down) + { + if (!(MessageQueue->KeyState[key] & KS_DOWN_BIT)) + { + MessageQueue->KeyState[key] ^= KS_LOCK_BIT; + } + MessageQueue->KeyState[key] |= KS_DOWN_BIT; + } + else + { + MessageQueue->KeyState[key] &= ~KS_DOWN_BIT; + } +} + +/* update the input key state for a keyboard message */ +static void update_input_key_state( PUSER_MESSAGE_QUEUE MessageQueue, MSG* msg ) +{ + UCHAR key; + BOOL down = 0; + + switch (msg->message) + { + case WM_LBUTTONDOWN: + down = 1; + /* fall through */ + case WM_LBUTTONUP: + set_input_key_state( MessageQueue, VK_LBUTTON, down ); + break; + case WM_MBUTTONDOWN: + down = 1; + /* fall through */ + case WM_MBUTTONUP: + set_input_key_state( MessageQueue, VK_MBUTTON, down ); + break; + case WM_RBUTTONDOWN: + down = 1; + /* fall through */ + case WM_RBUTTONUP: + set_input_key_state( MessageQueue, VK_RBUTTON, down ); + break; + case WM_XBUTTONDOWN: + down = 1; + /* fall through */ + case WM_XBUTTONUP: + if (msg->wParam == XBUTTON1) + set_input_key_state( MessageQueue, VK_XBUTTON1, down ); + else if (msg->wParam == XBUTTON2) + set_input_key_state( MessageQueue, VK_XBUTTON2, down ); + break; + case WM_KEYDOWN: + case WM_SYSKEYDOWN: + down = 1; + /* fall through */ + case WM_KEYUP: + case WM_SYSKEYUP: + key = (UCHAR)msg->wParam; + set_input_key_state( MessageQueue, key, down ); + switch(key) + { + case VK_LCONTROL: + case VK_RCONTROL: + down = (MessageQueue->KeyState[VK_LCONTROL] | MessageQueue->KeyState[VK_RCONTROL]) & KS_DOWN_BIT; + set_input_key_state( MessageQueue, VK_CONTROL, down ); + break; + case VK_LMENU: + case VK_RMENU: + down = (MessageQueue->KeyState[VK_LMENU] | MessageQueue->KeyState[VK_RMENU]) & KS_DOWN_BIT; + set_input_key_state( MessageQueue, VK_MENU, down ); + break; + case VK_LSHIFT: + case VK_RSHIFT: + down = (MessageQueue->KeyState[VK_LSHIFT] | MessageQueue->KeyState[VK_RSHIFT]) & KS_DOWN_BIT; + set_input_key_state( MessageQueue, VK_SHIFT, down ); + break; + } + break; + } +} + HANDLE FASTCALL IntMsqSetWakeMask(DWORD WakeMask) { @@ -1294,6 +1394,7 @@ co_MsqPeekHardwareMessage(IN PUSER_MESSAGE_QUEUE MessageQueue, if (Remove) { + update_input_key_state(MessageQueue, pMsg); RemoveEntryList(&CurrentMessage->ListEntry); ClearMsgBitsMask(MessageQueue, QS_INPUT); MsqDestroyMessage(CurrentMessage); @@ -1714,4 +1815,19 @@ MsqSetStateWindow(PUSER_MESSAGE_QUEUE MessageQueue, ULONG Type, HWND hWnd) return NULL; } +SHORT +APIENTRY +NtUserGetKeyState(INT key) +{ + DWORD Ret; + + UserEnterExclusive(); + + Ret = UserGetKeyState(key); + + UserLeave(); + + return Ret; +} + /* EOF */ From dc37bd8b99e7e5bad158556fe03c1cda6ab5c548 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Sat, 9 Apr 2011 14:46:37 +0000 Subject: [PATCH 25/48] - Sync all resource files with the English one. - Translate the new Dialog in the German one. - Normally we use BEGIN and END, no {} - DIALOG -> DIALOGEX svn path=/trunk/; revision=51296 --- reactos/base/applications/sndvol32/lang/bg-BG.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/cs-CZ.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/de-DE.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/el-GR.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/en-US.rc | 8 ++++---- reactos/base/applications/sndvol32/lang/es-ES.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/fr-FR.rc | 8 ++++---- reactos/base/applications/sndvol32/lang/hu-HU.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/id-ID.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/it-IT.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/ja-JP.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/ko-KR.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/lt-LT.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/nl-NL.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/no-NO.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/pl-PL.rc | 8 ++++---- reactos/base/applications/sndvol32/lang/pt-BR.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/ru-RU.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/sk-SK.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/sv-SE.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/th-TH.rc | 16 +++++++++++++++- reactos/base/applications/sndvol32/lang/uk-UA.rc | 16 +++++++++++++++- 22 files changed, 297 insertions(+), 31 deletions(-) diff --git a/reactos/base/applications/sndvol32/lang/bg-BG.rc b/reactos/base/applications/sndvol32/lang/bg-BG.rc index 4f42b6b1d47..c1927f2d649 100644 --- a/reactos/base/applications/sndvol32/lang/bg-BG.rc +++ b/reactos/base/applications/sndvol32/lang/bg-BG.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Ņâîéņōâā" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Ņėåņčōåëíî ķņōđîéņōâî:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "Äîáđå", IDOK, 114,226,50,14 PUSHBUTTON "Îōęāį", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/cs-CZ.rc b/reactos/base/applications/sndvol32/lang/cs-CZ.rc index abeec0eb9db..9e737209577 100644 --- a/reactos/base/applications/sndvol32/lang/cs-CZ.rc +++ b/reactos/base/applications/sndvol32/lang/cs-CZ.rc @@ -32,7 +32,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Možnosti" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Smėšovací zaøízení:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -47,3 +47,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Storno", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/de-DE.rc b/reactos/base/applications/sndvol32/lang/de-DE.rc index 6ea135d5a0a..8cdfa1058eb 100644 --- a/reactos/base/applications/sndvol32/lang/de-DE.rc +++ b/reactos/base/applications/sndvol32/lang/de-DE.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Eigenschaften" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixer:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Abbrechen", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Lautstärke", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Stumm", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/el-GR.rc b/reactos/base/applications/sndvol32/lang/el-GR.rc index 5e985e25cbf..a535250aaa7 100644 --- a/reactos/base/applications/sndvol32/lang/el-GR.rc +++ b/reactos/base/applications/sndvol32/lang/el-GR.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Éäéüôįôåō" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&ĶõķęåõŪ ėßîįō:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "ĸęõņī", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/en-US.rc b/reactos/base/applications/sndvol32/lang/en-US.rc index 1ab09241de0..bc2a63ed644 100644 --- a/reactos/base/applications/sndvol32/lang/en-US.rc +++ b/reactos/base/applications/sndvol32/lang/en-US.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Properties" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixer device:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -42,10 +42,10 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" -{ +BEGIN LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balance", -1, 4, 35, 80, 42 @@ -54,4 +54,4 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 -} +END diff --git a/reactos/base/applications/sndvol32/lang/es-ES.rc b/reactos/base/applications/sndvol32/lang/es-ES.rc index 40a2fb23ee0..fdbde68f3a9 100644 --- a/reactos/base/applications/sndvol32/lang/es-ES.rc +++ b/reactos/base/applications/sndvol32/lang/es-ES.rc @@ -30,7 +30,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Propiedades" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Dispositivo me&zclador:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -45,3 +45,17 @@ BEGIN PUSHBUTTON "Aceptar", IDOK, 114,226,50,14 PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/fr-FR.rc b/reactos/base/applications/sndvol32/lang/fr-FR.rc index 0831863728d..88040752989 100644 --- a/reactos/base/applications/sndvol32/lang/fr-FR.rc +++ b/reactos/base/applications/sndvol32/lang/fr-FR.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Propriétés" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Périphérique de mixage :", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -42,10 +42,10 @@ BEGIN PUSHBUTTON "Annuler", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" -{ +BEGIN LTEXT "Volume principal", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balance", -1, 4, 35, 80, 42 @@ -54,4 +54,4 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 CHECKBOX "&Muet", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 -} +END diff --git a/reactos/base/applications/sndvol32/lang/hu-HU.rc b/reactos/base/applications/sndvol32/lang/hu-HU.rc index 0c6f2d99be2..0cf10ea2603 100644 --- a/reactos/base/applications/sndvol32/lang/hu-HU.rc +++ b/reactos/base/applications/sndvol32/lang/hu-HU.rc @@ -30,7 +30,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Tulajdonságok" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Keverõ eszköz:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -45,3 +45,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Mégse", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/id-ID.rc b/reactos/base/applications/sndvol32/lang/id-ID.rc index 532e7b6b9df..25f6a97daaf 100644 --- a/reactos/base/applications/sndvol32/lang/id-ID.rc +++ b/reactos/base/applications/sndvol32/lang/id-ID.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Properti" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixer device:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Batal", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/it-IT.rc b/reactos/base/applications/sndvol32/lang/it-IT.rc index 90068a8648b..0897c1b922b 100644 --- a/reactos/base/applications/sndvol32/lang/it-IT.rc +++ b/reactos/base/applications/sndvol32/lang/it-IT.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Proprietā" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixer:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Annulla", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/ja-JP.rc b/reactos/base/applications/sndvol32/lang/ja-JP.rc index 3003db611fe..8e4955f2376 100644 --- a/reactos/base/applications/sndvol32/lang/ja-JP.rc +++ b/reactos/base/applications/sndvol32/lang/ja-JP.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "ƒvƒƒpƒeƒB" -FONT 9, "MS UI Gothic", 0, 0, 0x0 +FONT 9, "MS UI Gothic" BEGIN LTEXT "ƒ~ƒLƒT[ ƒfƒoƒCƒX(&M):", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "ƒLƒƒƒ“ƒZƒ‹", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 9, "MS UI Gothic" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/ko-KR.rc b/reactos/base/applications/sndvol32/lang/ko-KR.rc index c03a63b592b..b537ff49d1a 100644 --- a/reactos/base/applications/sndvol32/lang/ko-KR.rc +++ b/reactos/base/applications/sndvol32/lang/ko-KR.rc @@ -29,7 +29,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "ŧĶŧē" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "šÍŧ­ ĀåÄĄ(&M):", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -44,3 +44,17 @@ BEGIN PUSHBUTTON "ČŽĀÎ", IDOK, 114,226,50,14 PUSHBUTTON "ÃëŧŌ", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/lt-LT.rc b/reactos/base/applications/sndvol32/lang/lt-LT.rc index 0b1ad41922b..503990cdb3f 100644 --- a/reactos/base/applications/sndvol32/lang/lt-LT.rc +++ b/reactos/base/applications/sndvol32/lang/lt-LT.rc @@ -28,7 +28,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Nustatymai" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Garsø maiđymo árenginys:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -43,3 +43,17 @@ BEGIN PUSHBUTTON "Gerai", IDOK, 114,226,50,14 PUSHBUTTON "Atsisakyti", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/nl-NL.rc b/reactos/base/applications/sndvol32/lang/nl-NL.rc index 012d78ea774..b9d39dc92e0 100644 --- a/reactos/base/applications/sndvol32/lang/nl-NL.rc +++ b/reactos/base/applications/sndvol32/lang/nl-NL.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Eigenschappen" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixerapparaat:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Annuleren", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/no-NO.rc b/reactos/base/applications/sndvol32/lang/no-NO.rc index a64e8591dc5..f124d3abaa7 100644 --- a/reactos/base/applications/sndvol32/lang/no-NO.rc +++ b/reactos/base/applications/sndvol32/lang/no-NO.rc @@ -26,7 +26,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Egenskaper" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mikser enhet:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -41,3 +41,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/pl-PL.rc b/reactos/base/applications/sndvol32/lang/pl-PL.rc index ca2b80e7c3e..ee226dd2cac 100644 --- a/reactos/base/applications/sndvol32/lang/pl-PL.rc +++ b/reactos/base/applications/sndvol32/lang/pl-PL.rc @@ -34,7 +34,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Wŗaœciwoœci" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "Urzšdzenie &miksujšce", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -50,10 +50,10 @@ BEGIN PUSHBUTTON "Anuluj", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" -{ +BEGIN LTEXT "Kanaŗ gŗķwny", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balans", -1, 4, 35, 80, 42 @@ -62,4 +62,4 @@ FONT 8, "MS Shell Dlg" CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 CHECKBOX "&Wycisz", IDC_LINE_SWITCH, 4, 190, 90, 12 CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 -} +END diff --git a/reactos/base/applications/sndvol32/lang/pt-BR.rc b/reactos/base/applications/sndvol32/lang/pt-BR.rc index 1ac83c3b29e..4e3587f9664 100644 --- a/reactos/base/applications/sndvol32/lang/pt-BR.rc +++ b/reactos/base/applications/sndvol32/lang/pt-BR.rc @@ -32,7 +32,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Propriedades" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "Dispositivo de &mixagem:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -47,3 +47,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/ru-RU.rc b/reactos/base/applications/sndvol32/lang/ru-RU.rc index 2df0d40ff4d..0e418146820 100644 --- a/reactos/base/applications/sndvol32/lang/ru-RU.rc +++ b/reactos/base/applications/sndvol32/lang/ru-RU.rc @@ -28,7 +28,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Ņâîéņōâā" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Ėčęøåđ:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -43,3 +43,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Îōėåíā", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/sk-SK.rc b/reactos/base/applications/sndvol32/lang/sk-SK.rc index dab622215d0..4235f12a9fe 100644 --- a/reactos/base/applications/sndvol32/lang/sk-SK.rc +++ b/reactos/base/applications/sndvol32/lang/sk-SK.rc @@ -30,7 +30,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Vlastnosti" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Zariadenie zmiešavača:", -1, 7,4,43,16 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -45,3 +45,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Zruši", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/sv-SE.rc b/reactos/base/applications/sndvol32/lang/sv-SE.rc index 14f7f493dde..ef9c1ed6558 100644 --- a/reactos/base/applications/sndvol32/lang/sv-SE.rc +++ b/reactos/base/applications/sndvol32/lang/sv-SE.rc @@ -46,7 +46,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Inställningar" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Mixerenhet:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -61,3 +61,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/th-TH.rc b/reactos/base/applications/sndvol32/lang/th-TH.rc index fa7a65ac1f6..185ccc3af59 100644 --- a/reactos/base/applications/sndvol32/lang/th-TH.rc +++ b/reactos/base/applications/sndvol32/lang/th-TH.rc @@ -34,7 +34,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "¤ØŗĘÁēŅĩÔ" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "ÍØģĄÃŗė&ģÃŅēáĩč§āĘÕ§:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -49,3 +49,17 @@ BEGIN PUSHBUTTON "ĩĄÅ§", IDOK, 114,226,50,14 PUSHBUTTON "ÂĄāÅÔĄ", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END diff --git a/reactos/base/applications/sndvol32/lang/uk-UA.rc b/reactos/base/applications/sndvol32/lang/uk-UA.rc index 92ea581bf7d..332516c10e9 100644 --- a/reactos/base/applications/sndvol32/lang/uk-UA.rc +++ b/reactos/base/applications/sndvol32/lang/uk-UA.rc @@ -34,7 +34,7 @@ END IDD_PREFERENCES DIALOGEX 0, 0, 224, 250 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Âëāņōčâîņōŗ" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 +FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Ėŗęøåđ:", -1, 7,8,48,9 COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP @@ -49,3 +49,17 @@ BEGIN PUSHBUTTON "OK", IDOK, 114,226,50,14 PUSHBUTTON "Ņęāņķâāōč", IDCANCEL, 168,226,50,14 END + +IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Volume", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +END From bec28e056ef903050f3bfa24272102d586586b86 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Sat, 9 Apr 2011 15:21:22 +0000 Subject: [PATCH 26/48] Partial revert, as explained on ML. Sry... svn path=/trunk/; revision=51297 --- reactos/base/applications/sndvol32/lang/bg-BG.rc | 2 +- reactos/base/applications/sndvol32/lang/cs-CZ.rc | 2 +- reactos/base/applications/sndvol32/lang/de-DE.rc | 2 +- reactos/base/applications/sndvol32/lang/el-GR.rc | 2 +- reactos/base/applications/sndvol32/lang/en-US.rc | 2 +- reactos/base/applications/sndvol32/lang/es-ES.rc | 2 +- reactos/base/applications/sndvol32/lang/fr-FR.rc | 2 +- reactos/base/applications/sndvol32/lang/hu-HU.rc | 2 +- reactos/base/applications/sndvol32/lang/id-ID.rc | 2 +- reactos/base/applications/sndvol32/lang/it-IT.rc | 2 +- reactos/base/applications/sndvol32/lang/ja-JP.rc | 2 +- reactos/base/applications/sndvol32/lang/ko-KR.rc | 2 +- reactos/base/applications/sndvol32/lang/lt-LT.rc | 2 +- reactos/base/applications/sndvol32/lang/nl-NL.rc | 2 +- reactos/base/applications/sndvol32/lang/no-NO.rc | 2 +- reactos/base/applications/sndvol32/lang/pl-PL.rc | 2 +- reactos/base/applications/sndvol32/lang/pt-BR.rc | 2 +- reactos/base/applications/sndvol32/lang/ru-RU.rc | 2 +- reactos/base/applications/sndvol32/lang/sk-SK.rc | 2 +- reactos/base/applications/sndvol32/lang/sv-SE.rc | 2 +- reactos/base/applications/sndvol32/lang/th-TH.rc | 2 +- reactos/base/applications/sndvol32/lang/uk-UA.rc | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/reactos/base/applications/sndvol32/lang/bg-BG.rc b/reactos/base/applications/sndvol32/lang/bg-BG.rc index c1927f2d649..7b5f30b2e58 100644 --- a/reactos/base/applications/sndvol32/lang/bg-BG.rc +++ b/reactos/base/applications/sndvol32/lang/bg-BG.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Îōęāį", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOGE0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/cs-CZ.rc b/reactos/base/applications/sndvol32/lang/cs-CZ.rc index 9e737209577..59ea4472c47 100644 --- a/reactos/base/applications/sndvol32/lang/cs-CZ.rc +++ b/reactos/base/applications/sndvol32/lang/cs-CZ.rc @@ -48,7 +48,7 @@ BEGIN PUSHBUTTON "Storno", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/de-DE.rc b/reactos/base/applications/sndvol32/lang/de-DE.rc index 8cdfa1058eb..62649adfdcb 100644 --- a/reactos/base/applications/sndvol32/lang/de-DE.rc +++ b/reactos/base/applications/sndvol32/lang/de-DE.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Abbrechen", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/el-GR.rc b/reactos/base/applications/sndvol32/lang/el-GR.rc index a535250aaa7..494562634a5 100644 --- a/reactos/base/applications/sndvol32/lang/el-GR.rc +++ b/reactos/base/applications/sndvol32/lang/el-GR.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "ĸęõņī", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/en-US.rc b/reactos/base/applications/sndvol32/lang/en-US.rc index bc2a63ed644..7cfb7463cff 100644 --- a/reactos/base/applications/sndvol32/lang/en-US.rc +++ b/reactos/base/applications/sndvol32/lang/en-US.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Cancel", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/es-ES.rc b/reactos/base/applications/sndvol32/lang/es-ES.rc index fdbde68f3a9..87679de56a2 100644 --- a/reactos/base/applications/sndvol32/lang/es-ES.rc +++ b/reactos/base/applications/sndvol32/lang/es-ES.rc @@ -46,7 +46,7 @@ BEGIN PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/fr-FR.rc b/reactos/base/applications/sndvol32/lang/fr-FR.rc index 88040752989..b43fb850b10 100644 --- a/reactos/base/applications/sndvol32/lang/fr-FR.rc +++ b/reactos/base/applications/sndvol32/lang/fr-FR.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Annuler", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/hu-HU.rc b/reactos/base/applications/sndvol32/lang/hu-HU.rc index 0cf10ea2603..22c9a1b5712 100644 --- a/reactos/base/applications/sndvol32/lang/hu-HU.rc +++ b/reactos/base/applications/sndvol32/lang/hu-HU.rc @@ -46,7 +46,7 @@ BEGIN PUSHBUTTON "Mégse", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/id-ID.rc b/reactos/base/applications/sndvol32/lang/id-ID.rc index 25f6a97daaf..487e5fd7630 100644 --- a/reactos/base/applications/sndvol32/lang/id-ID.rc +++ b/reactos/base/applications/sndvol32/lang/id-ID.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Batal", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/it-IT.rc b/reactos/base/applications/sndvol32/lang/it-IT.rc index 0897c1b922b..ad7733250e6 100644 --- a/reactos/base/applications/sndvol32/lang/it-IT.rc +++ b/reactos/base/applications/sndvol32/lang/it-IT.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Annulla", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/ja-JP.rc b/reactos/base/applications/sndvol32/lang/ja-JP.rc index 8e4955f2376..fbc946cf7b9 100644 --- a/reactos/base/applications/sndvol32/lang/ja-JP.rc +++ b/reactos/base/applications/sndvol32/lang/ja-JP.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "ƒLƒƒƒ“ƒZƒ‹", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 9, "MS UI Gothic" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/ko-KR.rc b/reactos/base/applications/sndvol32/lang/ko-KR.rc index b537ff49d1a..0a6458b4158 100644 --- a/reactos/base/applications/sndvol32/lang/ko-KR.rc +++ b/reactos/base/applications/sndvol32/lang/ko-KR.rc @@ -45,7 +45,7 @@ BEGIN PUSHBUTTON "ÃëŧŌ", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/lt-LT.rc b/reactos/base/applications/sndvol32/lang/lt-LT.rc index 503990cdb3f..00a5da58c75 100644 --- a/reactos/base/applications/sndvol32/lang/lt-LT.rc +++ b/reactos/base/applications/sndvol32/lang/lt-LT.rc @@ -44,7 +44,7 @@ BEGIN PUSHBUTTON "Atsisakyti", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/nl-NL.rc b/reactos/base/applications/sndvol32/lang/nl-NL.rc index b9d39dc92e0..599f8f2ea8f 100644 --- a/reactos/base/applications/sndvol32/lang/nl-NL.rc +++ b/reactos/base/applications/sndvol32/lang/nl-NL.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Annuleren", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/no-NO.rc b/reactos/base/applications/sndvol32/lang/no-NO.rc index f124d3abaa7..71157947276 100644 --- a/reactos/base/applications/sndvol32/lang/no-NO.rc +++ b/reactos/base/applications/sndvol32/lang/no-NO.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/pl-PL.rc b/reactos/base/applications/sndvol32/lang/pl-PL.rc index ee226dd2cac..293096030af 100644 --- a/reactos/base/applications/sndvol32/lang/pl-PL.rc +++ b/reactos/base/applications/sndvol32/lang/pl-PL.rc @@ -50,7 +50,7 @@ BEGIN PUSHBUTTON "Anuluj", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/pt-BR.rc b/reactos/base/applications/sndvol32/lang/pt-BR.rc index 4e3587f9664..7e33c7a5ffa 100644 --- a/reactos/base/applications/sndvol32/lang/pt-BR.rc +++ b/reactos/base/applications/sndvol32/lang/pt-BR.rc @@ -48,7 +48,7 @@ BEGIN PUSHBUTTON "Cancelar", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/ru-RU.rc b/reactos/base/applications/sndvol32/lang/ru-RU.rc index 0e418146820..1fc2c86b91b 100644 --- a/reactos/base/applications/sndvol32/lang/ru-RU.rc +++ b/reactos/base/applications/sndvol32/lang/ru-RU.rc @@ -44,7 +44,7 @@ BEGIN PUSHBUTTON "Îōėåíā", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/sk-SK.rc b/reactos/base/applications/sndvol32/lang/sk-SK.rc index 4235f12a9fe..8a9e1960bdc 100644 --- a/reactos/base/applications/sndvol32/lang/sk-SK.rc +++ b/reactos/base/applications/sndvol32/lang/sk-SK.rc @@ -46,7 +46,7 @@ BEGIN PUSHBUTTON "Zruši", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/sv-SE.rc b/reactos/base/applications/sndvol32/lang/sv-SE.rc index ef9c1ed6558..f10445e2e95 100644 --- a/reactos/base/applications/sndvol32/lang/sv-SE.rc +++ b/reactos/base/applications/sndvol32/lang/sv-SE.rc @@ -62,7 +62,7 @@ BEGIN PUSHBUTTON "Avbryt", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/th-TH.rc b/reactos/base/applications/sndvol32/lang/th-TH.rc index 185ccc3af59..6033a5210bd 100644 --- a/reactos/base/applications/sndvol32/lang/th-TH.rc +++ b/reactos/base/applications/sndvol32/lang/th-TH.rc @@ -50,7 +50,7 @@ BEGIN PUSHBUTTON "ÂĄāÅÔĄ", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN diff --git a/reactos/base/applications/sndvol32/lang/uk-UA.rc b/reactos/base/applications/sndvol32/lang/uk-UA.rc index 332516c10e9..8683013dab2 100644 --- a/reactos/base/applications/sndvol32/lang/uk-UA.rc +++ b/reactos/base/applications/sndvol32/lang/uk-UA.rc @@ -50,7 +50,7 @@ BEGIN PUSHBUTTON "Ņęāņķâāōč", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGEX 0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN From 057f63269309a6b70793568e155104775811d85a Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sat, 9 Apr 2011 15:28:46 +0000 Subject: [PATCH 27/48] [SNDVOL32] - Remove 'E' svn path=/trunk/; revision=51298 --- reactos/base/applications/sndvol32/lang/bg-BG.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/base/applications/sndvol32/lang/bg-BG.rc b/reactos/base/applications/sndvol32/lang/bg-BG.rc index 7b5f30b2e58..89477525d07 100644 --- a/reactos/base/applications/sndvol32/lang/bg-BG.rc +++ b/reactos/base/applications/sndvol32/lang/bg-BG.rc @@ -42,7 +42,7 @@ BEGIN PUSHBUTTON "Îōęāį", IDCANCEL, 168,226,50,14 END -IDD_VOLUME_CTRL DIALOGE0, 0, 90, 150 +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN From e6b7c8a1e1437544e5efe7722e9aa007591f18f5 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sat, 9 Apr 2011 16:34:15 +0000 Subject: [PATCH 28/48] =?UTF-8?q?[EXPLORER=5FNEW]=20-=20Use=20ReactOS=20re?= =?UTF-8?q?gistry=20key=20for=20ReactOS=20features=20-=20Patch=20by=20Edij?= =?UTF-8?q?us=20Kolesnikovi=C3=84=C2=8Ds,=20terminedijs@yahoo.com?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=51300 --- reactos/base/shell/explorer-new/trayntfy.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reactos/base/shell/explorer-new/trayntfy.c b/reactos/base/shell/explorer-new/trayntfy.c index 086ba2257d2..5d8cb77c533 100644 --- a/reactos/base/shell/explorer-new/trayntfy.c +++ b/reactos/base/shell/explorer-new/trayntfy.c @@ -19,14 +19,13 @@ */ #include -#include /* * TrayClockWnd */ static const TCHAR szTrayClockWndClass[] = TEXT("TrayClockWClass"); -static LPCTSTR s_szRegistryKey = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"); +static LPCTSTR s_szRegistryKey = _T("Software\\ReactOS\\Features\\Explorer"); BOOL blShowSeconds; #define ID_TRAYCLOCK_TIMER 0 From 36147ed99d110c984569c29c36d9ddb6b4967ecd Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 9 Apr 2011 19:12:49 +0000 Subject: [PATCH 29/48] add some tests for GetKeyState and SetCursorPos svn path=/trunk/; revision=51304 --- rostests/apitests/user32/GetKeyState.c | 127 ++++++++++++++++++ rostests/apitests/user32/SetCursorPos.c | 41 ++++++ rostests/apitests/user32/testlist.c | 5 +- .../apitests/user32/user32_apitest.rbuild | 2 + 4 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 rostests/apitests/user32/GetKeyState.c create mode 100644 rostests/apitests/user32/SetCursorPos.c diff --git a/rostests/apitests/user32/GetKeyState.c b/rostests/apitests/user32/GetKeyState.c new file mode 100644 index 00000000000..8bc2b9959d8 --- /dev/null +++ b/rostests/apitests/user32/GetKeyState.c @@ -0,0 +1,127 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Test for GetKeyState + * PROGRAMMERS: Giannis Adamopoulos + */ + +#include +#include +#include +#include + +HHOOK hKbdHook, hKbdLLHook; + + +LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam) +{ + BOOL pressed = !(lParam & (1<<31)); + BOOL altPressed = lParam & (1<<29); + + if(pressed) + { + ok(altPressed,"\n"); + ok((GetKeyState(VK_MENU) & 0x8000), "Alt should not be pressed\n"); + } + else + { + ok(!altPressed,"\n"); + ok(!(GetKeyState(VK_MENU) & 0x8000), "Alt should be pressed\n"); + } + + return CallNextHookEx(hKbdHook, code, wParam, lParam); +} + +LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) +{ + PKBDLLHOOKSTRUCT pLLHook = (PKBDLLHOOKSTRUCT)lParam; + + if(wParam == WM_SYSKEYDOWN) + { + ok(pLLHook->flags & LLKHF_ALTDOWN,"Didn't get LLKHF_ALTDOWN flag\n"); + ok((GetAsyncKeyState (VK_MENU) & 0x8000), "Alt should not be pressed in global kbd status\n"); + ok(!(GetKeyState(VK_MENU) & 0x8000), "Alt should not be pressed in queue state\n"); + } + else if(wParam == WM_SYSKEYUP) + { + ok(!(pLLHook->flags & LLKHF_ALTDOWN),"got LLKHF_ALTDOWN flag\n"); + ok(!(GetAsyncKeyState (VK_MENU) & 0x8000), "Alt should not be pressed in global kbd status\n"); + ok((GetKeyState(VK_MENU) & 0x8000), "Alt should be pressed in queue state\n"); + } + + return CallNextHookEx(hKbdLLHook, nCode, wParam, lParam); +} + +static LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + return DefWindowProcA( hWnd, msg, wParam, lParam ); +} + +static HWND CreateTestWindow() +{ + MSG msg; + WNDCLASSA wclass; + HANDLE hInstance = GetModuleHandleA( NULL ); + HWND hWndTest; + + wclass.lpszClassName = "InputSysKeyTestClass"; + wclass.style = CS_HREDRAW | CS_VREDRAW; + wclass.lpfnWndProc = WndProc; + wclass.hInstance = hInstance; + wclass.hIcon = LoadIconA( 0, IDI_APPLICATION ); + wclass.hCursor = LoadCursorA( NULL, IDC_ARROW ); + wclass.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 ); + wclass.lpszMenuName = 0; + wclass.cbClsExtra = 0; + wclass.cbWndExtra = 0; + RegisterClassA( &wclass ); + /* create the test window that will receive the keystrokes */ + hWndTest = CreateWindowA( wclass.lpszClassName, "InputSysKeyTest", + WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 100, 100, + NULL, NULL, hInstance, NULL); + assert( hWndTest ); + ShowWindow( hWndTest, SW_SHOW); + SetWindowPos( hWndTest, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE ); + SetForegroundWindow( hWndTest ); + UpdateWindow( hWndTest); + + /* flush pending messages */ + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + return hWndTest; +} + +void Test_GetKeyState() +{ + HWND hwnd; + MSG msg; + + hwnd = CreateTestWindow(); + + hKbdHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandleA( NULL ), 0); + hKbdLLHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, GetModuleHandleA( NULL ), 0); + + ok(hKbdHook!=NULL," \n"); + ok(hKbdLLHook!=NULL," \n"); + + keybd_event(VK_MENU, 0, 0,0); + + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP,0); + + //fixme this hangs the test + //while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE|PM_NOYIELD )) DispatchMessageA( &msg ); + + DestroyWindow(hwnd); + + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + UnhookWindowsHookEx (hKbdHook); + UnhookWindowsHookEx (hKbdLLHook); +} + +START_TEST(GetKeyState) +{ + Test_GetKeyState(); +} \ No newline at end of file diff --git a/rostests/apitests/user32/SetCursorPos.c b/rostests/apitests/user32/SetCursorPos.c new file mode 100644 index 00000000000..8896f986f26 --- /dev/null +++ b/rostests/apitests/user32/SetCursorPos.c @@ -0,0 +1,41 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Test for SetCursorPos + * PROGRAMMERS: Giannis Adamopoulos + */ + +#include +#include +#include +#include + +HHOOK hMouseHook; +int hook_calls = 0; + +LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) +{ + hook_calls++; + return CallNextHookEx(hMouseHook, nCode, wParam, lParam); +} + +void Test_SetCursorPos() +{ + hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, GetModuleHandleA( NULL ), 0); + ok(hMouseHook!=NULL,"failed to set hook\n"); + + /* try SetCursorPos */ + SetCursorPos(0,0); + ok (hook_calls == 0, "hooks shouldn't be called\n"); + + /* try mouse_event with MOUSEEVENTF_MOVE*/ + mouse_event(MOUSEEVENTF_MOVE, 100,100, 0,0); + ok (hook_calls == 1, "hooks should have been called\n"); + + UnhookWindowsHookEx (hMouseHook); +} + +START_TEST(SetCursorPos) +{ + Test_SetCursorPos(); +} \ No newline at end of file diff --git a/rostests/apitests/user32/testlist.c b/rostests/apitests/user32/testlist.c index f89be66ed15..cb95521ee22 100644 --- a/rostests/apitests/user32/testlist.c +++ b/rostests/apitests/user32/testlist.c @@ -13,6 +13,8 @@ extern void func_GetSystemMetrics(void); extern void func_GetIconInfo(void); extern void func_GetPeekMessage(void); extern void func_DeferWindowPos(void); +extern void func_GetKeyState(void); +extern void func_SetCursorPos(void); const struct test winetest_testlist[] = { @@ -24,7 +26,8 @@ const struct test winetest_testlist[] = { "GetIconInfo", func_GetIconInfo }, { "GetPeekMessage", func_GetPeekMessage }, { "DeferWindowPos", func_DeferWindowPos }, - + { "GetKeyState", func_GetKeyState }, + { "SetCursorPos", func_SetCursorPos }, { 0, 0 } }; diff --git a/rostests/apitests/user32/user32_apitest.rbuild b/rostests/apitests/user32/user32_apitest.rbuild index 6f5489c31d2..e703e7905ca 100644 --- a/rostests/apitests/user32/user32_apitest.rbuild +++ b/rostests/apitests/user32/user32_apitest.rbuild @@ -10,6 +10,7 @@ testlist.c user32_apitest.rc + GetKeyState.c InitializeLpkHooks.c RealGetWindowClass.c ScrollDC.c @@ -18,6 +19,7 @@ GetIconInfo.c GetPeekMessage.c DeferWindowPos.c + SetCursorPos.c From 86153cc8a83bfb0d3bf455686b24d0437a2c2778 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sat, 9 Apr 2011 20:32:52 +0000 Subject: [PATCH 30/48] [Win32k] - Revert parts of 51283, thanks to Giannis for setting me straight on SetCursorPos and without breaking setting the Track window for TrackMouseEvent. Pass the new SetCursorPos, and wine test_TrackMouseEvent and input test_mouse_ll_hook tests. svn path=/trunk/; revision=51305 --- .../win32/win32k/include/cursoricon.h | 2 +- .../win32/win32k/include/msgqueue.h | 2 +- .../win32/win32k/ntuser/cursoricon.c | 8 +++---- reactos/subsystems/win32/win32k/ntuser/hook.c | 4 +--- .../subsystems/win32/win32k/ntuser/input.c | 24 +++++++++---------- .../subsystems/win32/win32k/ntuser/msgqueue.c | 9 ++++--- .../win32/win32k/ntuser/simplecall.c | 2 +- 7 files changed, 26 insertions(+), 25 deletions(-) diff --git a/reactos/subsystems/win32/win32k/include/cursoricon.h b/reactos/subsystems/win32/win32k/include/cursoricon.h index 90cb134ddd3..f60023c5805 100644 --- a/reactos/subsystems/win32/win32k/include/cursoricon.h +++ b/reactos/subsystems/win32/win32k/include/cursoricon.h @@ -69,7 +69,7 @@ BOOL UserDrawIconEx(HDC hDc, INT xLeft, INT yTop, PCURICON_OBJECT pIcon, INT cxW INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); PCURICON_OBJECT FASTCALL UserGetCurIconObject(HCURSOR hCurIcon); -BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo); +BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook); int UserShowCursor(BOOL bShow); diff --git a/reactos/subsystems/win32/win32k/include/msgqueue.h b/reactos/subsystems/win32/win32k/include/msgqueue.h index 870cf874527..8b6eeddf998 100644 --- a/reactos/subsystems/win32/win32k/include/msgqueue.h +++ b/reactos/subsystems/win32/win32k/include/msgqueue.h @@ -245,7 +245,7 @@ co_MsqPostKeyboardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam); VOID FASTCALL MsqPostHotKeyMessage(PVOID Thread, HWND hWnd, WPARAM wParam, LPARAM lParam); VOID FASTCALL -co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo); +co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook); BOOL FASTCALL MsqIsClkLck(LPMSG Msg, BOOL Remove); BOOL FASTCALL diff --git a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c index 54033c258ef..488c2f3ad40 100644 --- a/reactos/subsystems/win32/win32k/ntuser/cursoricon.c +++ b/reactos/subsystems/win32/win32k/ntuser/cursoricon.c @@ -159,7 +159,7 @@ UserSetCursor( return OldCursor; } -BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo) +BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook) { PWND DesktopWindow; PSYSTEM_CURSORINFO CurInfo; @@ -194,12 +194,12 @@ BOOL UserSetCursorPos( INT x, INT y, DWORD flags, ULONG_PTR dwExtraInfo) pt.x = x; pt.y = y; - /* 3. Generate a mouse move message, this sets the htEx. */ + /* 3. Generate a mouse move message, this sets the htEx and Track Window too. */ Msg.message = WM_MOUSEMOVE; Msg.wParam = CurInfo->ButtonsDown; Msg.lParam = MAKELPARAM(x, y); Msg.pt = pt; - co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, flags, dwExtraInfo, Hook); /* 1. Store the new cursor position */ gpsi->ptCursor = pt; @@ -677,7 +677,7 @@ UserClipCursor( { CurInfo->bClipped = TRUE; RECTL_bIntersectRect(&CurInfo->rcClip, prcl, &DesktopWindow->rcWindow); - UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y, 0, 0); + UserSetCursorPos(gpsi->ptCursor.x, gpsi->ptCursor.y, 0, 0, FALSE); } else { diff --git a/reactos/subsystems/win32/win32k/ntuser/hook.c b/reactos/subsystems/win32/win32k/ntuser/hook.c index e252716f921..466232d6b43 100644 --- a/reactos/subsystems/win32/win32k/ntuser/hook.c +++ b/reactos/subsystems/win32/win32k/ntuser/hook.c @@ -1046,7 +1046,7 @@ co_HOOK_CallHooks( INT HookId, ObDereferenceObject(Hook->Thread); } - if ( Global && !pti->sphkCurrent) + if ( Global ) { PTHREADINFO ptiHook; @@ -1061,7 +1061,6 @@ co_HOOK_CallHooks( INT HookId, * hook ID, this will have to post to each of the thread message queues * or make a direct call. */ - pti->sphkCurrent = Hook; // Prevent recursion within this thread. do { /* Hook->Thread is null, we hax around this with Hook->head.pti. */ @@ -1109,7 +1108,6 @@ co_HOOK_CallHooks( INT HookId, } while ( Hook ); DPRINT("Ret: Global HookId %d Result 0x%x\n", HookId,Result); - pti->sphkCurrent = NULL; } Exit: return Result; diff --git a/reactos/subsystems/win32/win32k/ntuser/input.c b/reactos/subsystems/win32/win32k/ntuser/input.c index 6d7d7eacbc3..8e627548112 100644 --- a/reactos/subsystems/win32/win32k/ntuser/input.c +++ b/reactos/subsystems/win32/win32k/ntuser/input.c @@ -1138,7 +1138,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) if(mi->dwFlags & MOUSEEVENTF_MOVE) { - UserSetCursorPos(MousePos.x, MousePos.y, Injected, mi->dwExtraInfo); + UserSetCursorPos(MousePos.x, MousePos.y, Injected, mi->dwExtraInfo, TRUE); } if(mi->dwFlags & MOUSEEVENTF_LEFTDOWN) { @@ -1146,7 +1146,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = SwapBtnMsg[0][SwapButtons]; CurInfo->ButtonsDown |= SwapBtn[SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } else if(mi->dwFlags & MOUSEEVENTF_LEFTUP) { @@ -1154,7 +1154,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = SwapBtnMsg[1][SwapButtons]; CurInfo->ButtonsDown &= ~SwapBtn[SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } if(mi->dwFlags & MOUSEEVENTF_MIDDLEDOWN) { @@ -1162,7 +1162,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = WM_MBUTTONDOWN; CurInfo->ButtonsDown |= MK_MBUTTON; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } else if(mi->dwFlags & MOUSEEVENTF_MIDDLEUP) { @@ -1170,7 +1170,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = WM_MBUTTONUP; CurInfo->ButtonsDown &= ~MK_MBUTTON; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } if(mi->dwFlags & MOUSEEVENTF_RIGHTDOWN) { @@ -1178,7 +1178,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = SwapBtnMsg[0][!SwapButtons]; CurInfo->ButtonsDown |= SwapBtn[!SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } else if(mi->dwFlags & MOUSEEVENTF_RIGHTUP) { @@ -1186,7 +1186,7 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) Msg.message = SwapBtnMsg[1][!SwapButtons]; CurInfo->ButtonsDown &= ~SwapBtn[!SwapButtons]; Msg.wParam |= CurInfo->ButtonsDown; - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } if((mi->dwFlags & (MOUSEEVENTF_XDOWN | MOUSEEVENTF_XUP)) && @@ -1204,14 +1204,14 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) gQueueKeyStateTable[VK_XBUTTON1] |= 0xc0; CurInfo->ButtonsDown |= MK_XBUTTON1; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON1); - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } if(mi->mouseData & XBUTTON2) { gQueueKeyStateTable[VK_XBUTTON2] |= 0xc0; CurInfo->ButtonsDown |= MK_XBUTTON2; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON2); - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } } else if(mi->dwFlags & MOUSEEVENTF_XUP) @@ -1222,21 +1222,21 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected) gQueueKeyStateTable[VK_XBUTTON1] &= ~0x80; CurInfo->ButtonsDown &= ~MK_XBUTTON1; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON1); - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } if(mi->mouseData & XBUTTON2) { gQueueKeyStateTable[VK_XBUTTON2] &= ~0x80; CurInfo->ButtonsDown &= ~MK_XBUTTON2; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, XBUTTON2); - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } } if(mi->dwFlags & MOUSEEVENTF_WHEEL) { Msg.message = WM_MOUSEWHEEL; Msg.wParam = MAKEWPARAM(CurInfo->ButtonsDown, mi->mouseData); - co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo); + co_MsqInsertMouseMessage(&Msg, Injected, mi->dwExtraInfo, TRUE); } return TRUE; diff --git a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c index 2fb518dfed3..8c036a415e1 100644 --- a/reactos/subsystems/win32/win32k/ntuser/msgqueue.c +++ b/reactos/subsystems/win32/win32k/ntuser/msgqueue.c @@ -291,7 +291,7 @@ MsqPostMouseMove(PUSER_MESSAGE_QUEUE MessageQueue, MSG* Msg) } VOID FASTCALL -co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo) +co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook) { LARGE_INTEGER LargeTickCount; MSLLHOOKSTRUCT MouseHookData; @@ -326,8 +326,11 @@ co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo) MouseHookData.dwExtraInfo = dwExtraInfo; /* If the hook procedure returned non zero, dont send the message */ - if (co_HOOK_CallHooks(WH_MOUSE_LL, HC_ACTION, Msg->message, (LPARAM) &MouseHookData)) - return; + if (Hook) + { + if (co_HOOK_CallHooks(WH_MOUSE_LL, HC_ACTION, Msg->message, (LPARAM) &MouseHookData)) + return; + } /* Get the desktop window */ pwndDesktop = UserGetDesktopWindow(); diff --git a/reactos/subsystems/win32/win32k/ntuser/simplecall.c b/reactos/subsystems/win32/win32k/ntuser/simplecall.c index c7de5ca265a..af25a1f1a97 100644 --- a/reactos/subsystems/win32/win32k/ntuser/simplecall.c +++ b/reactos/subsystems/win32/win32k/ntuser/simplecall.c @@ -473,7 +473,7 @@ NtUserCallTwoParam( RETURN( (DWORD_PTR)co_IntRegisterLogonProcess((HANDLE)Param1, (BOOL)Param2)); case TWOPARAM_ROUTINE_SETCURSORPOS: - RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2, 0, 0)); + RETURN( (DWORD_PTR)UserSetCursorPos((int)Param1, (int)Param2, 0, 0, FALSE)); case TWOPARAM_ROUTINE_UNHOOKWINDOWSHOOK: RETURN( IntUnhookWindowsHook((int)Param1, (HOOKPROC)Param2)); From e5989efb7f00abdffd78406cd5205c8c94b779ef Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sat, 9 Apr 2011 20:41:04 +0000 Subject: [PATCH 31/48] - Fix build svn path=/trunk/; revision=51306 --- reactos/subsystems/win32/win32k/ntuser/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index 52de61e35c2..d11c0df436c 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -2575,7 +2575,7 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWND Window) msg.wParam = IntGetSysCursorInfo()->ButtonsDown; msg.lParam = MAKELPARAM(gpsi->ptCursor.x, gpsi->ptCursor.y); msg.pt = gpsi->ptCursor; - co_MsqInsertMouseMessage(&msg, 0, 0); + co_MsqInsertMouseMessage(&msg, 0, 0, TRUE); if (!IntIsWindow(Window->head.h)) { From 588882aa0074349225487ac5c1b014fc7d6fc860 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 9 Apr 2011 21:02:25 +0000 Subject: [PATCH 32/48] [DOSKEY/SNDREC32] - Activate polish translations. Patch by Adam Stachowicz. svn path=/trunk/; revision=51307 --- reactos/base/applications/cmdutils/doskey/doskey.rc | 1 + reactos/base/applications/sndrec32/rsrc.rc | 1 + 2 files changed, 2 insertions(+) diff --git a/reactos/base/applications/cmdutils/doskey/doskey.rc b/reactos/base/applications/cmdutils/doskey/doskey.rc index 53772107152..d469d09fec8 100644 --- a/reactos/base/applications/cmdutils/doskey/doskey.rc +++ b/reactos/base/applications/cmdutils/doskey/doskey.rc @@ -9,4 +9,5 @@ #include "lang/bg-BG.rc" #include "lang/de-DE.rc" #include "lang/en-US.rc" +#include "lang/pl-PL.rc" #include "lang/uk-UA.rc" diff --git a/reactos/base/applications/sndrec32/rsrc.rc b/reactos/base/applications/sndrec32/rsrc.rc index a07dd405852..adc11abe1a4 100644 --- a/reactos/base/applications/sndrec32/rsrc.rc +++ b/reactos/base/applications/sndrec32/rsrc.rc @@ -21,6 +21,7 @@ IDB_BITMAP2_STOP_DIS BITMAP "resources/but_stop_dis.bmp" #include "lang/es-ES.rc" #include "lang/it-IT.rc" #include "lang/ja-JP.rc" +#include "lang/pl-PL.rc" #include "lang/sk-SK.rc" #include "lang/uk-UA.rc" From efe9675fbda383f0188ad9366114a102141ccd0e Mon Sep 17 00:00:00 2001 From: Olaf Siejka Date: Sun, 10 Apr 2011 08:49:31 +0000 Subject: [PATCH 33/48] [WIN32CSR] Polish translation of Command prompt window title svn path=/trunk/; revision=51308 --- reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc b/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc index 8ca9f167e8a..3d9d5d2a318 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/pl-PL.rc @@ -2,6 +2,7 @@ * translated by xrogers (http://rogers.cyberdusk.pl/) * xxrogers@users.sourceforge.net * https://sourceforge.net/projects/reactospl +* translation update by Olaf Siejka (Caemyr), Apr 2011 */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -59,5 +60,5 @@ BEGIN IDS_SCROLLUP "Przewiņ do gķry" IDS_SCROLLDOWN "Przewiņ na dķŗ" - IDS_COMMAND_PROMPT "Command Prompt" + IDS_COMMAND_PROMPT "Wiersz polecenia" END From d896f82fa7d0a00e7919a44fc49148eebf1928f3 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sun, 10 Apr 2011 10:44:05 +0000 Subject: [PATCH 34/48] [SHELL32] - Fix control style of property dialogs - Patch Edijs Kolesnikovics, terminedijs@yahoo.com, irc:Edijus svn path=/trunk/; revision=51309 --- reactos/dll/win32/shell32/lang/bg-BG.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/ca-ES.rc | 46 ++++++++++++------------- reactos/dll/win32/shell32/lang/cs-CZ.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/da-DK.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/de-DE.rc | 46 ++++++++++++------------- reactos/dll/win32/shell32/lang/el-GR.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/en-GB.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/en-US.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/es-ES.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/fi-FI.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/fr-FR.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/hu-HU.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/it-IT.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/ja-JP.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/ko-KR.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/nl-NL.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/no-NO.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/pl-PL.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/pt-BR.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/pt-PT.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/ro-RO.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/ru-RU.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/sk-SK.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/sl-SI.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/sv-SE.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/tr-TR.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/uk-UA.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/zh-CN.rc | 44 +++++++++++------------ reactos/dll/win32/shell32/lang/zh-TW.rc | 44 +++++++++++------------ 29 files changed, 640 insertions(+), 640 deletions(-) diff --git a/reactos/dll/win32/shell32/lang/bg-BG.rc b/reactos/dll/win32/shell32/lang/bg-BG.rc index 36a5cf5e23b..4f2b2f9eaa2 100644 --- a/reactos/dll/win32/shell32/lang/bg-BG.rc +++ b/reactos/dll/win32/shell32/lang/bg-BG.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Âčä íā öåëōā:", 14004, 10, 30, 60, 10 LTEXT "", 14005, 70, 30, 150, 10 LTEXT "Ė˙ņōî íā öåëōā:", 14006, 10, 40, 60, 10 - LTEXT "", 14007, 70, 40, 150, 10 + EDITTEXT 14007, 70, 40, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Öåë:", 14008, 10, 55, 55, 10 EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT | ES_AUTOHSCROLL LTEXT "Čįīúëí˙âāíå â:",14010, 10, 65, 55, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Âčä íā ôāéëā:", 14004, 8, 35, 50, 10 LTEXT "Īāīęā", 14005, 68, 35, 160, 10 LTEXT "Ė˙ņōî:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đāįėåđ:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņúäúđæā:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņúįäāäåíî:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Ņāėî įā ÷åōåíå", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Ņęđčō", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Âčä ôāéë:", 14004, 8, 35, 50, 10 LTEXT "Ôāéë", 14005, 68, 35, 160, 10 LTEXT "Îōâāđ˙íå ņ:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ėåņōîīîëîæåíčå:", 14008, 8, 72, 61, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đāįėåđ:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņúįäāäåí:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Īđîėåíåí:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Čįīîëįâāí:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Īđčíāäëåæíîņōč", 14020, 8, 189, 60, 10 CHECKBOX "Ņāėî įā &÷åōåíå", 14021, 61, 189, 67, 10 CHECKBOX "Ņ&ęđčō", 14022, 129, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION " FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Čįäāíčå íā ôāéëā: ", 14000, 10, 10, 67, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îīčņāíčå: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Âúįīđîčįâîäņōâåíî īđāâî: ", 14004, 10, 46, 68, 16 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Äđķãč ņâåäåíč˙ įā čįäāíčåōî", 14006, 6, 70, 222, 115 LTEXT "Čėå íā īđåäėåōā: ", 14007, 13, 82, 90, 10 LTEXT "Ņōîéíîņō: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Âčä:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ôāéëîâā ķđåäáā:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Čįīîëįâāíî ė˙ņōî:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Ņâîáîäíî ė˙ņōî:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îáåė:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/ca-ES.rc b/reactos/dll/win32/shell32/lang/ca-ES.rc index 80f7cb41b05..978a58fb51e 100644 --- a/reactos/dll/win32/shell32/lang/ca-ES.rc +++ b/reactos/dll/win32/shell32/lang/ca-ES.rc @@ -168,9 +168,9 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", 14000, 10, 4, 30, 30, WS_VISIBLE LTEXT "Target type:", 14004, 8, 38, 64, 10 - LTEXT "", 14005, 78, 38, 142, 10 + EDITTEXT 14005, 78, 38, 142, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/cs-CZ.rc b/reactos/dll/win32/shell32/lang/cs-CZ.rc index 7dbb4ebbd56..8914ee8a9a8 100644 --- a/reactos/dll/win32/shell32/lang/cs-CZ.rc +++ b/reactos/dll/win32/shell32/lang/cs-CZ.rc @@ -158,7 +158,7 @@ BEGIN LTEXT "Typ cíle:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Umístėní cíle:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "&Cíl:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Spustit v:", 14010, 8, 96, 57, 10 @@ -197,13 +197,13 @@ BEGIN LTEXT "Typ souboru:", 14004, 8, 35, 50, 10 LTEXT "Složka", 14005, 68, 35, 160, 10 LTEXT "Umístėní:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Velikost:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Obsahuje:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vytvoøeno:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Jen pro čtení", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Skrytũ", 14022, 126, 150, 50, 10 END @@ -218,17 +218,17 @@ BEGIN LTEXT "Typ souboru:", 14004, 8, 35, 50, 10 LTEXT "Soubor", 14005, 68, 35, 160, 10 LTEXT "Otevírat v:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Umístėní:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Velikost:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vytvoøeno:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zmėnėno:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Otevøeno:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Atributy:", 14020, 8, 189, 45, 10 CHECKBOX "&Jen pro čtení", 14021, 58, 189, 67, 10 CHECKBOX "&Skrytũ", 14022, 126, 189, 50, 10 @@ -241,11 +241,11 @@ CAPTION "Verze" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Verze souboru: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Popis: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Další informace o verzi: ", 14006, 6, 70, 222, 115 LTEXT "Název položky: ", 14007, 13, 82, 50, 10 LTEXT "Hodnota: ", 14008, 112, 82, 45, 10 @@ -260,24 +260,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Typ:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Souborovũ systém:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Využité místo:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Volné místo:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Kapacita:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/da-DK.rc b/reactos/dll/win32/shell32/lang/da-DK.rc index 00472085917..e0f9152cf03 100644 --- a/reactos/dll/win32/shell32/lang/da-DK.rc +++ b/reactos/dll/win32/shell32/lang/da-DK.rc @@ -158,7 +158,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -197,13 +197,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -219,17 +219,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -242,11 +242,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -261,24 +261,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/de-DE.rc b/reactos/dll/win32/shell32/lang/de-DE.rc index 62921561703..42cd6e5b0e5 100644 --- a/reactos/dll/win32/shell32/lang/de-DE.rc +++ b/reactos/dll/win32/shell32/lang/de-DE.rc @@ -170,9 +170,9 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON "", 14000, 10, 4, 30, 30, WS_VISIBLE LTEXT "Zieltyp:", 14004, 8, 38, 64, 10 - LTEXT "", 14005, 78, 38, 142, 10 + LTEXT "", 14005, 78, 38, 142, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zielpfad:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ziel:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Starten in:", 14010, 8, 96, 57, 10 @@ -211,13 +211,13 @@ BEGIN LTEXT "Typ:", 14004, 8, 35, 50, 10 LTEXT "Dateiordner", 14005, 68, 35, 160, 10 LTEXT "Ort:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Größe:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Inhalt:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Erstellt:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Schreibgeschützt", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Versteckt", 14022, 126, 150, 50, 10 END @@ -233,17 +233,17 @@ BEGIN LTEXT "Dateityp:", 14004, 8, 35, 50, 10 LTEXT "Datei", 14005, 68, 35, 160, 10 LTEXT "Öffnen mit:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Pfad:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Größe:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Erstellt:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Geändert:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zugegriffen:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attribute:", 14020, 8, 189, 45, 10 CHECKBOX "&Schreibgeschützt", 14021, 45, 189, 67, 10 CHECKBOX "&Versteckt", 14022, 126, 189, 50, 10 @@ -256,11 +256,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Dateiversion: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Beschreibung: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Weitere Versionsinformationen: ", 14006, 6, 70, 222, 115 LTEXT "Elementname: ", 14007, 13, 82, 50, 10 LTEXT "Wert: ", 14008, 112, 82, 45, 10 @@ -275,24 +275,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Typ:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Dateisystem:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Belegter Speicher:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Freier Speicher:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Speicherkapazität:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/el-GR.rc b/reactos/dll/win32/shell32/lang/el-GR.rc index 80506a2cedf..30542a021ec 100644 --- a/reactos/dll/win32/shell32/lang/el-GR.rc +++ b/reactos/dll/win32/shell32/lang/el-GR.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Ôũđīō đņīīņéķėīũ:", 14004, 10, 25, 50, 15 LTEXT "", 14005, 70, 30, 150, 10 LTEXT "ČŨķį đņīīņéķėīũ:", 14006, 10, 40, 70, 10 - LTEXT "", 14007, 70, 40, 150, 10 + EDITTEXT 14007, 70, 40, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đņīīņéķėüō:", 14008, 10, 55, 45, 10 EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT | ES_AUTOHSCROLL LTEXT "&Åęęßíįķį ķôī:",14010, 10, 65, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Ôũđīō áņ÷åßīõ:", 14004, 10, 30, 50, 10 LTEXT "Áņ÷åßī", 14005, 70, 30, 150, 10 LTEXT "Áíīßãåé ėå:", 14006, 10, 40, 50, 10 - LTEXT "", 14007, 70, 40, 150, 10 + EDITTEXT 14007, 70, 40, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ČŨķį:", 14008, 10, 55, 45, 10 - LTEXT "", 14009, 70, 55, 200, 10 + EDITTEXT 14009, 70, 55, 200, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ĖŨãåčīō:",14010, 10, 65, 45, 10 - LTEXT "", 14011, 70, 65, 150, 10 + EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ÄįėéīõņãŪčįęå:", 14014, 10, 80, 65, 10 - LTEXT "", 14015, 70, 80, 150, 10 + EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ÔņīđīđīéŪčįęå:", 14016, 10, 90, 65, 10 - LTEXT "", 14017, 70, 90, 150, 10 + EDITTEXT 14017, 70, 90, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ĐņīķđåëÜķôįęå:", 14018, 10, 100, 65, 10 - LTEXT "", 14019, 70, 100, 150, 10 + EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "×áņáęôįņéķôéęÜ:", 14020, 10, 115, 70, 10 CHECKBOX "&Ėüíī ãéá áíÜãíųķį", 14021, 70, 115, 75, 10 CHECKBOX "&Ęņõöü", 14022, 150, 115, 50, 10 @@ -253,11 +253,11 @@ CAPTION " FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "¸ęäīķį áņ÷åßīõ: ", 14000, 10, 10, 60, 10 - LTEXT "", 14001, 80, 10, 160, 10 + EDITTEXT 14001, 80, 10, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ĐåņéãņáöŪ: ", 14002, 10, 20, 60, 10 - LTEXT "", 14003, 80, 20, 160, 10 + EDITTEXT 14003, 80, 20, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ĐíåõėáôéęÜ äéęáéūėáôá: ", 14004, 10, 30, 70, 10 - LTEXT "", 14005, 80, 30, 160, 10 + EDITTEXT 14005, 80, 30, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "ĸëëåō đëįņīöīņßåō: ", 14006, 10, 45, 220, 90 LTEXT "ŧíīėá ķôīé÷åßīõ: ", 14007, 20, 55, 60, 10 LTEXT "ÔéėŪ: ", 14008, 130, 55, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Ôũđīō:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ķũķôįėá áņ÷åßųí:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "ÄåķėåõėŨíīō ÷ūņīō:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Åëåũčåņīō ÷ūņīō:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "×ųņįôéęüôįôá:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/en-GB.rc b/reactos/dll/win32/shell32/lang/en-GB.rc index 0b9ff3f713d..9880c9007d1 100644 --- a/reactos/dll/win32/shell32/lang/en-GB.rc +++ b/reactos/dll/win32/shell32/lang/en-GB.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/en-US.rc b/reactos/dll/win32/shell32/lang/en-US.rc index 6eaac708f7a..a7adfb3ea6e 100644 --- a/reactos/dll/win32/shell32/lang/en-US.rc +++ b/reactos/dll/win32/shell32/lang/en-US.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/es-ES.rc b/reactos/dll/win32/shell32/lang/es-ES.rc index 0bbfc4677c2..30e60b1a435 100644 --- a/reactos/dll/win32/shell32/lang/es-ES.rc +++ b/reactos/dll/win32/shell32/lang/es-ES.rc @@ -173,7 +173,7 @@ BEGIN LTEXT "Tipo de destino:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Ubicaciķn de destino:", 14006, 8, 54, 64, 14 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "&Destino:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "I&niciar en:", 14010, 8, 96, 57, 10 @@ -212,13 +212,13 @@ BEGIN LTEXT "Tipo:", 14004, 8, 35, 50, 10 LTEXT "Carpeta de archivos", 14005, 68, 35, 160, 10 LTEXT "Ubicaciķn:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Tamaņo:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contiene:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creado:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Sķlo lectura", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Oculto", 14022, 126, 150, 50, 10 END @@ -233,17 +233,17 @@ BEGIN LTEXT "Tipo de archivo:", 14004, 8, 35, 55, 10 LTEXT "Archivo", 14005, 68, 35, 160, 10 LTEXT "Se abre con:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ubicaciķn:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Tamaņo:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creado:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modificado:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Último acceso:", 14018, 8, 160, 55, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Atributos:", 14020, 8, 189, 45, 10 CHECKBOX "&Sķlo lectura", 14021, 58, 189, 67, 10 CHECKBOX "&Oculto", 14022, 126, 189, 50, 10 @@ -256,11 +256,11 @@ CAPTION "Versi FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Versiķn del archivo: ", 14000, 10, 10, 62, 14 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Descripciķn: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Más informaciķn de la versiķn: ", 14006, 6, 70, 222, 115 LTEXT "Nombre del elemento:", 14007, 13, 82, 65, 10 LTEXT "Valor: ", 14008, 112, 82, 45, 10 @@ -275,24 +275,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Tipo:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Sistema de archivos:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Espacio ocupado:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Espacio libre:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacidad:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/fi-FI.rc b/reactos/dll/win32/shell32/lang/fi-FI.rc index 125a07d9c50..9526e498dcb 100644 --- a/reactos/dll/win32/shell32/lang/fi-FI.rc +++ b/reactos/dll/win32/shell32/lang/fi-FI.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/fr-FR.rc b/reactos/dll/win32/shell32/lang/fr-FR.rc index 4083d654d9a..998d9df7ff0 100644 --- a/reactos/dll/win32/shell32/lang/fr-FR.rc +++ b/reactos/dll/win32/shell32/lang/fr-FR.rc @@ -174,7 +174,7 @@ BEGIN LTEXT "Type de la cible :", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Localisation de la cible :", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Cible :", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "Démarrer dans :", 14010, 8, 96, 57, 10 @@ -213,13 +213,13 @@ BEGIN LTEXT "Type de fichier :", 14004, 8, 35, 50, 10 LTEXT "Dossier", 14005, 68, 35, 160, 10 LTEXT "Localisation :", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Taille :", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contient :", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Créé :", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10 AUTOCHECKBOX "Lectu&re-seule", 14021, 45, 150, 67, 10 AUTOCHECKBOX "Cac&hé", 14022, 126, 150, 50, 10 END @@ -234,17 +234,17 @@ BEGIN LTEXT "Type de fichier :", 14004, 8, 35, 50, 10 LTEXT "Fichier", 14005, 68, 35, 160, 10 LTEXT "Ouvrir avec :", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Localisation :", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Taille :", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Créé :", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modifié :", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accédé :", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributs :", 14020, 8, 189, 45, 10 CHECKBOX "Lectu&re-seule", 14021, 58, 189, 67, 10 CHECKBOX "Cac&hé", 14022, 126, 189, 50, 10 @@ -257,11 +257,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Version du fichier : ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description : ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright : ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Autres informations de version : ", 14006, 6, 70, 222, 115 LTEXT "Nom de l'élément : ", 14007, 13, 82, 50, 10 LTEXT "Valeur : ", 14008, 112, 82, 45, 10 @@ -276,24 +276,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type :", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Systčme de fichiers :", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Espace utilisé :", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Espace libre :", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacité :", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/hu-HU.rc b/reactos/dll/win32/shell32/lang/hu-HU.rc index 7eb015d8ced..e4929828594 100644 --- a/reactos/dll/win32/shell32/lang/hu-HU.rc +++ b/reactos/dll/win32/shell32/lang/hu-HU.rc @@ -173,7 +173,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -212,13 +212,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -233,17 +233,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -256,11 +256,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -275,24 +275,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/it-IT.rc b/reactos/dll/win32/shell32/lang/it-IT.rc index 59d76488d56..d91d17c11f7 100644 --- a/reactos/dll/win32/shell32/lang/it-IT.rc +++ b/reactos/dll/win32/shell32/lang/it-IT.rc @@ -171,7 +171,7 @@ BEGIN LTEXT "Tipo:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Posizione:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Nome:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Eseguito in:", 14010, 8, 96, 57, 10 @@ -210,13 +210,13 @@ BEGIN LTEXT "Tipo del file:", 14004, 8, 35, 50, 10 LTEXT "Cartella", 14005, 68, 35, 160, 10 LTEXT "Posizione:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Dimensione:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contenente:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creato:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Sola lettura", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Nascosto", 14022, 126, 150, 50, 10 END @@ -231,17 +231,17 @@ BEGIN LTEXT "Tipo del file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Si apre con:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Posizione:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Dimensione:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creato:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modificato:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Letto:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributi:", 14020, 8, 189, 45, 10 CHECKBOX "&Sola lettura", 14021, 58, 189, 67, 10 CHECKBOX "&Nascosto", 14022, 126, 189, 50, 10 @@ -254,11 +254,11 @@ CAPTION "Versione" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Versione: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Descrizione: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Altre informazioni sulla versione: ", 14006, 6, 70, 222, 115 LTEXT "Nome dell'elemento: ", 14007, 13, 82, 50, 10 LTEXT "Valore: ", 14008, 112, 82, 45, 10 @@ -273,24 +273,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Tipo:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Spazio usato:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Spazio libero:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacitā:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/ja-JP.rc b/reactos/dll/win32/shell32/lang/ja-JP.rc index a671c6137a2..6270d7df62e 100644 --- a/reactos/dll/win32/shell32/lang/ja-JP.rc +++ b/reactos/dll/win32/shell32/lang/ja-JP.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "‘ÎÛ‚ĖŽí—Ū:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "‘ÎÛ‚ĖęŠ:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "‘ΏÛ:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "ŽĀsŒŗ(&S):", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "ƒtƒ@ƒCƒ‹‚ĖŽí—Ū:", 14004, 8, 35, 50, 10 LTEXT "ƒtƒHƒ‹ƒ_", 14005, 68, 35, 160, 10 LTEXT "ęŠ:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ƒTƒCƒY:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Žû—eƒTƒCƒY:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ėŦ“úŽž:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "“Į‚ŨŽæ‚čę—p(&R)", 14021, 45, 150, 67, 10 AUTOCHECKBOX "‰B‚ĩƒtƒ@ƒCƒ‹(&H)", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "ƒtƒ@ƒCƒ‹‚ĖŽí—Ū:", 14004, 8, 35, 50, 10 LTEXT "ƒtƒ@ƒCƒ‹", 14005, 68, 35, 160, 10 LTEXT "ŽĀsƒvƒƒOƒ‰ƒ€:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ęŠ:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ƒTƒCƒY:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ėŦ“úŽž:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "•ĪX“úŽž:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ƒAƒNƒZƒX“úŽž:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "‘ސĢ:", 14020, 8, 189, 45, 10 CHECKBOX "“Į‚ŨŽæ‚čę—p(&R)", 14021, 58, 189, 67, 10 CHECKBOX "‰B‚ĩƒtƒ@ƒCƒ‹(&H)", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION " FONT 9, "MS UI Gothic", 0, 0, 0x0 BEGIN LTEXT "ƒtƒ@ƒCƒ‹ƒo[ƒWƒ‡ƒ“: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ā–ž: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "’˜ėŒ : ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "‚ģ‚Ė‘ŧ‚Ėƒo[ƒWƒ‡ƒ“î•ņ: ", 14006, 6, 70, 222, 115 LTEXT "€–Ú–ŧ: ", 14007, 13, 82, 50, 10 LTEXT "’l: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 9, "MS UI Gothic", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Ží—Ū:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Žg—p—Ėˆæ:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "‹ķ‚Ģ—Ėˆæ:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "—e—Ę:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/ko-KR.rc b/reactos/dll/win32/shell32/lang/ko-KR.rc index b5d0dfa5c91..275849385a8 100644 --- a/reactos/dll/win32/shell32/lang/ko-KR.rc +++ b/reactos/dll/win32/shell32/lang/ko-KR.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/nl-NL.rc b/reactos/dll/win32/shell32/lang/nl-NL.rc index fa176ce352d..c754e703a4a 100644 --- a/reactos/dll/win32/shell32/lang/nl-NL.rc +++ b/reactos/dll/win32/shell32/lang/nl-NL.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/no-NO.rc b/reactos/dll/win32/shell32/lang/no-NO.rc index e576cb47d54..2f944c02902 100644 --- a/reactos/dll/win32/shell32/lang/no-NO.rc +++ b/reactos/dll/win32/shell32/lang/no-NO.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Plasseringstype:", 14004, 10, 30, 50, 10 LTEXT "", 14005, 70, 30, 150, 10 LTEXT "Plasseringssted:", 14006, 10, 40, 70, 10 - LTEXT "", 14007, 70, 40, 150, 10 + EDITTEXT 14007, 70, 40, 150, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Plassering:", 14008, 10, 55, 45, 10 EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT | ES_AUTOHSCROLL LTEXT "&Start i:",14010, 10, 65, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Filtype:", 14004, 8, 35, 50, 10 LTEXT "Mappe", 14005, 68, 35, 160, 10 LTEXT "Lokalisjon:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Størrelse:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Inneholder:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Opprettet:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Bare-lesbar", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Skjult", 14022, 126, 150, 50, 10 END @@ -231,17 +231,17 @@ BEGIN LTEXT "Filtype:", 14004, 8, 35, 50, 10 LTEXT "Fil", 14005, 68, 35, 160, 10 LTEXT "Åpne med:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Lokalisjon:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Størrelse:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Opprettet:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modifisert:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Åpnet:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Rettigheter:", 14020, 8, 189, 45, 10 CHECKBOX "&Bare-lesbar", 14021, 58, 189, 67, 10 CHECKBOX "&Skjult", 14022, 126, 189, 50, 10 @@ -254,11 +254,11 @@ CAPTION "Versjon" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Filversjon: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Beskrivelse: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Enerett: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Annet versjon informasjon: ", 14006, 6, 70, 222, 115 LTEXT "Enhetsnavn: ", 14007, 13, 82, 50, 10 LTEXT "Verdi: ", 14008, 112, 82, 45, 10 @@ -273,24 +273,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Filsystem:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Brukt plass:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Ledig plass:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Kapasitet:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/pl-PL.rc b/reactos/dll/win32/shell32/lang/pl-PL.rc index 2b1615b9721..d41fb99f52c 100644 --- a/reactos/dll/win32/shell32/lang/pl-PL.rc +++ b/reactos/dll/win32/shell32/lang/pl-PL.rc @@ -178,7 +178,7 @@ BEGIN LTEXT "Typ docelowy:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Lokalizacja:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Element docelowy:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Uruchom w:", 14010, 8, 96, 57, 10 @@ -217,13 +217,13 @@ BEGIN LTEXT "Rozszerzenie:", 14004, 8, 35, 50, 10 LTEXT "Katalog", 14005, 68, 35, 160, 10 LTEXT "Lokalizacja:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Rozmiar:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zawiera:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Utworzony:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Tylko do odczytu", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Ukryty", 14022, 126, 150, 50, 10 END @@ -238,17 +238,17 @@ BEGIN LTEXT "Typ pliku:", 14004, 8, 35, 50, 10 LTEXT "Plik", 14005, 68, 35, 160, 10 LTEXT "Otwierany za pomocš:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Lokalizacja:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Rozmiar:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Utworzony:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zmodyfikowany:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ostatnio uŋyty:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Atrybuty:", 14020, 8, 189, 45, 10 CHECKBOX "&Tylko do odczytu", 14021, 58, 189, 67, 10 CHECKBOX "&Ukryty", 14022, 126, 189, 50, 10 @@ -261,11 +261,11 @@ CAPTION "Wersja" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Wersja pliku: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Opis: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Prawa autorskie: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Pozostaŗe informacje o wersji: ", 14006, 6, 70, 222, 115 LTEXT "Nazwa: ", 14007, 13, 82, 50, 10 LTEXT "Wartoœæ: ", 14008, 112, 82, 45, 10 @@ -280,24 +280,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Typ:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "System plikķw:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Zajęte miejsce:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Wolne miejsce:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Pojemnoœæ:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/pt-BR.rc b/reactos/dll/win32/shell32/lang/pt-BR.rc index ef97edbea18..e018066a89a 100644 --- a/reactos/dll/win32/shell32/lang/pt-BR.rc +++ b/reactos/dll/win32/shell32/lang/pt-BR.rc @@ -172,7 +172,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -211,13 +211,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -232,17 +232,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -255,11 +255,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -274,24 +274,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/pt-PT.rc b/reactos/dll/win32/shell32/lang/pt-PT.rc index 6daead85f4a..25541f081a8 100644 --- a/reactos/dll/win32/shell32/lang/pt-PT.rc +++ b/reactos/dll/win32/shell32/lang/pt-PT.rc @@ -173,7 +173,7 @@ BEGIN LTEXT "Tipo de destino:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Localizaįão do destino:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Destino:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Iniciar em:", 14010, 8, 96, 57, 10 @@ -212,13 +212,13 @@ BEGIN LTEXT "Tipo de ficheiro:", 14004, 8, 35, 50, 10 LTEXT "Pasta", 14005, 68, 35, 160, 10 LTEXT "Localizaįão:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Tamanho:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contém:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Criado:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Sķmente de Leitura", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Escondido", 14022, 126, 150, 50, 10 END @@ -233,17 +233,17 @@ BEGIN LTEXT "Tipo de Ficheiro:", 14004, 8, 35, 50, 10 LTEXT "Ficheiro", 14005, 68, 35, 160, 10 LTEXT "Abre com::", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Localizaįão:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Tamanho:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Criado:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modificado:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Acedido:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "propriedades:", 14020, 8, 189, 45, 10 CHECKBOX "&Somente de Leitura", 14021, 58, 189, 67, 10 CHECKBOX "&Oculto", 14022, 126, 189, 50, 10 @@ -256,11 +256,11 @@ CAPTION "Vers FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Versão do Ficheiro: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Descriįão: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Outras informaįões da versão: ", 14006, 6, 70, 222, 115 LTEXT "Nome do Item: ", 14007, 13, 82, 50, 10 LTEXT "Valor: ", 14008, 112, 82, 45, 10 @@ -275,24 +275,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Tipo:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Sistema de Ficheiros:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Espaįo utilizado:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Espaįo livre:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacidade:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/ro-RO.rc b/reactos/dll/win32/shell32/lang/ro-RO.rc index 47d05ffc62a..3a89641e619 100644 --- a/reactos/dll/win32/shell32/lang/ro-RO.rc +++ b/reactos/dll/win32/shell32/lang/ro-RO.rc @@ -172,7 +172,7 @@ BEGIN LTEXT "Tip țintă:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Locație țintă:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Țintă:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Pornire ÃŽn:", 14010, 8, 96, 57, 10 @@ -211,13 +211,13 @@ BEGIN LTEXT "Tip fișier:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Locație:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Mărime:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Conține:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creat:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Doar-ÃŽn-citire", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Ascuns", 14022, 126, 150, 50, 10 END @@ -233,17 +233,17 @@ BEGIN LTEXT "Tip fișier:", 14004, 8, 35, 50, 10 LTEXT "Fișier", 14005, 68, 35, 160, 10 LTEXT "Se deschide cu:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Locație:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Mărime:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Creat:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modificat:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accesat:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Atribute:", 14020, 8, 189, 45, 10 CHECKBOX "&Doar-ÃŽn-citire", 14021, 58, 189, 67, 10 CHECKBOX "&Ascuns", 14022, 126, 189, 50, 10 @@ -256,11 +256,11 @@ CAPTION "Versiune" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Versiune fișier: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Descriere: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Drept de autor: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Alte informații versiune", 14006, 6, 70, 222, 115 LTEXT "Nume element: ", 14007, 13, 82, 50, 10 LTEXT "Valoare: ", 14008, 112, 82, 45, 10 @@ -275,24 +275,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Tip:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Sistem de fișiere:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Spațiu folosit:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Spațiu liber:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacitate:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/ru-RU.rc b/reactos/dll/win32/shell32/lang/ru-RU.rc index b3ecbdb4909..64ccb664e6a 100644 --- a/reactos/dll/win32/shell32/lang/ru-RU.rc +++ b/reactos/dll/win32/shell32/lang/ru-RU.rc @@ -171,7 +171,7 @@ BEGIN LTEXT "Ōčī îáúåęōā:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Đāįėåųåíčå:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îáúåęō:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Đāáî÷ā˙ īāīęā:", 14010, 8, 96, 57, 10 @@ -210,13 +210,13 @@ BEGIN LTEXT "Ōčī ôāéëā:", 14004, 8, 35, 50, 10 LTEXT "Īāīęā", 14005, 68, 35, 160, 10 LTEXT "Đāņīîëîæåíčå:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đāįėåđ:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņîäåđæčō:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņîįäāíî:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Ōîëüęî ÷ōåíčå", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Ņęđûōî", 14022, 126, 150, 50, 10 END @@ -231,17 +231,17 @@ BEGIN LTEXT "Ōčī ôāéëā:", 14004, 8, 35, 50, 10 LTEXT "ôāéë", 14005, 68, 35, 160, 10 LTEXT "Īđčëîæåíčå:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đāįėåųåíčå:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đāįėåđ:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņîįäāí:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Čįėåíåí:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îōęđûō:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Āōđčáķōû:", 14020, 8, 189, 45, 10 CHECKBOX "Ōîëüęî &÷ōåíčå", 14021, 58, 189, 67, 10 CHECKBOX "Ņęđ&ûōûé", 14022, 126, 189, 50, 10 @@ -254,11 +254,11 @@ CAPTION " FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Âåđņč˙ ôāéëā: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îīčņāíčå: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Āâōîđņęčå īđāâā: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Äîīîëíčōåëüíûå ņâåäåíč˙: ", 14006, 6, 70, 222, 115 LTEXT "Čė˙ ũëåėåíōā: ", 14007, 13, 82, 63, 10 LTEXT "Įíā÷åíčå: ", 14008, 112, 82, 45, 10 @@ -273,24 +273,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Ōčī:", -1, 15, 49, 40, 10 - LTEXT "", 14001, 110, 49, 100, 10 + EDITTEXT 14001, 110, 49, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ôāéëîâā˙ ņčņōåėā:", -1, 15, 68, 86, 10 - LTEXT "", 14002, 110, 68, 100, 10 + EDITTEXT 14002, 110, 68, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "STATIC", SS_OWNERDRAW | SS_NOTIFY | SS_SUNKEN, 5, 90, 10, 10 LTEXT "Įāí˙ōî:", -1, 25, 90, 78, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "STATIC", SS_OWNERDRAW | SS_NOTIFY | SS_SUNKEN, 5, 105, 10, 10 LTEXT "Ņâîáîäíî:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Åėęîņōü:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "STATIC", SS_OWNERDRAW | SS_NOTIFY | SS_SUNKEN, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/sk-SK.rc b/reactos/dll/win32/shell32/lang/sk-SK.rc index 7620ce08536..2a5f7ed78d4 100644 --- a/reactos/dll/win32/shell32/lang/sk-SK.rc +++ b/reactos/dll/win32/shell32/lang/sk-SK.rc @@ -176,7 +176,7 @@ BEGIN LTEXT "Typ cieža:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Umiestnenie cieža:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "&Ciež:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "Z&ača v priečinku:", 14010, 8, 96, 57, 10 @@ -215,13 +215,13 @@ BEGIN LTEXT "Typ:", 14004, 8, 35, 50, 10 LTEXT "Priečinok", 14005, 68, 35, 160, 10 LTEXT "Umiestnenie:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vežkos:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Obsahuje:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vytvorenũ:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Iba na čítanie", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Skrytũ", 14022, 126, 150, 50, 10 END @@ -236,17 +236,17 @@ BEGIN LTEXT "Typ súboru:", 14004, 8, 35, 50, 10 LTEXT "Súbor", 14005, 68, 35, 160, 10 LTEXT "Otvori programom:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Umiestnenie:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vežkos:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Vytvorenũ:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Zmenenũ:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Otvorenũ:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Atribúty:", 14020, 8, 189, 45, 10 CHECKBOX "&Iba na čítanie", 14021, 58, 189, 67, 10 CHECKBOX "&Skrytũ", 14022, 126, 189, 50, 10 @@ -259,11 +259,11 @@ CAPTION "Verzia" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Verzia súboru: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Popis: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Autorské práva: ", 14004, 10, 46, 66, 10 //Copyright - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Iné informácie o verzii: ", 14006, 6, 70, 222, 115 LTEXT "Názov položky: ", 14007, 13, 82, 50, 10 LTEXT "Hodnota: ", 14008, 112, 82, 45, 10 @@ -278,24 +278,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Typ:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Systém súborov:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Využité miesto:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Vožné miesto:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Kapacita:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/sl-SI.rc b/reactos/dll/win32/shell32/lang/sl-SI.rc index 594cdf88181..84513d4b97b 100644 --- a/reactos/dll/win32/shell32/lang/sl-SI.rc +++ b/reactos/dll/win32/shell32/lang/sl-SI.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/sv-SE.rc b/reactos/dll/win32/shell32/lang/sv-SE.rc index 0238edfae66..cc940c8460d 100644 --- a/reactos/dll/win32/shell32/lang/sv-SE.rc +++ b/reactos/dll/win32/shell32/lang/sv-SE.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/tr-TR.rc b/reactos/dll/win32/shell32/lang/tr-TR.rc index d5ca8c1fb25..b95063003fb 100644 --- a/reactos/dll/win32/shell32/lang/tr-TR.rc +++ b/reactos/dll/win32/shell32/lang/tr-TR.rc @@ -170,7 +170,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -209,13 +209,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -230,17 +230,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -253,11 +253,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -272,24 +272,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/uk-UA.rc b/reactos/dll/win32/shell32/lang/uk-UA.rc index bd2cfda8c93..785a67567c5 100644 --- a/reactos/dll/win32/shell32/lang/uk-UA.rc +++ b/reactos/dll/win32/shell32/lang/uk-UA.rc @@ -172,7 +172,7 @@ BEGIN LTEXT "Ōčī îá'ēęōā:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Đîįōāøķâāíí˙:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Î&á'ēęō:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Đîáî÷ā īāīęā:", 14010, 8, 96, 57, 10 @@ -211,13 +211,13 @@ BEGIN LTEXT "Ōčī ôāéëķ:", 14004, 8, 35, 50, 10 LTEXT "Ōåęā", 14005, 68, 35, 160, 10 LTEXT "Đîįōāøķâāíí˙:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đîįėŗđ:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ėŗņōčōü:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņōâîđåíî:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "Ëčøå &÷čōāíí˙", 14021, 45, 150, 67, 10 AUTOCHECKBOX "Īđč&õîâāíā", 14022, 126, 150, 50, 10 END @@ -232,17 +232,17 @@ BEGIN LTEXT "Ōčī ôāéëķ:", 14004, 8, 35, 50, 10 LTEXT "Ôāéë", 14005, 68, 35, 160, 10 LTEXT "Äîäāōîę:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đîįōāøķâāíí˙:", 14008, 8, 72, 50, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Đîįėŗđ:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ņōâîđåíî:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Įėŗíåíî:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Âŗäęđčōî:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Āōđčáķōč:", 14020, 8, 189, 45, 10 CHECKBOX "Ëčøå &÷čōāíí˙", 14021, 58, 189, 67, 10 CHECKBOX "Īđč&õîâāíčé", 14022, 126, 189, 50, 10 @@ -255,11 +255,11 @@ CAPTION " FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "Âåđņŗ˙ ôāéëķ: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Îīčņ: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Āâōîđņüęŗ īđāâā: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Äîäāōęîâŗ âŗäîėîņōŗ: ", 14006, 6, 70, 222, 115 LTEXT "˛ė'˙ åëåėåíōā: ", 14007, 13, 82, 50, 10 LTEXT "Įíā÷åíí˙: ", 14008, 112, 82, 45, 10 @@ -274,24 +274,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Ōčī:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ôāéëîâā ņčņōåėā:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Įāéí˙ōî:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Äîņōķīíî:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Ėŗņōęŗņōü:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/zh-CN.rc b/reactos/dll/win32/shell32/lang/zh-CN.rc index 693a2890407..7b25bb40007 100644 --- a/reactos/dll/win32/shell32/lang/zh-CN.rc +++ b/reactos/dll/win32/shell32/lang/zh-CN.rc @@ -159,7 +159,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -198,13 +198,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -219,17 +219,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -242,11 +242,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -261,24 +261,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 diff --git a/reactos/dll/win32/shell32/lang/zh-TW.rc b/reactos/dll/win32/shell32/lang/zh-TW.rc index ea14a6d300c..5e386cba010 100644 --- a/reactos/dll/win32/shell32/lang/zh-TW.rc +++ b/reactos/dll/win32/shell32/lang/zh-TW.rc @@ -171,7 +171,7 @@ BEGIN LTEXT "Target type:", 14004, 8, 38, 64, 10 LTEXT "", 14005, 78, 38, 142, 10 LTEXT "Target location:", 14006, 8, 58, 64, 10 - LTEXT "", 14007, 79, 58, 141, 10 + EDITTEXT 14007, 79, 58, 141, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Target:", 14008, 8, 77, 45, 10 EDITTEXT 14009, 79, 75, 150, 14, ES_AUTOHSCROLL LTEXT "&Start in:", 14010, 8, 96, 57, 10 @@ -210,13 +210,13 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "Folder", 14005, 68, 35, 160, 10 LTEXT "Location:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 315, 10 + EDITTEXT 14007, 68, 53, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Contains:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER AUTOCHECKBOX "&Read-only", 14021, 45, 150, 67, 10 AUTOCHECKBOX "&Hidden", 14022, 126, 150, 50, 10 END @@ -231,17 +231,17 @@ BEGIN LTEXT "Type of file:", 14004, 8, 35, 50, 10 LTEXT "File", 14005, 68, 35, 160, 10 LTEXT "Opens with:", 14006, 8, 53, 50, 10 - LTEXT "", 14007, 68, 53, 160, 10 + EDITTEXT 14007, 68, 53, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Location:", 14008, 8, 72, 45, 10 - LTEXT "", 14009, 68, 72, 315, 10 + EDITTEXT 14009, 68, 72, 315, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Size:", 14010, 8, 93, 45, 10 - LTEXT "", 14011, 68, 93, 160, 10 + EDITTEXT 14011, 68, 93, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Created:", 14014, 8, 118, 45, 10 - LTEXT "", 14015, 68, 118, 160, 10 + EDITTEXT 14015, 68, 118, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Modified:", 14016, 8, 140, 45, 10 - LTEXT "", 14017, 68, 140, 160, 10 + EDITTEXT 14017, 68, 140, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Accessed:", 14018, 8, 160, 45, 10 - LTEXT "", 14019, 68, 160, 160, 10 + EDITTEXT 14019, 68, 160, 160, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Attributes:", 14020, 8, 189, 45, 10 CHECKBOX "&Read-only", 14021, 58, 189, 67, 10 CHECKBOX "&Hidden", 14022, 126, 189, 50, 10 @@ -254,11 +254,11 @@ CAPTION "Version" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN LTEXT "File version: ", 14000, 10, 10, 55, 10 - LTEXT "", 14001, 77, 10, 152, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Description: ", 14002, 10, 27, 45, 10 - LTEXT "", 14003, 77, 27, 152, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Copyright: ", 14004, 10, 46, 66, 10 - LTEXT "", 14005, 77, 46, 152, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER GROUPBOX "Other version information: ", 14006, 6, 70, 222, 115 LTEXT "Item name: ", 14007, 13, 82, 50, 10 LTEXT "Value: ", 14008, 112, 82, 45, 10 @@ -273,24 +273,24 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT 14000, 40, 20, 190, 14, ES_LEFT|WS_BORDER|WS_GROUP LTEXT "Type:", -1, 15, 55, 40, 10 - LTEXT "", 14001, 110, 55, 100, 10 + EDITTEXT 14001, 110, 55, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "File system:", -1, 15, 70, 100, 10 - LTEXT "", 14002, 110, 70, 100, 10 + EDITTEXT 14002, 110, 70, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 LTEXT "Used space:", -1, 25, 90, 120, 10 - LTEXT "", 14003, 110, 90, 120, 10 - LTEXT "", 14004, 200, 90, 40, 10 + EDITTEXT 14003, 110, 90, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14004, 200, 90, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 LTEXT "Free space:", -1, 25, 105, 70, 10 - LTEXT "", 14005, 110, 105, 120, 10 - LTEXT "", 14006, 200, 105, 40, 10 + EDITTEXT 14005, 110, 105, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14006, 200, 105, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER LTEXT "Capacity:", -1, 25, 125, 80, 10 - LTEXT "", 14007, 110, 125, 120, 10 - LTEXT "", 14008, 200, 125, 40, 10 + EDITTEXT 14007, 110, 125, 85, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + EDITTEXT 14008, 200, 125, 40, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 From 70bef06a004e4505e8d9687d2e6fe6d3f8a4dd3d Mon Sep 17 00:00:00 2001 From: Matthias Kupfer Date: Sun, 10 Apr 2011 13:19:01 +0000 Subject: [PATCH 35/48] Radek Liska - Czech translations for sndrec32 and sndvol32. - See issue #6098 for details. svn path=/trunk/; revision=51310 --- .../base/applications/sndrec32/lang/cs-CZ.rc | 59 +++++++++++++++++++ reactos/base/applications/sndrec32/rsrc.rc | 1 + .../base/applications/sndvol32/lang/cs-CZ.rc | 16 ++++- 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 reactos/base/applications/sndrec32/lang/cs-CZ.rc diff --git a/reactos/base/applications/sndrec32/lang/cs-CZ.rc b/reactos/base/applications/sndrec32/lang/cs-CZ.rc new file mode 100644 index 00000000000..a45c7881ed9 --- /dev/null +++ b/reactos/base/applications/sndrec32/lang/cs-CZ.rc @@ -0,0 +1,59 @@ +/* FILE: applications/sndrec32/lang/cs-CZ.rc + * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) + * UPDATED: 2011-04-09 + */ + +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +IDC_REACTOS_SNDREC32 ACCELERATORS +BEGIN + "?", IDM_ABOUT, ASCII, ALT + "/", IDM_ABOUT, ASCII, ALT +END + +IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ReactOS Záznam zvuku" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20 + LTEXT "ReactOS Záznam zvuku, verze 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX + LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8 + DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP +END + +IDR_MENU1 MENU +BEGIN + POPUP "Soubor" + BEGIN + MENUITEM "Novũ", ID_NEW + MENUITEM "Otevøít...", ID_FILE_OPEN + MENUITEM "Uložit", ID_FILE_SAVE, GRAYED + MENUITEM "Uložit jako...", ID_FILE_SAVEAS, GRAYED + MENUITEM SEPARATOR + MENUITEM "Konec", ID_EXIT + END + MENUITEM "todo1", 0 + MENUITEM "todo2", 0 + POPUP "?" + BEGIN + MENUITEM "O programu...", ID__ABOUT + END +END + +STRINGTABLE +BEGIN + IDS_APP_TITLE "Záznam zvuku" + IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32" +END + +STRINGTABLE +BEGIN + IDS_STRPOS "Pozice: %.2f s" + IDS_STRDUR "Délka: %.2f s" + IDS_STRBUF "Buffer: %.2f kb" + IDS_STRFMT "%.1f kHz %u bitų" + IDS_STRMONO "mono" + IDS_STRSTEREO "stereo" + IDS_STRCHAN "%s" +END diff --git a/reactos/base/applications/sndrec32/rsrc.rc b/reactos/base/applications/sndrec32/rsrc.rc index adc11abe1a4..ed4864a701d 100644 --- a/reactos/base/applications/sndrec32/rsrc.rc +++ b/reactos/base/applications/sndrec32/rsrc.rc @@ -16,6 +16,7 @@ IDB_BITMAP2_REC_DIS BITMAP "resources/but_rec_dis.bmp" IDB_BITMAP2_START_DIS BITMAP "resources/but_start_dis.bmp" IDB_BITMAP2_STOP_DIS BITMAP "resources/but_stop_dis.bmp" +#include "lang/cs-CZ.rc" #include "lang/de-DE.rc" #include "lang/en-US.rc" #include "lang/es-ES.rc" diff --git a/reactos/base/applications/sndvol32/lang/cs-CZ.rc b/reactos/base/applications/sndvol32/lang/cs-CZ.rc index 59ea4472c47..f5a77469f70 100644 --- a/reactos/base/applications/sndvol32/lang/cs-CZ.rc +++ b/reactos/base/applications/sndvol32/lang/cs-CZ.rc @@ -1,7 +1,7 @@ /* FILE: applications/sndvol32/lang/cs-CZ.rc * TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com) * THANKS TO: Denzil, who translated major part of this file - * UPDATED: 2010-05-25 + * UPDATED: 2011-04-09 */ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT @@ -48,6 +48,20 @@ BEGIN PUSHBUTTON "Storno", IDCANCEL, 168,226,50,14 END +IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 +STYLE WS_POPUP | WS_BORDER +FONT 8, "MS Shell Dlg" +{ + LTEXT "Celková hlasitost", IDC_LINE_NAME, 4, 7, 100, 15 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + LTEXT "Vyvážení", -1, 4, 35, 80, 42 + LTEXT "Hlasitost", -1, 4, 100, 77, 108 + CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 + CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 + CHECKBOX "&Ztlumit", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 +} + IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" From dcd0dff4cc6c103ab0f2a5aafa42db4da118ad92 Mon Sep 17 00:00:00 2001 From: Olaf Siejka Date: Sun, 10 Apr 2011 14:55:11 +0000 Subject: [PATCH 36/48] Fix build. The translation patch was outdated. svn path=/trunk/; revision=51311 --- .../base/applications/sndvol32/lang/cs-CZ.rc | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/reactos/base/applications/sndvol32/lang/cs-CZ.rc b/reactos/base/applications/sndvol32/lang/cs-CZ.rc index f5a77469f70..f0d7b66f42f 100644 --- a/reactos/base/applications/sndvol32/lang/cs-CZ.rc +++ b/reactos/base/applications/sndvol32/lang/cs-CZ.rc @@ -51,27 +51,13 @@ END IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" -{ +BEGIN LTEXT "Celková hlasitost", IDC_LINE_NAME, 4, 7, 100, 15 - CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 + CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Vyvážení", -1, 4, 35, 80, 42 LTEXT "Hlasitost", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 CHECKBOX "&Ztlumit", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX - CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 -} - -IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 -STYLE WS_POPUP | WS_BORDER -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 - CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 - LTEXT "Balance", -1, 4, 35, 80, 42 - LTEXT "Volume", -1, 4, 100, 77, 108 - CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 - CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END From c08567e81e9772b5913a2c3906004a8ca72c090c Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sun, 10 Apr 2011 15:14:15 +0000 Subject: [PATCH 37/48] [user32_apitest] - Add some more tests for SetCursorPos svn path=/trunk/; revision=51312 --- rostests/apitests/user32/SetCursorPos.c | 156 +++++++++++++++++++++--- 1 file changed, 140 insertions(+), 16 deletions(-) diff --git a/rostests/apitests/user32/SetCursorPos.c b/rostests/apitests/user32/SetCursorPos.c index 8896f986f26..97970305fca 100644 --- a/rostests/apitests/user32/SetCursorPos.c +++ b/rostests/apitests/user32/SetCursorPos.c @@ -10,29 +10,153 @@ #include #include -HHOOK hMouseHook; -int hook_calls = 0; +HHOOK hMouseHookLL, hMouseHook; -LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) +struct _test_info { - hook_calls++; + int ll_hook_called; + int hook_called; + int mouse_move_called; +}; + +struct _test_info info[] = { {0,0,0}, /* SetCursorPos without a window */ + {1,2,0}, /* mouse_event without a window */ + {0,1,1}, /* SetCursorPos with a window */ + {1,1,1}, /* mouse_event with a window */ + {0,1,1}, /* multiple SetCursorPos with a window with coalescing */ + {0,2,2}, /* multiple SetCursorPos with a window without coalescing */ + {2,1,1}, /* multiple mouse_event with a window with coalescing */ + {2,2,2}, /* multiple mouse_event with a window without coalescing */ + }; + +struct _test_info results[8]; +int test_no = 0; + + +LRESULT CALLBACK MouseLLHookProc(int nCode, WPARAM wParam, LPARAM lParam) +{ + results[test_no].ll_hook_called++; + return CallNextHookEx(hMouseHookLL, nCode, wParam, lParam); +} + +LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) +{ + results[test_no].hook_called++; return CallNextHookEx(hMouseHook, nCode, wParam, lParam); } +static LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + if(msg == WM_MOUSEMOVE) + results[test_no].mouse_move_called++; + + return DefWindowProcA( hWnd, msg, wParam, lParam ); +} + +static HWND CreateTestWindow() +{ + MSG msg; + WNDCLASSA wclass; + HANDLE hInstance = GetModuleHandleA( NULL ); + HWND hWndTest; + + wclass.lpszClassName = "MouseInputTestClass"; + wclass.style = CS_HREDRAW | CS_VREDRAW; + wclass.lpfnWndProc = WndProc; + wclass.hInstance = hInstance; + wclass.hIcon = LoadIconA( 0, IDI_APPLICATION ); + wclass.hCursor = LoadCursorA( NULL, IDC_ARROW ); + wclass.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 ); + wclass.lpszMenuName = 0; + wclass.cbClsExtra = 0; + wclass.cbWndExtra = 0; + RegisterClassA( &wclass ); + /* create the test window that will receive the keystrokes */ + hWndTest = CreateWindowA( wclass.lpszClassName, "MouseInputTestTest", + WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 100, 100, + NULL, NULL, hInstance, NULL); + assert( hWndTest ); + ShowWindow( hWndTest, SW_SHOWMAXIMIZED); + SetWindowPos( hWndTest, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE ); + SetForegroundWindow( hWndTest ); + UpdateWindow( hWndTest); + SetFocus(hWndTest); + + /* flush pending messages */ + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + return hWndTest; +} + void Test_SetCursorPos() { - hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, GetModuleHandleA( NULL ), 0); - ok(hMouseHook!=NULL,"failed to set hook\n"); - - /* try SetCursorPos */ - SetCursorPos(0,0); - ok (hook_calls == 0, "hooks shouldn't be called\n"); - - /* try mouse_event with MOUSEEVENTF_MOVE*/ - mouse_event(MOUSEEVENTF_MOVE, 100,100, 0,0); - ok (hook_calls == 1, "hooks should have been called\n"); - - UnhookWindowsHookEx (hMouseHook); + HWND hwnd; + MSG msg; + int i; + + memset(results, sizeof(results), 0); + + hMouseHookLL = SetWindowsHookEx(WH_MOUSE_LL, MouseLLHookProc, GetModuleHandleA( NULL ), 0); + hMouseHook = SetWindowsHookEx(WH_MOUSE, MouseHookProc, GetModuleHandleA( NULL ), 0); + ok(hMouseHook!=NULL,"failed to set hook\n"); + ok(hMouseHookLL!=NULL,"failed to set hook\n"); + + test_no = 0; + SetCursorPos(1,1); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 1; + mouse_event(MOUSEEVENTF_MOVE, 2,2, 0,0); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + hwnd = CreateTestWindow(); + SetCapture(hwnd); + + test_no = 2; + SetCursorPos(50,50); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 3; + mouse_event(MOUSEEVENTF_MOVE, 100,100, 0,0); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 4; + SetCursorPos(50,50); + SetCursorPos(60,60); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 5; + SetCursorPos(50,50); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + SetCursorPos(60,60); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 6; + mouse_event(MOUSEEVENTF_MOVE, 50,50, 0,0); + mouse_event(MOUSEEVENTF_MOVE, 60,60, 0,0); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + test_no = 7; + mouse_event(MOUSEEVENTF_MOVE, 50,50, 0,0); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + mouse_event(MOUSEEVENTF_MOVE, 60,60, 0,0); + while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg ); + + for(i = 0; i< 8; i++) + { +#define TEST(s,x,y) ok(y == x, "%d: %s called %d times instead of %d\n",i,s, y,x); + TEST("WH_MOUSE_LL", info[i].ll_hook_called, results[i].ll_hook_called); + /* WH_MOUSE results vary greatly among windows versions */ + //TEST("WH_MOUSE", info[i].hook_called, results[i].hook_called); + TEST("WM_MOUSEMOVE", info[i].mouse_move_called, results[i].mouse_move_called); + } + + SetCapture(NULL); + DestroyWindow(hwnd); + + UnhookWindowsHookEx (hMouseHook); + UnhookWindowsHookEx (hMouseHookLL); + } START_TEST(SetCursorPos) From 9f1ea5942e233d5050edd23c1ed2d8bc3f867612 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 10 Apr 2011 15:42:55 +0000 Subject: [PATCH 38/48] [NETAPI32] NetUserModalsGet failed if the domain SID returned by LsaQueryInformationPolicy was NULL. Handle the NULL SID case correctly. See issue #6102 for more details. svn path=/trunk/; revision=51313 --- reactos/dll/win32/netapi32/access.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/reactos/dll/win32/netapi32/access.c b/reactos/dll/win32/netapi32/access.c index 71702597792..d2d2b79b136 100644 --- a/reactos/dll/win32/netapi32/access.c +++ b/reactos/dll/win32/netapi32/access.c @@ -793,7 +793,7 @@ NET_API_STATUS WINAPI NetUserModalsGet( PPOLICY_ACCOUNT_DOMAIN_INFO domainInfo; NTSTATUS ntStatus; PSID domainIdentifier = NULL; - int domainNameLen; + int domainNameLen, domainIdLen; ZeroMemory(&objectAttributes, sizeof(objectAttributes)); objectAttributes.Length = sizeof(objectAttributes); @@ -820,11 +820,12 @@ NET_API_STATUS WINAPI NetUserModalsGet( } domainIdentifier = domainInfo->DomainSid; + domainIdLen = (domainIdentifier) ? GetLengthSid(domainIdentifier) : 0; domainNameLen = lstrlenW(domainInfo->DomainName.Buffer) + 1; LsaClose(policyHandle); ntStatus = NetApiBufferAllocate(sizeof(USER_MODALS_INFO_2) + - GetLengthSid(domainIdentifier) + + domainIdLen + domainNameLen * sizeof(WCHAR), (LPVOID *)pbuffer); @@ -836,15 +837,16 @@ NET_API_STATUS WINAPI NetUserModalsGet( } umi = (USER_MODALS_INFO_2 *) *pbuffer; - umi->usrmod2_domain_id = *pbuffer + sizeof(USER_MODALS_INFO_2); + umi->usrmod2_domain_id = (domainIdLen > 0) ? (*pbuffer + sizeof(USER_MODALS_INFO_2)) : NULL; umi->usrmod2_domain_name = (LPWSTR)(*pbuffer + - sizeof(USER_MODALS_INFO_2) + GetLengthSid(domainIdentifier)); + sizeof(USER_MODALS_INFO_2) + domainIdLen); lstrcpynW(umi->usrmod2_domain_name, domainInfo->DomainName.Buffer, domainNameLen); - CopySid(GetLengthSid(domainIdentifier), umi->usrmod2_domain_id, - domainIdentifier); + if (domainIdLen > 0) + CopySid(GetLengthSid(domainIdentifier), umi->usrmod2_domain_id, + domainIdentifier); LsaFreeMemory(domainInfo); From 52ce60c8d8f28112ae919b9faf065bcdf4d41ff1 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Sun, 10 Apr 2011 21:24:49 +0000 Subject: [PATCH 39/48] [ADVAPI32] * Copy RegQueryValueExA from Wine. Fixes 24 winetests fails which appeared after r51222. They are caused by calling RegQueryValueExA with buffer size set to large value. Old implementation was allocating new buffer with specified size (it was failing) and using unicode function. New implementation use given buffer size only when coping data. See issue #6105 for more details. svn path=/trunk/; revision=51314 --- reactos/dll/win32/advapi32/reg/reg.c | 199 +++++++++++++-------------- 1 file changed, 99 insertions(+), 100 deletions(-) diff --git a/reactos/dll/win32/advapi32/reg/reg.c b/reactos/dll/win32/advapi32/reg/reg.c index cfc8ba1ea28..6f79ea466fc 100644 --- a/reactos/dll/win32/advapi32/reg/reg.c +++ b/reactos/dll/win32/advapi32/reg/reg.c @@ -3974,128 +3974,127 @@ RegQueryReflectionKey(IN HKEY hBase, } -/************************************************************************ - * RegQueryValueExA +/****************************************************************************** + * RegQueryValueExA [ADVAPI32.@] * - * @implemented + * Get the type and contents of a specified value under with a key. + * + * PARAMS + * hkey [I] Handle of the key to query + * name [I] Name of value under hkey to query + * reserved [I] Reserved - must be NULL + * type [O] Destination for the value type, or NULL if not required + * data [O] Destination for the values contents, or NULL if not required + * count [I/O] Size of data, updated with the number of bytes returned + * + * RETURNS + * Success: ERROR_SUCCESS. *count is updated with the number of bytes copied to data. + * Failure: ERROR_INVALID_HANDLE, if hkey is invalid. + * ERROR_INVALID_PARAMETER, if any other parameter is invalid. + * ERROR_MORE_DATA, if on input *count is too small to hold the contents. + * + * NOTES + * MSDN states that if data is too small it is partially filled. In reality + * it remains untouched. */ -LONG WINAPI -RegQueryValueExA(HKEY hKey, - LPCSTR lpValueName, - LPDWORD lpReserved, - LPDWORD lpType, - LPBYTE lpData, - LPDWORD lpcbData) +LONG +WINAPI +RegQueryValueExA(HKEY hkeyorg, + LPCSTR name, + LPDWORD reserved, + LPDWORD type, + LPBYTE data, + LPDWORD count) { - UNICODE_STRING ValueName; - LPWSTR lpValueBuffer; - LONG ErrorCode; - DWORD Length; - DWORD Type; - NTSTATUS Status; - ULONG Index; + HANDLE hkey; + NTSTATUS status; + ANSI_STRING nameA; + UNICODE_STRING nameW; + DWORD total_size, datalen = 0; + char buffer[256], *buf_ptr = buffer; + KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer; + static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data ); - TRACE("hKey 0x%X lpValueName %s lpData 0x%X lpcbData %d\n", - hKey, lpValueName, lpData, lpcbData ? *lpcbData : 0); + TRACE("(%p,%s,%p,%p,%p,%p=%d)\n", + hkey, debugstr_a(name), reserved, type, data, count, count ? *count : 0 ); - if (lpData != NULL && lpcbData == NULL) + if ((data && !count) || reserved) return ERROR_INVALID_PARAMETER; + status = MapDefaultKey(&hkey, hkeyorg); + if (!NT_SUCCESS(status)) { - return ERROR_INVALID_PARAMETER; + return RtlNtStatusToDosError(status); } - Length = (lpcbData == NULL || lpData == NULL) ? 0 : *lpcbData * sizeof(WCHAR); + if (count) datalen = *count; + if (!data && count) *count = 0; - if (lpData) + RtlInitAnsiString( &nameA, name ); + if ((status = RtlAnsiStringToUnicodeString( &nameW, &nameA, TRUE ))) { - lpValueBuffer = RtlAllocateHeap(ProcessHeap, - 0, - Length + sizeof(WCHAR)); - if (!lpValueBuffer) + return RtlNtStatusToDosError(status); + ClosePredefKey(hkey); + } + + status = NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, + buffer, sizeof(buffer), &total_size ); + if (status && status != STATUS_BUFFER_OVERFLOW) goto done; + + /* we need to fetch the contents for a string type even if not requested, + * because we need to compute the length of the ASCII string. */ + if (data || is_string(info->Type)) + { + /* retry with a dynamically allocated buffer */ + while (status == STATUS_BUFFER_OVERFLOW) { - return ERROR_OUTOFMEMORY; - } - } - else - { - lpValueBuffer = NULL; - - if (lpcbData) - *lpcbData = 0; - } - - if(!RtlCreateUnicodeStringFromAsciiz(&ValueName, - (LPSTR)lpValueName)) - { - ERR("RtlCreateUnicodeStringFromAsciiz failed!\n"); - ErrorCode = ERROR_OUTOFMEMORY; - goto cleanup; - } - - ErrorCode = RegQueryValueExW(hKey, - ValueName.Buffer, - lpReserved, - &Type, - (LPBYTE)lpValueBuffer, - &Length); - TRACE("ErrorCode %lu\n", ErrorCode); - - RtlFreeUnicodeString(&ValueName); - - if (ErrorCode == ERROR_SUCCESS || - ErrorCode == ERROR_MORE_DATA) - { - - if (is_string(Type)) - { - if (ErrorCode == ERROR_SUCCESS && lpValueBuffer != NULL) + if (buf_ptr != buffer) HeapFree( GetProcessHeap(), 0, buf_ptr ); + if (!(buf_ptr = HeapAlloc( GetProcessHeap(), 0, total_size ))) { - Status = RtlUnicodeToMultiByteN((PCHAR)lpData, *lpcbData, &Index, (PWCHAR)lpValueBuffer, Length); - if (NT_SUCCESS(Status)) - { - PCHAR szData = (PCHAR)lpData; - if(&szData[Index] < (PCHAR)(lpData + *lpcbData)) - { - szData[Index] = '\0'; - } - } + status = STATUS_NO_MEMORY; + goto done; + } + info = (KEY_VALUE_PARTIAL_INFORMATION *)buf_ptr; + status = NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, + buf_ptr, total_size, &total_size ); + } + + if (status) goto done; + + if (is_string(info->Type)) + { + DWORD len; + + RtlUnicodeToMultiByteSize( &len, (WCHAR *)(buf_ptr + info_size), + total_size - info_size ); + if (data && len) + { + if (len > datalen) status = STATUS_BUFFER_OVERFLOW; else { - ErrorCode = RtlNtStatusToDosError(Status); + RtlUnicodeToMultiByteN( (char*)data, len, NULL, (WCHAR *)(buf_ptr + info_size), + total_size - info_size ); + /* if the type is REG_SZ and data is not 0-terminated + * and there is enough space in the buffer NT appends a \0 */ + if (len < datalen && data[len-1]) data[len] = 0; } } - - Length = Length / sizeof(WCHAR); + total_size = len + info_size; } - else if (ErrorCode == ERROR_SUCCESS && lpValueBuffer != NULL) + else if (data) { - if (*lpcbData < Length) - { - ErrorCode = ERROR_MORE_DATA; - } - else - { - RtlMoveMemory(lpData, lpValueBuffer, Length); - } - } - - if (lpcbData != NULL) - { - *lpcbData = Length; + if (total_size - info_size > datalen) status = STATUS_BUFFER_OVERFLOW; + else memcpy( data, buf_ptr + info_size, total_size - info_size ); } } + else status = STATUS_SUCCESS; - if (lpType != NULL) - { - *lpType = Type; - } + if (type) *type = info->Type; + if (count) *count = total_size - info_size; -cleanup: - if (lpValueBuffer != NULL) - { - RtlFreeHeap(ProcessHeap, 0, lpValueBuffer); - } - - return ErrorCode; + done: + if (buf_ptr != buffer) HeapFree( GetProcessHeap(), 0, buf_ptr ); + RtlFreeUnicodeString( &nameW ); + ClosePredefKey(hkey); + return RtlNtStatusToDosError(status); } From e059680feab2cf5cee82b5870219575525fb78a5 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Mon, 11 Apr 2011 03:24:14 +0000 Subject: [PATCH 40/48] [Win32k] - PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103. svn path=/trunk/; revision=51315 --- .../subsystems/win32/win32k/ntuser/timer.c | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/timer.c b/reactos/subsystems/win32/win32k/ntuser/timer.c index 05a7cb649a6..b7c4a32277b 100644 --- a/reactos/subsystems/win32/win32k/ntuser/timer.c +++ b/reactos/subsystems/win32/win32k/ntuser/timer.c @@ -107,10 +107,11 @@ FindTimer(PWND Window, UINT_PTR nID, UINT flags) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr, RetTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -134,10 +135,11 @@ PTIMER FASTCALL FindSystemTimer(PMSG pMsg) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -158,11 +160,12 @@ FASTCALL ValidateTimerCallback(PTHREADINFO pti, LPARAM lParam) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; BOOL Ret = FALSE; PTIMER pTmr; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -389,7 +392,7 @@ BOOL FASTCALL PostTimerMessages(PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PUSER_MESSAGE_QUEUE ThreadQueue; MSG Msg; PTHREADINFO pti; @@ -400,7 +403,7 @@ PostTimerMessages(PWND Window) ThreadQueue = pti->MessageQueue; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -441,12 +444,12 @@ ProcessTimers(VOID) { LARGE_INTEGER TickCount, DueTime; LONG Time; - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; LONG TimerCount = 0; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; KeQueryTickCount(&TickCount); Time = MsqCalculateMessageTime(&TickCount); @@ -515,7 +518,7 @@ ProcessTimers(VOID) BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; BOOL TimersRemoved = FALSE; @@ -523,7 +526,7 @@ DestroyTimersForWindow(PTHREADINFO pti, PWND Window) return FALSE; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -570,14 +573,14 @@ IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer) DPRINT("IntKillTimer Window %x id %p systemtimer %s\n", Window, IDEvent, SystemTimer ? "TRUE" : "FALSE"); + TimerEnterExclusive(); pTmr = FindTimer(Window, IDEvent, SystemTimer ? TMRF_SYSTEM : 0); if (pTmr) { - TimerEnterExclusive(); RemoveTimer(pTmr); - TimerLeave(); } + TimerLeave(); return pTmr ? TRUE : FALSE; } From e52e2fbef685423e15e4ac093fb1645a171794ee Mon Sep 17 00:00:00 2001 From: Gabriel Ilardi Date: Mon, 11 Apr 2011 10:56:45 +0000 Subject: [PATCH 41/48] [WIN32CSR] Italian translation of command prompt's window title svn path=/trunk/; revision=51316 --- reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc b/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc index dbc75bf515a..a6402c1b5e4 100644 --- a/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc +++ b/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc @@ -63,5 +63,5 @@ BEGIN IDS_SCROLLUP "Scorri sų" IDS_SCROLLDOWN "Scorri gių" - IDS_COMMAND_PROMPT "Command Prompt" + IDS_COMMAND_PROMPT "Prompt dei commandi" END From 728183867040452cf2e496881f5f9c876c5855af Mon Sep 17 00:00:00 2001 From: Gabriel Ilardi Date: Mon, 11 Apr 2011 12:26:16 +0000 Subject: [PATCH 42/48] [SNDVOL32] Italian and Spanish translation updates. svn path=/trunk/; revision=51317 --- reactos/base/applications/sndvol32/lang/es-ES.rc | 4 ++-- reactos/base/applications/sndvol32/lang/it-IT.rc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/base/applications/sndvol32/lang/es-ES.rc b/reactos/base/applications/sndvol32/lang/es-ES.rc index 87679de56a2..94e33ff4eb6 100644 --- a/reactos/base/applications/sndvol32/lang/es-ES.rc +++ b/reactos/base/applications/sndvol32/lang/es-ES.rc @@ -53,9 +53,9 @@ BEGIN LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balance", -1, 4, 35, 80, 42 - LTEXT "Volume", -1, 4, 100, 77, 108 + LTEXT "Volumen", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CHECKBOX "&Silencio", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END diff --git a/reactos/base/applications/sndvol32/lang/it-IT.rc b/reactos/base/applications/sndvol32/lang/it-IT.rc index ad7733250e6..6766c7300bd 100644 --- a/reactos/base/applications/sndvol32/lang/it-IT.rc +++ b/reactos/base/applications/sndvol32/lang/it-IT.rc @@ -48,10 +48,10 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 - LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Bilanciamento", -1, 4, 35, 80, 42 LTEXT "Volume", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CHECKBOX "&Disattiva", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END From bdf1dd886498668a1dd405e644c8469fccb9d55f Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Mon, 11 Apr 2011 17:03:20 +0000 Subject: [PATCH 43/48] [WIN32CSR] - Swedish translation by Jan Blomqvist-Kinander. svn path=/trunk/; revision=51318 --- .../win32/csrss/win32csr/lang/sv-SE.rc | 63 +++++++++++++++++++ .../subsystems/win32/csrss/win32csr/rsrc.rc | 1 + 2 files changed, 64 insertions(+) create mode 100644 reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc diff --git a/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc b/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc new file mode 100644 index 00000000000..0c1379b9be2 --- /dev/null +++ b/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc @@ -0,0 +1,63 @@ +/* + * PROJECT: ReactOS CSRSS subsystem + * FILE: subsystems/win32/csrss/win32csr/lang/sv-SE.rc + * PURPOSE: Swedish resource file + * Translation: Jaix Bly + */ + +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +IDD_END_NOW DIALOGEX DISCARDABLE 0, 0, 200, 95 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "End Program - " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Avsluta Program... Var vänlig vänta",IDC_STATIC,7,7,186,11 + CONTROL "Progress",IDC_PROGRESS,"msctls_progress32",WS_BORDER, + 7,20,186,13 + LTEXT "Om du väljer att avsluta programmet omedelbart kommer du att förlora all osparad data. För att avsluta programmet, klicka Avsluta nu.", + IDC_STATIC,7,40,186,26 + DEFPUSHBUTTON "&Avsluta Nu",IDC_END_NOW,150,71,43,17 +END + +IDD_NOT_RESPONDING DIALOGEX DISCARDABLE 0, 0, 192, 122 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Avsluta Program - " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "Avbryt",IDCANCEL,142,98,43,17 + PUSHBUTTON "&Avsluta Nu",IDC_END_NOW,78,98,43,17 + LTEXT "Detta programmet svarar inte",IDC_STATIC,7,7,178,8 + LTEXT "För att återgå till ReactOS och undersöka programmets status klicka Avbryt", + IDC_STATIC,7,26,178,16 + LTEXT "m du väljer att avsluta programmet omedelbart kommer du att förlora all osparad data. För att avsluta programmet, klicka Avsluta nu.", + IDC_STATIC,7,53,178,26 +END + +IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170 +STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE +EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE +END + +STRINGTABLE +BEGIN + IDS_EDIT "Redigera" + IDS_MARK "Markera" + IDS_COPY "Kopiera\tEnter" + IDS_PASTE "Klistra in" + IDS_SELECTALL "Markera Allt" + IDS_SCROLL "Skrolla" + IDS_FIND "Sök..." + IDS_DEFAULTS "Ursprunglig" + IDS_PROPERTIES "Egenskaper" + IDS_SCROLLHERE "Skrolla hit" + IDS_SCROLLTOP "Skrolla till topp" + IDS_SCROLLBOTTOM "Skrolla till botten" + IDS_SCROLLPAGE_UP "Sida upp" + IDS_SCROLLPAGE_DOWN "Sida ner" + IDS_SCROLLUP "Skrolla upp" + IDS_SCROLLDOWN "Skrolla ner" +END diff --git a/reactos/subsystems/win32/csrss/win32csr/rsrc.rc b/reactos/subsystems/win32/csrss/win32csr/rsrc.rc index 5a26ab8f442..bf2ce4067a4 100644 --- a/reactos/subsystems/win32/csrss/win32csr/rsrc.rc +++ b/reactos/subsystems/win32/csrss/win32csr/rsrc.rc @@ -18,6 +18,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include "lang/pl-PL.rc" #include "lang/ru-RU.rc" #include "lang/sk-SK.rc" +#include "lang/sv-SE.rc" #include "lang/uk-UA.rc" #include "lang/zh-CN.rc" #include "lang/zh-TW.rc" From 0669ecfaf393aa16d3706754ea0a9f469c1f9d71 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Mon, 11 Apr 2011 17:36:44 +0000 Subject: [PATCH 44/48] [RAPPS] - Swedish translation by Jan Blomqvist-Kinander. svn path=/trunk/; revision=51319 --- reactos/base/applications/rapps/lang/sv-SE.rc | 199 ++++++++++++++++++ reactos/base/applications/rapps/rsrc.rc | 1 + 2 files changed, 200 insertions(+) create mode 100644 reactos/base/applications/rapps/lang/sv-SE.rc diff --git a/reactos/base/applications/rapps/lang/sv-SE.rc b/reactos/base/applications/rapps/lang/sv-SE.rc new file mode 100644 index 00000000000..929fb9ab63f --- /dev/null +++ b/reactos/base/applications/rapps/lang/sv-SE.rc @@ -0,0 +1,199 @@ +/* + * PROJECT: ReactOS RAPPS + * FILE: \base\applications\rapps\lang\sv-SE.rc + * PURPOSE: Swedish resource file + * Translation: Jaix Bly + */ +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +IDR_MAINMENU MENU +BEGIN + POPUP "&Arkiv" + BEGIN + MENUITEM "&Inställningar", ID_SETTINGS + MENUITEM SEPARATOR + MENUITEM "A&vsluta", ID_EXIT + END + POPUP "&Program" + BEGIN + MENUITEM "&Installera", ID_INSTALL + MENUITEM "&Avinstallera",ID_UNINSTALL + MENUITEM "&Ändra", ID_MODIFY + MENUITEM SEPARATOR + MENUITEM "&Ta bort från Registret", ID_REGREMOVE + MENUITEM SEPARATOR + MENUITEM "&Uppdatere", ID_REFRESH + END + POPUP "Hjälp" + BEGIN + MENUITEM "Hjälp", ID_HELP, GRAYED + MENUITEM "Om...", ID_ABOUT + END +END + +IDR_LINKMENU MENU +BEGIN + POPUP "popup" + BEGIN + MENUITEM "&Öppne länk i webläsare", ID_OPEN_LINK + MENUITEM "&Kopier länk till urklipp", ID_COPY_LINK + END +END + +IDR_APPLICATIONMENU MENU +BEGIN + POPUP "popup" + BEGIN + MENUITEM "&Installera", ID_INSTALL + MENUITEM "&Avinstallera", ID_UNINSTALL + MENUITEM "&Ändre", ID_MODIFY + MENUITEM SEPARATOR + MENUITEM "&Ta bort från Registret", ID_REGREMOVE + MENUITEM SEPARATOR + MENUITEM "&Uppdatera", ID_REFRESH + END +END + +IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 250, 144 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Inställningar" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Allmänna", -1, 4, 2, 240, 61 + AUTOCHECKBOX "&Spara fönster position", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 + AUTOCHECKBOX "&Uppdatera listan med tillgängliga program vid start", IDC_UPDATE_AVLIST, 15, 29, 219, 12 + AUTOCHECKBOX "&Logga ur installation och borttagning program", IDC_LOG_ENABLED, 15, 46, 219, 12 + + GROUPBOX "Nerladding", -1, 4, 65, 240, 51 + LTEXT "Mapp för nerladdningar:", -1, 16, 75, 100, 9 + EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP + PUSHBUTTON "&Välj", IDC_CHOOSE, 187, 85, 50, 14 + AUTOCHECKBOX "&Ta bort programms installerare efter installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 + + PUSHBUTTON "Förinställd", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14 + PUSHBUTTON "OK", IDOK, 116, 124, 60, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 181, 124, 60, 14 +END + +IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 216, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Programinstallation" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35 + + AUTORADIOBUTTON "&Installera från disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP + AUTORADIOBUTTON "&Ladda ner och installera", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP + + PUSHBUTTON "OK", IDOK, 86, 78, 60, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 150, 78, 60, 14 +END + +IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76 +STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE +CAPTION "Ladda ner..." +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12 + LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER + PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP +END + +IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME +CAPTION "Om" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Programhanterare\nCopyright (C) 2009\nav Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 + PUSHBUTTON "Stäng", IDOK, 133, 46, 50, 14 + ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30 +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_TOOLTIP_INSTALL "Installera" + IDS_TOOLTIP_UNINSTALL "Avinstallera" + IDS_TOOLTIP_MODIFY "Redigera" + IDS_TOOLTIP_SETTINGS "Inställingar" + IDS_TOOLTIP_REFRESH "Uppdatera" + IDS_TOOLTIP_EXIT "Avsluta" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_APP_NAME "Namn" + IDS_APP_INST_VERSION "Version" + IDS_APP_DESCRIPTION "Beskrivning" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INFO_VERSION "\nVersion: " + IDS_INFO_DESCRIPTION "\nBeskrivning: " + IDS_INFO_PUBLISHER "\nUtgivare: " + IDS_INFO_HELPLINK "\nHjälplänk: " + IDS_INFO_HELPPHONE "\nHjälptelefon: " + IDS_INFO_README "\nLäs mig: " + IDS_INFO_REGOWNER "\nRegistrerad ägare: " + IDS_INFO_PRODUCTID "\nProdukt ID: " + IDS_INFO_CONTACT "\nKontakt: " + IDS_INFO_UPDATEINFO "\nUppdaterinsinformation: " + IDS_INFO_INFOABOUT "\nInformation om: " + IDS_INFO_COMMENTS "\nKommentarer: " + IDS_INFO_INSTLOCATION "\nInstallationsplacering: " + IDS_INFO_INSTALLSRC "\nInstallationskälla: " + IDS_INFO_UNINSTALLSTR "\nAvinstallationssträng: " + IDS_INFO_MODIFYPATH "\nÄndra sökväg: " + IDS_INFO_INSTALLDATE "\nInstallationsdatum: " +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_AINFO_VERSION "\nVersion: " + IDS_AINFO_DESCRIPTION "\nBeskrivning: " + IDS_AINFO_SIZE "\nStorlek: " + IDS_AINFO_URLSITE "\nHemsida: " + IDS_AINFO_LICENCE "\nLicens: " +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CAT_AUDIO "Audio" + IDS_CAT_DEVEL "Utveckling" + IDS_CAT_DRIVERS "Drivrutiner" + IDS_CAT_EDU "Edutainment" + IDS_CAT_ENGINEER "Engineering" + IDS_CAT_FINANCE "Finans" + IDS_CAT_GAMES "Spel & kul" + IDS_CAT_GRAPHICS "Grafik" + IDS_CAT_INTERNET "Internet & Nätverk" + IDS_CAT_LIBS "Bibliotek" + IDS_CAT_OFFICE "Kontor" + IDS_CAT_OTHER "Annat" + IDS_CAT_SCIENCE "Vetenskap" + IDS_CAT_TOOLS "Verktyg" + IDS_CAT_VIDEO "Video" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_APPTITLE "ReactOS programhanterare" + IDS_SEARCH_TEXT "Sök..." + IDS_INSTALL "Installera" + IDS_UNINSTALL "Avinstallera" + IDS_MODIFY "Ändra" + IDS_APPS_COUNT "Programantal: %d" + IDS_WELCOME_TITLE "Välkommen till ReactOS programhanterare!\n\n" + IDS_WELCOME_TEXT "Välj en kategori till vänstre, och sedan ett program för att installera eller avinstallera.\nReactOS Web sida: " + IDS_WELCOME_URL "http://www.reactos.org" + IDS_INSTALLED "Installerat" + IDS_AVAILABLEFORINST "Tillgängliga for installation" + IDS_UPDATES "Uppdateringar" + IDS_APPLICATIONS "Program" + IDS_CHOOSE_FOLDER_TEXT "Välj en mapp som kommer att användas för nerladdning av program:" + IDS_CHOOSE_FOLDER_ERROR "Du har specificrat en obefintlig mapp!" + IDS_USER_NOT_ADMIN "Du måste vara administratör för att starta ""ReactOS programhanterare""!" + IDS_APP_REG_REMOVE "Är du säker på att du vill ta bort data det installerade programmets data från registret?" + IDS_INFORMATION "Information" + IDS_UNABLE_TO_REMOVE "Det gick ej att ta bort programmets data från registret!" +END diff --git a/reactos/base/applications/rapps/rsrc.rc b/reactos/base/applications/rapps/rsrc.rc index 470e2588ee3..bd235c70f2f 100644 --- a/reactos/base/applications/rapps/rsrc.rc +++ b/reactos/base/applications/rapps/rsrc.rc @@ -10,4 +10,5 @@ #include "lang/pl-PL.rc" #include "lang/ru-RU.rc" #include "lang/sk-SK.rc" +#include "lang/sv-SE.rc" #include "lang/uk-UA.rc" From 0dda24faeadf7dd622cd7fa65374f2beec2cd098 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Mon, 11 Apr 2011 17:52:06 +0000 Subject: [PATCH 45/48] [NPFS] PATCH: Arty's fixes based on CMake branch testing. Just the NPFS code. See issue #6103 for more details. svn path=/trunk/; revision=51320 --- reactos/drivers/filesystems/npfs/create.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reactos/drivers/filesystems/npfs/create.c b/reactos/drivers/filesystems/npfs/create.c index fe6834a04ca..5a53f556300 100644 --- a/reactos/drivers/filesystems/npfs/create.c +++ b/reactos/drivers/filesystems/npfs/create.c @@ -937,10 +937,10 @@ NpfsClose(PDEVICE_OBJECT DeviceObject, if (IsListEmpty(&Fcb->ServerCcbListHead) && IsListEmpty(&Fcb->ClientCcbListHead)) { - RtlFreeUnicodeString(&Fcb->PipeName); KeLockMutex(&Vcb->PipeListLock); RemoveEntryList(&Fcb->PipeListEntry); KeUnlockMutex(&Vcb->PipeListLock); + RtlFreeUnicodeString(&Fcb->PipeName); ExFreePool(Fcb); FileObject->FsContext = NULL; } From 7db2a95a8041a54c1f7cf0faea6ed371fff4eb98 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Tue, 12 Apr 2011 18:38:38 +0000 Subject: [PATCH 46/48] [COMCTL32] * Sync listview to Wine 1.3.17 * Set background and text color before calling DrawFocusRect. Those colors are used by monochrome brush during painting. Tested this function in Windows and our implementation is correct. Wine has DrawFocusRect not correctly implemented and that's why they don't see this bug. Should be sent to wine (tm). svn path=/trunk/; revision=51321 --- reactos/dll/win32/comctl32/comctl32_ros.diff | 38 ++++++++++++++++++++ reactos/dll/win32/comctl32/listview.c | 27 +++++++++++--- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/comctl32/comctl32_ros.diff b/reactos/dll/win32/comctl32/comctl32_ros.diff index 8b0db1fae71..079c5972367 100644 --- a/reactos/dll/win32/comctl32/comctl32_ros.diff +++ b/reactos/dll/win32/comctl32/comctl32_ros.diff @@ -139,3 +139,41 @@ Index: treeview.c if (infoPtr->cdmode & CDRF_NOTIFYPOSTPAINT) infoPtr->cdmode = +Index: listview.c +=================================================================== +--- listview.c (revision 51320) ++++ listview.c (working copy) +@@ -1634,8 +1635,19 @@ + /* used to handle collapse main item column case */ + static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc) + { +- return (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ? +- DrawFocusRect(hdc, &infoPtr->rcFocus) : FALSE; ++ BOOL Ret = FALSE; ++ ++ if (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ++ { ++ DWORD dwOldBkColor, dwOldTextColor; ++ ++ dwOldBkColor = SetBkColor(hdc, RGB(255, 255, 255)); ++ dwOldTextColor = SetBkColor(hdc, RGB(0, 0, 0)); ++ Ret = DrawFocusRect(hdc, &infoPtr->rcFocus); ++ SetBkColor(hdc, dwOldBkColor); ++ SetBkColor(hdc, dwOldTextColor); ++ } ++ return Ret; + } + + /* Listview invalidation functions: use _only_ these functions to invalidate */ +@@ -5041,7 +5053,11 @@ + + /* Draw marquee rectangle if appropriate */ + if (infoPtr->bMarqueeSelect) ++ { ++ SetBkColor(hdc, RGB(255, 255, 255)); ++ SetTextColor(hdc, RGB(0, 0, 0)); + DrawFocusRect(hdc, &infoPtr->marqueeDrawRect); ++ } + + if (cdmode & CDRF_NOTIFYPOSTPAINT) + notify_postpaint(infoPtr, &nmlvcd); diff --git a/reactos/dll/win32/comctl32/listview.c b/reactos/dll/win32/comctl32/listview.c index dc96200ee35..d545044ad86 100644 --- a/reactos/dll/win32/comctl32/listview.c +++ b/reactos/dll/win32/comctl32/listview.c @@ -360,7 +360,7 @@ typedef struct tagLISTVIEW_INFO #define SB_INTERNAL -1 /* maximum size of a label */ -#define DISP_TEXT_SIZE 512 +#define DISP_TEXT_SIZE 260 /* padding for items in list and small icon display modes */ #define WIDTH_PADDING 12 @@ -543,7 +543,7 @@ static BOOL textsetptrT(LPWSTR *dest, LPCWSTR src, BOOL isW) static inline int textcmpWT(LPCWSTR aw, LPCWSTR bt, BOOL isW) { if (!aw) return bt ? -1 : 0; - if (!bt) return aw ? 1 : 0; + if (!bt) return 1; if (aw == LPSTR_TEXTCALLBACKW) return bt == LPSTR_TEXTCALLBACKW ? 1 : -1; if (bt != LPSTR_TEXTCALLBACKW) @@ -865,6 +865,7 @@ static inline void notify_itemactivate(const LISTVIEW_INFO *infoPtr, const LVHIT item.mask = LVIF_PARAM|LVIF_STATE; item.iItem = htInfo->iItem; item.iSubItem = 0; + item.stateMask = (UINT)-1; if (LISTVIEW_GetItemT(infoPtr, &item, TRUE)) { nmia.lParam = item.lParam; nmia.uOldState = item.state; @@ -1634,8 +1635,19 @@ static inline BOOL LISTVIEW_GetItemW(const LISTVIEW_INFO *infoPtr, LPLVITEMW lpL /* used to handle collapse main item column case */ static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc) { - return (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ? - DrawFocusRect(hdc, &infoPtr->rcFocus) : FALSE; + BOOL Ret = FALSE; + + if (infoPtr->rcFocus.left < infoPtr->rcFocus.right) + { + DWORD dwOldBkColor, dwOldTextColor; + + dwOldBkColor = SetBkColor(hdc, RGB(255, 255, 255)); + dwOldTextColor = SetBkColor(hdc, RGB(0, 0, 0)); + Ret = DrawFocusRect(hdc, &infoPtr->rcFocus); + SetBkColor(hdc, dwOldBkColor); + SetBkColor(hdc, dwOldTextColor); + } + return Ret; } /* Listview invalidation functions: use _only_ these functions to invalidate */ @@ -5041,7 +5053,11 @@ enddraw: /* Draw marquee rectangle if appropriate */ if (infoPtr->bMarqueeSelect) + { + SetBkColor(hdc, RGB(255, 255, 255)); + SetTextColor(hdc, RGB(0, 0, 0)); DrawFocusRect(hdc, &infoPtr->marqueeDrawRect); + } if (cdmode & CDRF_NOTIFYPOSTPAINT) notify_postpaint(infoPtr, &nmlvcd); @@ -5878,6 +5894,7 @@ static HWND CreateEditLabelT(LISTVIEW_INFO *infoPtr, LPCWSTR text, BOOL isW) SetWindowLongPtrA(hedit, GWLP_WNDPROC, (DWORD_PTR)EditLblWndProcA) ); SendMessageW(hedit, WM_SETFONT, (WPARAM)infoPtr->hFont, FALSE); + SendMessageW(hedit, EM_SETLIMITTEXT, DISP_TEXT_SIZE-1, 0); return hedit; } @@ -6743,7 +6760,7 @@ static BOOL LISTVIEW_GetItemExtT(const LISTVIEW_INFO *infoPtr, LPLVITEMW lpLVIte pszText = lpLVItem->pszText; bResult = LISTVIEW_GetItemT(infoPtr, lpLVItem, isW); - if (bResult && lpLVItem->pszText != pszText) + if (bResult && (lpLVItem->mask & LVIF_TEXT) && lpLVItem->pszText != pszText) { if (lpLVItem->pszText != LPSTR_TEXTCALLBACKW) textcpynT(pszText, isW, lpLVItem->pszText, isW, lpLVItem->cchTextMax); From e58c66359af893a59ed38403eb00af1e7edd74d2 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Tue, 12 Apr 2011 18:45:06 +0000 Subject: [PATCH 47/48] [SHELL32] * Return 1 in WM_ERASEBKGND when desktop is painted * Fix background for desktop icons and their labels * Moreover fixes explorer_new background svn path=/trunk/; revision=51322 --- reactos/dll/win32/shell32/desktop.c | 3 +-- reactos/dll/win32/shell32/shlview.c | 9 ++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/shell32/desktop.c b/reactos/dll/win32/shell32/desktop.c index 131e3cc263e..cd21bcbae2a 100644 --- a/reactos/dll/win32/shell32/desktop.c +++ b/reactos/dll/win32/shell32/desktop.c @@ -586,8 +586,7 @@ ProgmanWindowProc(IN HWND hwnd, switch (uMsg) { case WM_ERASEBKGND: - PaintDesktop((HDC)wParam); - break; + return (LRESULT)PaintDesktop((HDC)wParam); case WM_GETISHELLBROWSER: Ret = (LRESULT)IShellBrowser_from_impl(This); diff --git a/reactos/dll/win32/shell32/shlview.c b/reactos/dll/win32/shell32/shlview.c index 335524548ab..924d76e8cfa 100644 --- a/reactos/dll/win32/shell32/shlview.c +++ b/reactos/dll/win32/shell32/shlview.c @@ -324,8 +324,11 @@ static BOOL ShellView_CreateList (IShellViewImpl * This) * HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ListviewShadow * and activate drop shadows if necessary */ - if (0) + if (1) + { SendMessageW(This->hWndList, LVM_SETTEXTBKCOLOR, 0, CLR_NONE); + SendMessageW(This->hWndList, LVM_SETBKCOLOR, 0, CLR_NONE); + } else { SendMessageW(This->hWndList, LVM_SETTEXTBKCOLOR, 0, GetSysColor(COLOR_DESKTOP)); @@ -1833,7 +1836,7 @@ static LRESULT CALLBACK ShellView_WndProc(HWND hWnd, UINT uMessage, WPARAM wPara case WM_SHOWWINDOW: UpdateWindow(pThis->hWndList); break; - case WM_GETDLGCODE: return SendMessageA(pThis->hWndList,uMessage,0,0); + case WM_GETDLGCODE: return SendMessageW(pThis->hWndList,uMessage,0,0); case WM_DESTROY: RevokeDragDrop(pThis->hWnd); @@ -1843,7 +1846,7 @@ static LRESULT CALLBACK ShellView_WndProc(HWND hWnd, UINT uMessage, WPARAM wPara case WM_ERASEBKGND: if ((pThis->FolderSettings.fFlags & FWF_DESKTOP) || (pThis->FolderSettings.fFlags & FWF_TRANSPARENT)) - return 1; + return SendMessageW(pThis->hWndParent, WM_ERASEBKGND, wParam, lParam); /* redirect to parent */ break; case CWM_GETISHELLBROWSER: return (LRESULT)pThis->pShellBrowser; From 9c9874002e3036384976786184f0fd9a09a10a36 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Tue, 12 Apr 2011 20:59:50 +0000 Subject: [PATCH 48/48] [shell32] - Properly arrange icons in explorer shell view window. This also fixes navigating in files with keyboard arrows svn path=/trunk/; revision=51323 --- reactos/dll/win32/shell32/shlview.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/shell32/shlview.c b/reactos/dll/win32/shell32/shlview.c index 924d76e8cfa..ff05864eb80 100644 --- a/reactos/dll/win32/shell32/shlview.c +++ b/reactos/dll/win32/shell32/shlview.c @@ -282,9 +282,14 @@ static BOOL ShellView_CreateList (IShellViewImpl * This) TRACE("%p\n",This); dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | - LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_AUTOARRANGE; + LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_AUTOARRANGE; dwExStyle = WS_EX_CLIENTEDGE; + if (This->FolderSettings.fFlags & FWF_DESKTOP) + dwStyle |= LVS_ALIGNLEFT; + else + dwStyle |= LVS_ALIGNTOP; + switch (This->FolderSettings.ViewMode) { case FVM_ICON: dwStyle |= LVS_ICON; break;