ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
July 2008
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
25 participants
761 discussions
Start a n
N
ew thread
[pschweitzer] 34329: Updated French translations for reactos.exe and shell32.dll
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Jul 6 08:17:27 2008 New Revision: 34329 URL:
http://svn.reactos.org/svn/reactos?rev=34329&view=rev
Log: Updated French translations for reactos.exe and shell32.dll Modified: trunk/reactos/base/setup/reactos/lang/fr-FR.rc trunk/reactos/base/setup/reactos/rsrc.rc trunk/reactos/dll/win32/shell32/lang/fr-FR.rc Modified: trunk/reactos/base/setup/reactos/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/fr…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] Sun Jul 6 08:17:27 2008 @@ -1,13 +1,15 @@ -/* $Id: En.rc 18526 2005-10-17 18:04:11Z cwittich $ */ -// FRENCH translation by G. Maton (mustang9(a)gmail.com) - LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL -/* String Tables */ -STRINGTABLE DISCARDABLE +IDD_STARTPAGE DIALOGEX DISCARDABLE 0, 0, 317, 193 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Installation de ReactOS" +FONT 8, "MS Shell Dlg" BEGIN - IDS_CAPTION "Installation de ReactOS" - IDS_TEXT "Vous ne pouvez pas installer ReactOS directement depuis ce CD!\n\nVeuillez redémarrer votre ordinateur depuis ce CD afin d'installer ReactOS." + LTEXT "Bienvenue dans l'assistant d'installation de ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24 + LTEXT "Vous ne pouver pas installer ReactOS directement depuis ce CD! "\ + "Veuillez redémarrer votre ordinateur depuis ce CD pour pouvoir "\ + "installer ReactOS.", IDC_STATIC, 115, 40, 195, 100 + LTEXT "Cliquez sur Terminer pour quitter l'installation.", IDC_STATIC, 115, 169, 195, 17 END /* EOF */ Modified: trunk/reactos/base/setup/reactos/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/rsrc.rc…
============================================================================== --- trunk/reactos/base/setup/reactos/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/rsrc.rc [iso-8859-1] Sun Jul 6 08:17:27 2008 @@ -8,9 +8,9 @@ //#include "lang/el-GR.rc" #include "lang/en-US.rc" /*#include "lang/es-ES.rc" -#include "lang/fi-FI.rc" +#include "lang/fi-FI.rc"*/ #include "lang/fr-FR.rc" -#include "lang/hu-HU.rc" +/*#include "lang/hu-HU.rc" #include "lang/id-ID.rc" #include "lang/it-IT.rc" #include "lang/ja-JP.rc" Modified: trunk/reactos/dll/win32/shell32/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fr-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] Sun Jul 6 08:17:27 2008 @@ -3,7 +3,7 @@ * French language support * * Copyright 1998 Juergen Schmied - * 2007 Pierre Schweitzer + * 2007-2008 Pierre Schweitzer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -684,11 +684,11 @@ IDS_LNK_FILE "Raccourci" IDS_SYS_FILE "Fichier système" - IDS_OPEN_VERB "Open" - IDS_RUNAS_VERB "Run as " - IDS_EDIT_VERB "Edit" - IDS_FIND_VERB "Find" - IDS_PRINT_VERB "Print" - IDS_PLAY_VERB "Play" - IDS_PREVIEW_VERB "Preview" -END + IDS_OPEN_VERB "Ouvrir" + IDS_RUNAS_VERB "Lancer en tant que " + IDS_EDIT_VERB "Éditer" + IDS_FIND_VERB "Chercher" + IDS_PRINT_VERB "Imprimer" + IDS_PLAY_VERB "Lire" + IDS_PREVIEW_VERB "Apercevoir" +END
16 years, 5 months
1
0
0
0
[silverblade] 34328: Added callbacks for sound device open (CreateSoundDeviceInstance) and close (DestroySoundDeviceInstance) to MME-Buddy, allowing modules using this library to implement custom functionality. The default callbacks just open and close a named kernel sound device. Various other adjustments made, mostly to improve code structure.
by silverblade@svn.reactos.org
Author: silverblade Date: Sun Jul 6 07:49:03 2008 New Revision: 34328 URL:
http://svn.reactos.org/svn/reactos?rev=34328&view=rev
Log: Added callbacks for sound device open (CreateSoundDeviceInstance) and close (DestroySoundDeviceInstance) to MME-Buddy, allowing modules using this library to implement custom functionality. The default callbacks just open and close a named kernel sound device. Various other adjustments made, mostly to improve code structure. Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/include/react…
============================================================================== --- branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] (original) +++ branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -10,6 +10,9 @@ Notes: MME Buddy was the best name I could come up with... + + The structures etc. here should be treated as internal to the + library so should not be directly accessed elsewhere. */ #ifndef ROS_AUDIO_MMEBUDDY_H @@ -119,15 +122,14 @@ /* Audio device function table -*/ - -typedef MMRESULT (*MMOPEN_FUNC)( - IN UCHAR DeviceType, - IN LPWSTR DevicePath, - OUT PHANDLE Handle); - -typedef MMRESULT (*MMCLOSE_FUNC)( - IN HANDLE Handle); + TODO - create/destroy instance need to work +*/ + +typedef MMRESULT (*MMCREATEINSTANCE_FUNC)( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance); + +typedef VOID (*MMDESTROYINSTANCE_FUNC)( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance); typedef MMRESULT (*MMGETCAPS_FUNC)( IN struct _SOUND_DEVICE* Device, @@ -143,14 +145,19 @@ IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize); +typedef MMRESULT (*MMWAVEQUEUEBUFFER_FUNC)( + IN struct _SOUND_DEVICE_INSTANCE* Instance, + IN PWAVEHDR WaveHeader); + typedef struct _MMFUNCTION_TABLE { - MMOPEN_FUNC Open; - MMCLOSE_FUNC Close; + MMCREATEINSTANCE_FUNC Constructor; + MMDESTROYINSTANCE_FUNC Destructor; MMGETCAPS_FUNC GetCapabilities; MMWAVEQUERYFORMAT_FUNC QueryWaveFormat; MMWAVESETFORMAT_FUNC SetWaveFormat; + MMWAVEQUEUEBUFFER_FUNC QueueWaveBuffer; } MMFUNCTION_TABLE, *PMMFUNCTION_TABLE; @@ -178,6 +185,12 @@ struct _SOUND_DEVICE_INSTANCE* Next; PSOUND_DEVICE Device; PSOUND_THREAD Thread; + + /* Stuff generously donated to us from WinMM */ + struct + { + DWORD ClientCallback; + } WinMM; /* Everything below this is used by the worker thread only */ OVERLAPPED Overlapped; @@ -222,7 +235,7 @@ ULONG GetSoundDeviceCount( - UCHAR DeviceType); + IN UCHAR DeviceType); MMRESULT GetSoundDevice( @@ -236,21 +249,26 @@ OUT LPWSTR* DevicePath); VOID -DestroyAllSoundDevices(); +RemoveAllSoundDevices(); BOOLEAN -DestroySoundDevices( - UCHAR DeviceType); +RemoveSoundDevices( + IN UCHAR DeviceType); BOOLEAN AddSoundDevice( - UCHAR DeviceType, - PWSTR DevicePath); + IN UCHAR DeviceType, + IN PWSTR DevicePath); BOOLEAN RemoveSoundDevice( - UCHAR DeviceType, - ULONG Index); + IN UCHAR DeviceType, + IN ULONG Index); + +MMRESULT +GetSoundDeviceType( + IN PSOUND_DEVICE Device, + OUT PUCHAR DeviceType); /* @@ -275,15 +293,15 @@ MMRESULT EnumerateNt4ServiceSoundDevices( - LPWSTR ServiceName, - UCHAR DeviceType, - SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc); + IN LPWSTR ServiceName, + IN UCHAR DeviceType, + IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc); MMRESULT DetectNt4SoundDevices( - UCHAR DeviceType, - PWSTR BaseDevicePath, - SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc); + IN UCHAR DeviceType, + IN PWSTR BaseDevicePath, + IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc); /* @@ -292,50 +310,54 @@ MMRESULT OpenKernelSoundDeviceByName( - PWSTR DeviceName, - DWORD AccessRights, - PHANDLE Handle); + IN PWSTR DeviceName, + IN DWORD AccessRights, + IN PHANDLE Handle); MMRESULT OpenKernelSoundDevice( - PSOUND_DEVICE SoundDevice, - DWORD AccessRights); + IN PSOUND_DEVICE SoundDevice, + IN DWORD AccessRights); + +MMRESULT +CloseKernelSoundDevice( + PSOUND_DEVICE SoundDevice); MMRESULT PerformSoundDeviceIo( - PSOUND_DEVICE SoundDevice, - DWORD IoControlCode, - LPVOID InBuffer, - DWORD InBufferSize, - LPVOID OutBuffer, - DWORD OutBufferSize, - LPDWORD BytesReturned, - LPOVERLAPPED Overlapped); + IN PSOUND_DEVICE SoundDevice, + IN DWORD IoControlCode, + IN LPVOID InBuffer, + IN DWORD InBufferSize, + OUT LPVOID OutBuffer, + IN DWORD OutBufferSize, + OUT LPDWORD BytesReturned, + IN LPOVERLAPPED Overlapped); MMRESULT ReadSoundDevice( - PSOUND_DEVICE SoundDevice, - DWORD IoControlCode, - LPVOID OutBuffer, - DWORD OutBufferSize, - LPDWORD BytesReturned, - LPOVERLAPPED Overlapped); + IN PSOUND_DEVICE SoundDevice, + IN DWORD IoControlCode, + OUT LPVOID OutBuffer, + IN DWORD OutBufferSize, + OUT LPDWORD BytesReturned, + IN LPOVERLAPPED Overlapped); MMRESULT WriteSoundDevice( - PSOUND_DEVICE SoundDevice, - DWORD IoControlCode, - LPVOID InBuffer, - DWORD InBufferSize, - LPDWORD BytesReturned, - LPOVERLAPPED Overlapped); + IN PSOUND_DEVICE SoundDevice, + IN DWORD IoControlCode, + IN LPVOID InBuffer, + IN DWORD InBufferSize, + OUT LPDWORD BytesReturned, + IN LPOVERLAPPED Overlapped); MMRESULT WriteSoundDeviceBuffer( - PSOUND_DEVICE_INSTANCE SoundDeviceInstance, - LPVOID Buffer, - DWORD BufferSize, - LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine); + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, + IN LPVOID Buffer, + IN DWORD BufferSize, + IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine); /* @@ -344,10 +366,10 @@ ULONG GetDigitCount( - ULONG Number); - -MMRESULT -Win32ErrorToMmResult(UINT error_code); + IN ULONG Number); + +MMRESULT +Win32ErrorToMmResult(IN UINT error_code); /* @@ -366,6 +388,11 @@ MMRESULT DestroyAllInstancesOfSoundDevice( IN PSOUND_DEVICE SoundDevice); + +MMRESULT +GetSoundDeviceFromInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, + OUT PSOUND_DEVICE* SoundDevice); /* @@ -405,6 +432,14 @@ IN PSOUND_DEVICE_INSTANCE Instance, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize); + +MMRESULT +DefaultInstanceConstructor( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance); + +VOID +DefaultInstanceDestructor( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance); MMRESULT QueueWaveDeviceBuffer( @@ -442,4 +477,17 @@ IN PSOUND_DEVICE_INSTANCE Instance); +/* + mme/wodMessage.c +*/ + +APIENTRY DWORD +wodMessage( + DWORD device_id, + DWORD message, + DWORD private_handle, + DWORD parameter1, + DWORD parameter2); + + #endif Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -31,14 +31,14 @@ ULONG GetSoundDeviceCount( - UCHAR DeviceType) + IN UCHAR DeviceType) { if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) { return 0; } - return SoundDeviceTotals[DeviceType]; + return SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE]; } @@ -96,7 +96,7 @@ VOID -DestroyAllSoundDevices() +RemoveAllSoundDevices() { ULONG i; @@ -104,14 +104,14 @@ for ( i = 0; i < SOUND_DEVICE_TYPES; ++ i ) { - DestroySoundDevices(i); + RemoveSoundDevices(i); } } BOOLEAN -DestroySoundDevices( - UCHAR DeviceType) +RemoveSoundDevices( + IN UCHAR DeviceType) { PSOUND_DEVICE CurrentDevice; PSOUND_DEVICE NextDevice; @@ -149,6 +149,9 @@ InitSoundDeviceFunctionTable( IN PSOUND_DEVICE Device) { + Device->Functions.Constructor = DefaultInstanceConstructor; + Device->Functions.Destructor = DefaultInstanceDestructor; + Device->Functions.GetCapabilities = DefaultGetSoundDeviceCapabilities; Device->Functions.QueryWaveFormat = DefaultQueryWaveDeviceFormatSupport; Device->Functions.SetWaveFormat = DefaultSetWaveDeviceFormat; @@ -157,8 +160,8 @@ BOOLEAN AddSoundDevice( - UCHAR DeviceType, - LPWSTR DevicePath) + IN UCHAR DeviceType, + IN LPWSTR DevicePath) { PSOUND_DEVICE NewDevice; UCHAR TypeIndex; @@ -240,8 +243,8 @@ BOOLEAN RemoveSoundDevice( - UCHAR DeviceType, - ULONG Index) + IN UCHAR DeviceType, + IN ULONG Index) { ULONG Counter = 0; ULONG TypeIndex; @@ -309,14 +312,31 @@ } +MMRESULT +GetSoundDeviceType( + IN PSOUND_DEVICE Device, + OUT PUCHAR DeviceType) +{ + if ( ! Device ) + return MMSYSERR_INVALPARAM; + + if ( ! DeviceType ) + return MMSYSERR_INVALPARAM; + + *DeviceType = Device->DeviceType; + + return MMSYSERR_NOERROR; +} + + #include <ntddk.h> /* How do I avoid this? */ /* Should these go somewhere else? */ MMRESULT GetSoundDeviceCapabilities( - PSOUND_DEVICE Device, - PUNIVERSAL_CAPS Capabilities) + IN PSOUND_DEVICE Device, + OUT PUNIVERSAL_CAPS Capabilities) { if ( ! Device ) return MMSYSERR_INVALPARAM; @@ -496,6 +516,62 @@ } MMRESULT +DefaultInstanceConstructor( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance) +{ + PSOUND_DEVICE SoundDevice; + UCHAR DeviceType; + DWORD AccessRights = GENERIC_READ; + MMRESULT Result; + + SOUND_DEBUG(L"Default instance ctor"); + + SOUND_ASSERT(SoundDeviceInstance != NULL); + GetSoundDeviceFromInstance(SoundDeviceInstance, &SoundDevice); + SOUND_ASSERT(SoundDevice != NULL); + + /* If this fails, we have an internal error somewhere */ + Result = GetSoundDeviceType(SoundDevice, &DeviceType); + if ( Result != MMSYSERR_NOERROR ) + { + SOUND_ASSERT(Result != MMSYSERR_NOERROR); + return MMSYSERR_ERROR; + } + + if ( DeviceType == WAVE_OUT_DEVICE_TYPE ) + AccessRights |= GENERIC_WRITE; + + Result = OpenKernelSoundDevice(SoundDevice, AccessRights); + if ( Result != MMSYSERR_NOERROR ) + return Result; + + SOUND_DEBUG(L"Returning from default ctor"); + + return MMSYSERR_NOERROR; +} + + +VOID +DefaultInstanceDestructor( + IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance) +{ + PSOUND_DEVICE SoundDevice; + MMRESULT Result; + + /* TODO: Close device */ + SOUND_DEBUG(L"Default instance dtor"); + + SOUND_ASSERT(SoundDeviceInstance); + GetSoundDeviceFromInstance(SoundDeviceInstance, &SoundDevice); + SOUND_ASSERT(SoundDevice); + + Result = CloseKernelSoundDevice(SoundDevice); + + ASSERT(Result == MMSYSERR_NOERROR); +} + + +MMRESULT QueueWaveDeviceBuffer( IN PSOUND_DEVICE_INSTANCE Instance, IN PWAVEHDR BufferHeader) Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -19,109 +19,185 @@ #include <mmebuddy.h> /* - Instances -*/ - -MMRESULT -CreateSoundDeviceInstance( + Init / New / Delete handlers +*/ + +VOID +InitSoundDeviceInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ + /* Initialise */ + SoundDeviceInstance->Next = NULL; + SoundDeviceInstance->Device = NULL; + SoundDeviceInstance->Thread = NULL; +} + +PSOUND_DEVICE_INSTANCE +AllocateSoundDeviceInstance() +{ + PSOUND_DEVICE_INSTANCE ptr; + ptr = AllocateMemoryFor(SOUND_DEVICE_INSTANCE); + + if ( ! ptr ) + return NULL; + + InitSoundDeviceInstance(ptr); + + return ptr; +} + +VOID +FreeSoundDeviceInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ + FreeMemory(SoundDeviceInstance); +} + + +/* + List management +*/ + +VOID +ListSoundDeviceInstance( IN PSOUND_DEVICE SoundDevice, - OUT PSOUND_DEVICE_INSTANCE* Instance) -{ - PSOUND_DEVICE_INSTANCE NewInstance = NULL; + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ PSOUND_DEVICE_INSTANCE CurrentInstance = NULL; - if ( ! SoundDevice ) - return MMSYSERR_INVALPARAM; - - if ( ! Instance ) - return MMSYSERR_INVALPARAM; - - NewInstance = AllocateMemoryFor(SOUND_DEVICE_INSTANCE); -/* - NewInstance = (PSOUND_DEVICE_INSTANCE) - HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, - sizeof(SOUND_DEVICE_INSTANCE)); -*/ - - if ( ! NewInstance ) - return MMSYSERR_NOMEM; - - /* Initialise */ - NewInstance->Next = NULL; - NewInstance->Device = SoundDevice; - NewInstance->Thread = NULL; + SOUND_ASSERT(SoundDevice != NULL); + SOUND_ASSERT(SoundDeviceInstance != NULL); + SOUND_ASSERT(SoundDeviceInstance->Device == NULL); + + SoundDeviceInstance->Device = SoundDevice; /* Search for an appropriate place in the list to put this instance */ - CurrentInstance = SoundDevice->FirstInstance; - - if ( ! CurrentInstance ) + if ( ! SoundDevice->FirstInstance ) { /* This is going to be the first instance */ - SoundDevice->FirstInstance = CurrentInstance; + SoundDevice->FirstInstance = SoundDeviceInstance; } else { /* There is already one or more instances */ + CurrentInstance = SoundDevice->FirstInstance; + while ( CurrentInstance ) { if ( ! CurrentInstance->Next ) { /* Add to the end and get outta here */ - CurrentInstance->Next = NewInstance; + CurrentInstance->Next = SoundDeviceInstance; break; } CurrentInstance = CurrentInstance->Next; } } - - /* Fill the output parameter with this */ - *Instance = NewInstance; - - return MMSYSERR_NOERROR; -} - -MMRESULT -DestroySoundDeviceInstance( - IN PSOUND_DEVICE_INSTANCE Instance) -{ - PSOUND_DEVICE_INSTANCE CurrentInstance = NULL; - PSOUND_DEVICE SoundDevice = NULL; - - if ( ! Instance ) - return MMSYSERR_INVALPARAM; - - SoundDevice = Instance->Device; - - /* TODO - Perform cleanup, stop playback etc. */ - - if ( SoundDevice->FirstInstance == Instance ) - { - /* Deleting the first instance */ +} + +VOID +UnlistSoundDeviceInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ + PSOUND_DEVICE SoundDevice; + PSOUND_DEVICE_INSTANCE CurrentInstance; + + ASSERT(SoundDeviceInstance != NULL); + ASSERT(SoundDeviceInstance->Device != NULL); + + SoundDevice = SoundDeviceInstance->Device; + + if ( SoundDevice->FirstInstance == SoundDeviceInstance ) + { + /* Removing the first instance */ SoundDevice->FirstInstance = NULL; } else { - /* Deleting an instance beyond the first */ + /* Removing an instance beyond the first */ CurrentInstance = SoundDevice->FirstInstance; /* If we hit the end of the list, evidently there's a bug */ - while ( CurrentInstance->Next != Instance ) + while ( CurrentInstance->Next != SoundDeviceInstance ) { CurrentInstance = CurrentInstance->Next; - ASSERT(CurrentInstance); + ASSERT(CurrentInstance != NULL); } /* This is actually the one before the one we want to remove */ - CurrentInstance->Next = Instance->Next; - } + CurrentInstance->Next = SoundDeviceInstance->Next; + } +} + + +/* + Public routines +*/ + +MMRESULT +CreateSoundDeviceInstance( + IN PSOUND_DEVICE SoundDevice, + OUT PSOUND_DEVICE_INSTANCE* SoundDeviceInstance) +{ + PSOUND_DEVICE_INSTANCE CreatedInstance = NULL; + MMRESULT Result; + + if ( ! SoundDevice ) + return MMSYSERR_INVALPARAM; + + if ( ! SoundDeviceInstance ) + return MMSYSERR_INVALPARAM; + + CreatedInstance = AllocateSoundDeviceInstance(); + if ( ! CreatedInstance ) + return MMSYSERR_NOMEM; + + /* Add the new instance to the device's instance list */ + ListSoundDeviceInstance(SoundDevice, CreatedInstance); + + /* Consult the custom construction function */ + Result = SoundDevice->Functions.Constructor(CreatedInstance); + if ( Result != MMSYSERR_NOERROR ) + { + SOUND_DEBUG(L"Custom ctor returned failure - unlisting"); + UnlistSoundDeviceInstance(CreatedInstance); + SOUND_DEBUG(L"Freeing"); + FreeSoundDeviceInstance(CreatedInstance); + CreatedInstance = NULL; + //DestroySoundDeviceInstance(CreatedInstance); + } + + /* Fill the output parameter with this */ + *SoundDeviceInstance = CreatedInstance; + + return Result; +} + +MMRESULT +DestroySoundDeviceInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance) +{ + PSOUND_DEVICE SoundDevice = NULL; + + if ( ! SoundDeviceInstance ) + return MMSYSERR_INVALPARAM; + + SoundDevice = SoundDeviceInstance->Device; + + /* TODO - Perform cleanup, stop playback etc. */ + + /* Call the custom destructor */ + SoundDevice->Functions.Destructor(SoundDeviceInstance); + + /* Remove the isntance from the device's instance list */ + UnlistSoundDeviceInstance(SoundDeviceInstance); /* Kill it! */ - FreeMemory(Instance); + FreeSoundDeviceInstance(SoundDeviceInstance); /*HeapFree(GetProcessHeap(), 0, Instance);*/ - return MMSYSERR_NOTSUPPORTED; + return MMSYSERR_NOERROR; } MMRESULT @@ -148,3 +224,18 @@ return MMSYSERR_NOERROR; } +MMRESULT +GetSoundDeviceFromInstance( + IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, + OUT PSOUND_DEVICE* SoundDevice) +{ + if ( ! SoundDeviceInstance ) + return MMSYSERR_INVALPARAM; + + if ( ! SoundDevice ) + return MMSYSERR_INVALPARAM; + + *SoundDevice = SoundDeviceInstance->Device; + + return MMSYSERR_NOERROR; +} Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -88,6 +88,22 @@ &SoundDevice->Handle); return Result; +} + +MMRESULT +CloseKernelSoundDevice( + PSOUND_DEVICE SoundDevice) +{ + if ( ! SoundDevice ) + return MMSYSERR_INVALPARAM; + + if ( SoundDevice->Handle == INVALID_HANDLE_VALUE ) + return MMSYSERR_ERROR; /* ok? */ + + CloseHandle(SoundDevice->Handle); + SoundDevice->Handle = INVALID_HANDLE_VALUE; + + return MMSYSERR_NOERROR; } MMRESULT Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -42,6 +42,9 @@ { UNIVERSAL_CAPS Capabilities; + if ( parameter2 < sizeof(WAVEOUTCAPS) ) + return MMSYSERR_INVALPARAM; + Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, device_id, &Device); if ( Result != MMSYSERR_NOERROR ) return Result; @@ -63,16 +66,14 @@ if ( Result != MMSYSERR_NOERROR ) return Result; -/* if ( parameter2 & WAVE_FORMAT_QUERY ) { - Result = QueryWaveDeviceFormat(Device, + Result = QueryWaveDeviceFormatSupport(Device, OpenParameters->lpFormat, sizeof(WAVEFORMATEX)); return Result; } -*/ Result = CreateSoundDeviceInstance(Device, &Instance); if ( Result != MMSYSERR_NOERROR ) @@ -88,7 +89,7 @@ return Result; } - + /* TODO: Provide winmm with instance handle */ /* TODO: Send callback... */ return MMSYSERR_NOERROR; Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -49,11 +49,6 @@ /* Allocate memory for the string */ ParametersKeyName = AllocateWideString(KeyLength); -/* - ParametersKeyName = (PWCHAR) HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, - KeyLength); -*/ if ( ! ParametersKeyName ) return MMSYSERR_NOMEM; @@ -76,12 +71,10 @@ { /* Couldn't open the key */ FreeMemory(ParametersKeyName); - /*HeapFree(GetProcessHeap(), 0, ParametersKeyName);*/ return MMSYSERR_ERROR; } FreeMemory(ParametersKeyName); - /*HeapFree(GetProcessHeap(), 0, ParametersKeyName);*/ return MMSYSERR_NOERROR; } @@ -121,11 +114,6 @@ /* Allocate storage for the string */ RegPath = AllocateWideString(PathLength); -/* - RegPath = (PWCHAR) HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, - PathSize); -*/ if ( ! RegPath ) { @@ -152,12 +140,10 @@ { /* Couldn't open the key */ FreeMemory(RegPath); - /*HeapFree(GetProcessHeap(), 0, RegPath);*/ return MMSYSERR_ERROR; } FreeMemory(RegPath); - /*HeapFree(GetProcessHeap(), HEAP_ZERO_MEMORY, RegPath);*/ return MMSYSERR_NOERROR; } @@ -170,9 +156,9 @@ */ MMRESULT EnumerateNt4ServiceSoundDevices( - LPWSTR ServiceName, - UCHAR DeviceType, - SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc) + IN LPWSTR ServiceName, + IN UCHAR DeviceType, + IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc) { HKEY Key; DWORD KeyIndex = 0; @@ -211,13 +197,6 @@ return MMSYSERR_ERROR; } - /* Account for terminating NULL */ -/* ++ MaxNameLength; - - DevicePath = (PWSTR) AllocateMemory((MaxNameLength + - strlen("\\\\.\\")) * - sizeof(WCHAR)); -*/ DevicePath = AllocateWideString(MaxNameLength + strlen("\\\\.\\")); @@ -271,7 +250,6 @@ } FreeMemory(DevicePath); - /*HeapFree(GetProcessHeap(), 0, DevicePath);*/ RegCloseKey(DevicesKey); } @@ -295,9 +273,9 @@ */ MMRESULT DetectNt4SoundDevices( - UCHAR DeviceType, - PWSTR BaseDeviceName, - SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc) + IN UCHAR DeviceType, + IN PWSTR BaseDeviceName, + IN SOUND_DEVICE_DETECTED_PROC SoundDeviceDetectedProc) { ULONG DeviceNameLength = 0; PWSTR DeviceName = NULL; @@ -317,10 +295,6 @@ DeviceNameLength += GetDigitCount(Index); DeviceName = AllocateWideString(DeviceNameLength); -/* - DeviceName = (PWSTR) - HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, DeviceNameSize); -*/ if ( ! DeviceName ) { @@ -331,14 +305,14 @@ { /* Nothing like a nice clean device name */ ZeroWideString(DeviceName); -/* ZeroMemory(DeviceName, DeviceNameSize);*/ wsprintf(DeviceName, L"%ls%d", BaseDeviceName, Index); if ( OpenKernelSoundDeviceByName(DeviceName, GENERIC_READ, &DeviceHandle) == MMSYSERR_NOERROR ) { - DPRINT("Found device %d\n", Index); + //DPRINT("Found device %d\n", Index); + MessageBox(0, DeviceName, L"Opened device", MB_OK | MB_TASKMODAL); /* Notify the callback function */ if ( SoundDeviceDetectedProc(DeviceType, DeviceName, DeviceHandle) ) @@ -357,7 +331,6 @@ } FreeMemory(DeviceName); - /*HeapFree(GetProcessHeap(), 0, DeviceName);*/ return MMSYSERR_NOERROR; } Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] Sun Jul 6 07:49:03 2008 @@ -14,11 +14,13 @@ #include <windows.h> #include <mmsystem.h> +#include <mmddk.h> #include <ntddsnd.h> #include <debug.h> #include <ntddk.h> #include <mmebuddy.h> + /* @@ -40,7 +42,7 @@ PWSTR DevicePath, HANDLE Handle) { - MessageBox(0, DevicePath, L"CALLBACK", MB_OK | MB_TASKMODAL); +/* MessageBox(0, DevicePath, L"CALLBACK", MB_OK | MB_TASKMODAL);*/ AddSoundDevice(DeviceType, DevicePath); @@ -48,8 +50,8 @@ } -APIENTRY VOID -Test() +VOID +TestDeviceDetection() { ULONG WaveInCount, WaveOutCount; ULONG MidiInCount, MidiOutCount; @@ -196,7 +198,7 @@ return; } - Result = OpenKernelSoundDevice(Device, GENERIC_READ | GENERIC_WRITE); +/* Result = OpenKernelSoundDevice(Device, GENERIC_READ | GENERIC_WRITE); if ( Result != MMSYSERR_NOERROR ) { MessageBox(0, L"Fail open", L"Fail", MB_OK | MB_TASKMODAL); @@ -204,6 +206,7 @@ } wsprintf(msg, L"Opened handle %x", Device->Handle); MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); +*/ Result = CreateSoundDeviceInstance(Device, &Instance); if ( Result != MMSYSERR_NOERROR ) @@ -249,6 +252,9 @@ */ wsprintf(msg, L"Play result: %d", Result); MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); + + StopWaveThread(Instance); + DestroySoundDeviceInstance(Instance); } @@ -312,12 +318,42 @@ } +VOID +wodTest() +{ + //MMRESULT Result; + DWORD NumWaveOuts; + WAVEOUTCAPS Caps; + MMRESULT Result; + WCHAR String[1024]; + + /* Report the number of wave output devices */ + NumWaveOuts = wodMessage(0, WODM_GETNUMDEVS, 0, 0, 0); + SOUND_DEBUG_HEX(NumWaveOuts); + + if ( NumWaveOuts < 1 ) + { + SOUND_DEBUG(L"Nothing to do as no waveout devices!"); + return; + } + + Result = wodMessage(0, WODM_GETDEVCAPS, 0, + (DWORD) &Caps, sizeof(WAVEOUTCAPS)); + + wsprintf(String, L"Device name: %hS\nManufacturer ID: %d\nProduct ID: %d\nDriver version: %x\nChannels: %d", Caps.szPname, Caps.wMid, Caps.wPid, Caps.vDriverVersion, Caps.wChannels); + + MessageBox(0, String, L"Device caps", MB_OK | MB_TASKMODAL); +} + + int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { +// TestDeviceDetection(); +// wodTest(); // TestFormatQuery(); TestPlaybackHackingly(); // TestDevEnum();
16 years, 5 months
1
0
0
0
[fireball] 34327: Autosyncing with Wine HEAD
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 07:41:23 2008 New Revision: 34327 URL:
http://svn.reactos.org/svn/reactos?rev=34327&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/comctl32/comboex.c trunk/reactos/dll/win32/comctl32/comctl_Sv.rc trunk/reactos/dll/win32/comctl32/commctrl.c trunk/reactos/dll/win32/comctl32/header.c trunk/reactos/dll/win32/comctl32/ipaddress.c trunk/reactos/dll/win32/comctl32/listview.c trunk/reactos/dll/win32/comctl32/monthcal.c trunk/reactos/dll/win32/comctl32/pager.c trunk/reactos/dll/win32/comctl32/propsheet.c trunk/reactos/dll/win32/comctl32/rebar.c trunk/reactos/dll/win32/comctl32/status.c trunk/reactos/dll/win32/comctl32/syslink.c trunk/reactos/dll/win32/comctl32/tab.c trunk/reactos/dll/win32/comctl32/toolbar.c trunk/reactos/dll/win32/comctl32/tooltips.c trunk/reactos/dll/win32/comctl32/trackbar.c trunk/reactos/dll/win32/comctl32/treeview.c trunk/reactos/dll/win32/comctl32/updown.c Modified: trunk/reactos/dll/win32/comctl32/comboex.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comboex…
============================================================================== --- trunk/reactos/dll/win32/comctl32/comboex.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/comboex.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -530,13 +530,11 @@ static INT COMBOEX_DeleteItem (COMBOEX_INFO *infoPtr, INT index) { - CBE_ITEMDATA const *item; - TRACE("(index=%d)\n", index); /* if item number requested does not exist then return failure */ if ((index >= infoPtr->nb_items) || (index < 0)) return CB_ERR; - if (!(item = COMBOEX_FindItem(infoPtr, index))) return CB_ERR; + if (!COMBOEX_FindItem(infoPtr, index)) return CB_ERR; /* doing this will result in WM_DELETEITEM being issued */ SendMessageW (infoPtr->hwndCombo, CB_DELETESTRING, (WPARAM)index, 0); @@ -1269,6 +1267,9 @@ InvalidateRect (infoPtr->hwndCombo, 0, 0); return 0; + case CBN_SETFOCUS: + return SendMessageW (parent, WM_COMMAND, wParam, (LPARAM)infoPtr->hwndSelf); + default: /* * We have to change the handle since we are the control @@ -1602,9 +1603,11 @@ if (infoPtr->defaultFont) DeleteObject (infoPtr->defaultFont); + SetWindowLongPtrW (infoPtr->hwndSelf, 0, 0); + /* free comboex info data */ Free (infoPtr); - SetWindowLongPtrW (infoPtr->hwndSelf, 0, 0); + return 0; } @@ -1635,7 +1638,7 @@ oldstyle = (DWORD)GetWindowLongW (hwnd, GWL_STYLE); newstyle = oldstyle & ~(WS_VSCROLL | WS_HSCROLL | WS_BORDER); if (newstyle != oldstyle) { - TRACE("req style %08x, reseting style %08x\n", + TRACE("req style %08x, resetting style %08x\n", oldstyle, newstyle); SetWindowLongW (hwnd, GWL_STYLE, newstyle); } Modified: trunk/reactos/dll/win32/comctl32/comctl_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
============================================================================== --- trunk/reactos/dll/win32/comctl32/comctl_Sv.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/comctl_Sv.rc [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140 STYLE DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE Modified: trunk/reactos/dll/win32/comctl32/commctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/commctr…
============================================================================== --- trunk/reactos/dll/win32/comctl32/commctrl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/commctrl.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -535,18 +535,27 @@ if (text) { int oldbkmode = SetBkMode (hdc, TRANSPARENT); UINT align = DT_LEFT; - if (*text == '\t') { - text++; - align = DT_CENTER; + int strCnt = 0; + + if (style & SBT_RTLREADING) + FIXME("Unsupported RTL style!\n"); + r.left += 3; + do { if (*text == '\t') { - text++; - align = DT_RIGHT; - } - } - r.left += 3; - if (style & SBT_RTLREADING) - FIXME("Unsupported RTL style!\n"); - DrawTextW (hdc, text, -1, &r, align|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX); + if (strCnt) { + DrawTextW (hdc, text - strCnt, strCnt, &r, align|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX); + strCnt = 0; + } + if (align==DT_RIGHT) { + break; + } + align = (align==DT_LEFT ? DT_CENTER : DT_RIGHT); + } else { + strCnt++; + } + } while(*text++); + + if (strCnt) DrawTextW (hdc, text - strCnt, -1, &r, align|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX); SetBkMode(hdc, oldbkmode); } } Modified: trunk/reactos/dll/win32/comctl32/header.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/header.…
============================================================================== --- trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -111,7 +111,6 @@ static LRESULT HEADER_SendCtrlCustomDraw(HWND hwnd, DWORD dwDrawStage, HDC hdc, const RECT *rect); static const WCHAR themeClass[] = {'H','e','a','d','e','r',0}; -static WCHAR emptyString[] = {0}; static void HEADER_StoreHDItemInHeader(HEADER_ITEM *lpItem, UINT mask, const HDITEMW *phdi, BOOL fUnicode) { @@ -146,11 +145,13 @@ if (phdi->pszText != LPSTR_TEXTCALLBACKW) /* covers != TEXTCALLBACKA too */ { - LPWSTR pszText = (phdi->pszText != NULL ? phdi->pszText : emptyString); + static const WCHAR emptyString[] = {0}; + + LPCWSTR pszText = (phdi->pszText != NULL ? phdi->pszText : emptyString); if (fUnicode) Str_SetPtrW(&lpItem->pszText, pszText); else - Str_SetPtrAtoW(&lpItem->pszText, (LPSTR)pszText); + Str_SetPtrAtoW(&lpItem->pszText, (LPCSTR)pszText); lpItem->callbackMask &= ~HDI_TEXT; } else Modified: trunk/reactos/dll/win32/comctl32/ipaddress.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/ipaddre…
============================================================================== --- trunk/reactos/dll/win32/comctl32/ipaddress.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/ipaddress.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -170,6 +170,8 @@ IPADDRESS_INFO *infoPtr; RECT rcClient, edit; int i, fieldsize; + HFONT hFont, hSysFont; + LOGFONTW logFont, logSysFont; TRACE("\n"); @@ -190,6 +192,12 @@ infoPtr->Self = hwnd; infoPtr->Enabled = TRUE; infoPtr->Notify = lpCreate->hwndParent; + + hSysFont = (HFONT) GetStockObject(ANSI_VAR_FONT); + GetObjectW(hSysFont, sizeof(LOGFONTW), &logSysFont); + SystemParametersInfoW(SPI_GETICONTITLELOGFONT, 0, &logFont, 0); + strcpyW(logFont.lfFaceName, logSysFont.lfFaceName); + hFont = CreateFontIndirectW(&logFont); for (i = 0; i < 4; i++) { IPPART_INFO* part = &infoPtr->Part[i]; @@ -203,6 +211,7 @@ edit.left, edit.top, edit.right - edit.left, edit.bottom - edit.top, hwnd, (HMENU) 1, (HINSTANCE)GetWindowLongPtrW(hwnd, GWLP_HINSTANCE), NULL); + SendMessageW(part->EditHwnd, WM_SETFONT, (WPARAM) hFont, FALSE); SetPropW(part->EditHwnd, IP_SUBCLASS_PROP, hwnd); part->OrigProc = (WNDPROC) SetWindowLongPtrW (part->EditHwnd, GWLP_WNDPROC, Modified: trunk/reactos/dll/win32/comctl32/listview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/listvie…
============================================================================== --- trunk/reactos/dll/win32/comctl32/listview.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/listview.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -91,7 +91,6 @@ * Extended Styles * -- LVS_EX_BORDERSELECT * -- LVS_EX_FLATSB - * -- LVS_EX_GRIDLINES * -- LVS_EX_HEADERDRAGDROP * -- LVS_EX_INFOTIP * -- LVS_EX_LABELTIP @@ -1639,6 +1638,7 @@ SetWindowPos(infoPtr->hwndHeader,0, point[0].x,point[0].y,point[1].x,point[1].y, + (infoPtr->dwStyle & LVS_NOCOLUMNHEADER) ? SWP_HIDEWINDOW : SWP_SHOWWINDOW | SWP_NOZORDER | SWP_NOACTIVATE); } @@ -2495,6 +2495,8 @@ else { nItemHeight = infoPtr->ntmHeight; + if (uView == LVS_REPORT && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) + nItemHeight++; if (infoPtr->himlState) nItemHeight = max(nItemHeight, infoPtr->iconStateSize.cy); if (infoPtr->himlSmall) @@ -3338,26 +3340,26 @@ else infoPtr->bLButtonDown = FALSE; - /* see if we are supposed to be tracking mouse hovering */ - if(infoPtr->dwLvExStyle & LVS_EX_TRACKSELECT) { - /* fill in the trackinfo struct */ - trackinfo.cbSize = sizeof(TRACKMOUSEEVENT); - trackinfo.dwFlags = TME_QUERY; - trackinfo.hwndTrack = infoPtr->hwndSelf; - trackinfo.dwHoverTime = infoPtr->dwHoverTime; - - /* see if we are already tracking this hwnd */ - _TrackMouseEvent(&trackinfo); - - if(!(trackinfo.dwFlags & TME_HOVER)) { - trackinfo.dwFlags = TME_HOVER; - - /* call TRACKMOUSEEVENT so we receive WM_MOUSEHOVER messages */ - _TrackMouseEvent(&trackinfo); - } - } - - return 0; + /* see if we are supposed to be tracking mouse hovering */ + if(infoPtr->dwLvExStyle & LVS_EX_TRACKSELECT) { + /* fill in the trackinfo struct */ + trackinfo.cbSize = sizeof(TRACKMOUSEEVENT); + trackinfo.dwFlags = TME_QUERY; + trackinfo.hwndTrack = infoPtr->hwndSelf; + trackinfo.dwHoverTime = infoPtr->dwHoverTime; + + /* see if we are already tracking this hwnd */ + _TrackMouseEvent(&trackinfo); + + if(!(trackinfo.dwFlags & TME_HOVER)) { + trackinfo.dwFlags = TME_HOVER; + + /* call TRACKMOUSEEVENT so we receive WM_MOUSEHOVER messages */ + _TrackMouseEvent(&trackinfo); + } + } + + return 0; } @@ -3873,6 +3875,11 @@ else rcLabel.left += LABEL_HOR_PADDING; } else if (uFormat & DT_RIGHT) rcLabel.right -= LABEL_HOR_PADDING; + + /* for GRIDLINES reduce the bottom so the text formats correctly */ + if (uView == LVS_REPORT && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) + rcLabel.bottom--; + DrawTextW(hdc, lvItem.pszText, -1, &rcLabel, uFormat); postpaint: @@ -4029,6 +4036,89 @@ /*** * DESCRIPTION: + * Draws the gridlines if necessary when in report display mode. + * + * PARAMETER(S): + * [I] infoPtr : valid pointer to the listview structure + * [I] hdc : device context handle + * + * RETURN: + * None + */ +static void LISTVIEW_RefreshReportGrid(LISTVIEW_INFO *infoPtr, HDC hdc) +{ + INT rgntype; + INT y, itemheight; + HPEN hPen, hOldPen; + RECT rcClip, rcItem; + POINT Origin; + RANGE colRange; + ITERATOR j; + + TRACE("()\n"); + + /* figure out what to draw */ + rgntype = GetClipBox(hdc, &rcClip); + if (rgntype == NULLREGION) return; + + /* Get scroll info once before loop */ + LISTVIEW_GetOrigin(infoPtr, &Origin); + + /* narrow down the columns we need to paint */ + for(colRange.lower = 0; colRange.lower < DPA_GetPtrCount(infoPtr->hdpaColumns); colRange.lower++) + { + LISTVIEW_GetHeaderRect(infoPtr, colRange.lower, &rcItem); + if (rcItem.right + Origin.x >= rcClip.left) break; + } + for(colRange.upper = DPA_GetPtrCount(infoPtr->hdpaColumns); colRange.upper > 0; colRange.upper--) + { + LISTVIEW_GetHeaderRect(infoPtr, colRange.upper - 1, &rcItem); + if (rcItem.left + Origin.x < rcClip.right) break; + } + iterator_rangeitems(&j, colRange); + + if ((hPen = CreatePen( PS_SOLID, 1, comctl32_color.clr3dFace ))) + { + hOldPen = SelectObject ( hdc, hPen ); + + /* draw the vertical lines for the columns */ + iterator_rangeitems(&j, colRange); + while(iterator_next(&j)) + { + LISTVIEW_GetHeaderRect(infoPtr, j.nItem, &rcItem); + if (rcItem.left == 0) continue; /* skip first column */ + rcItem.left += Origin.x; + rcItem.right += Origin.x; + rcItem.top = infoPtr->rcList.top; + rcItem.bottom = infoPtr->rcList.bottom; + TRACE("vert col=%d, rcItem=%s\n", j.nItem, wine_dbgstr_rect(&rcItem)); + MoveToEx (hdc, rcItem.left, rcItem.top, NULL); + LineTo (hdc, rcItem.left, rcItem.bottom); + } + iterator_destroy(&j); + + /* draw the horizontial lines for the rows */ + itemheight = LISTVIEW_CalculateItemHeight(infoPtr); + rcItem.left = infoPtr->rcList.left + Origin.x; + rcItem.right = infoPtr->rcList.right + Origin.x; + rcItem.bottom = rcItem.top = Origin.y - 1; + MoveToEx(hdc, rcItem.left, rcItem.top, NULL); + LineTo(hdc, rcItem.right, rcItem.top); + for(y=itemheight-1+Origin.y; y<=infoPtr->rcList.bottom; y+=itemheight) + { + rcItem.bottom = rcItem.top = y; + TRACE("horz rcItem=%s\n", wine_dbgstr_rect(&rcItem)); + MoveToEx (hdc, rcItem.left, rcItem.top, NULL); + LineTo (hdc, rcItem.right, rcItem.top); + } + + SelectObject( hdc, hOldPen ); + DeleteObject( hPen ); + } +} + +/*** + * DESCRIPTION: * Draws listview items when in list display mode. * * PARAMETER(S): @@ -4175,6 +4265,12 @@ iterator_destroy(&i); enddraw: + /* For LVS_EX_GRIDLINES go and draw lines */ + /* This includes the case where there were *no* items */ + if ((infoPtr->dwStyle & LVS_TYPEMASK) == LVS_REPORT && + infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) + LISTVIEW_RefreshReportGrid(infoPtr, hdc); + if (cdmode & CDRF_NOTIFYPOSTPAINT) notify_postpaint(infoPtr, &nmlvcd); @@ -4362,7 +4458,7 @@ * SUCCESS : TRUE * FAILURE : FALSE */ -static BOOL LISTVIEW_DeleteAllItems(LISTVIEW_INFO *infoPtr) +static BOOL LISTVIEW_DeleteAllItems(LISTVIEW_INFO *infoPtr, BOOL destroy) { NMLISTVIEW nmlv; HDPA hdpaSubItems = NULL; @@ -4406,8 +4502,11 @@ infoPtr->nItemCount --; } - LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); - LISTVIEW_UpdateScroll(infoPtr); + if (!destroy) + { + LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); + LISTVIEW_UpdateScroll(infoPtr); + } LISTVIEW_InvalidateList(infoPtr); return TRUE; @@ -5125,6 +5224,9 @@ if (lpColumn->mask & LVCF_ORDER) hdi.mask |= HDI_ORDER; + if (lpColumn->mask & LVCF_SUBITEM) + hdi.mask |= HDI_LPARAM; + if (!SendMessageW(infoPtr->hwndHeader, isW ? HDM_GETITEMW : HDM_GETITEMA, nColumn, (LPARAM)&hdi)) return FALSE; if (lpColumn->mask & LVCF_FMT) @@ -5138,6 +5240,9 @@ if (lpColumn->mask & LVCF_ORDER) lpColumn->iOrder = hdi.iOrder; + + if (lpColumn->mask & LVCF_SUBITEM) + lpColumn->iSubItem = hdi.lParam; return TRUE; } @@ -7039,6 +7144,13 @@ SetWindowLongW(infoPtr->hwndHeader, GWL_STYLE, dwStyle); } + /* GRIDLINES adds decoration at top so changes sizes */ + if((infoPtr->dwLvExStyle ^ dwOldExStyle) & LVS_EX_GRIDLINES) + { + LISTVIEW_UpdateSize(infoPtr); + } + + LISTVIEW_InvalidateList(infoPtr); return dwOldExStyle; } @@ -7419,10 +7531,9 @@ */ if (bResult && (lvItem.state & lvItem.stateMask & LVIS_SELECTED) && - ((infoPtr->nSelectionMark == -1) || (lvItem.iItem <= infoPtr->nSelectionMark))) + (infoPtr->nSelectionMark == -1)) { int i; - infoPtr->nSelectionMark = -1; for (i = 0; i < infoPtr->nItemCount; i++) { if (infoPtr->uCallbackMask & LVIS_SELECTED) @@ -7888,6 +7999,7 @@ { LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO *)GetWindowLongPtrW(hwnd, 0); UINT uView = lpcs->style & LVS_TYPEMASK; + DWORD dFlags = WS_CHILD | HDS_HORZ | HDS_FULLDRAG | HDS_DRAGDROP; TRACE("(lpcs=%p)\n", lpcs); @@ -7895,9 +8007,12 @@ infoPtr->notifyFormat = SendMessageW(infoPtr->hwndNotify, WM_NOTIFYFORMAT, (WPARAM)infoPtr->hwndSelf, (LPARAM)NF_QUERY); + /* setup creation flags */ + dFlags |= (LVS_NOSORTHEADER & lpcs->style) ? 0 : HDS_BUTTONS; + dFlags |= (LVS_NOCOLUMNHEADER & lpcs->style) ? HDS_HIDDEN : 0; + /* create header */ - infoPtr->hwndHeader = CreateWindowW(WC_HEADERW, NULL, - WS_CHILD | HDS_HORZ | HDS_FULLDRAG | (DWORD)((LVS_NOSORTHEADER & lpcs->style)?0:HDS_BUTTONS), + infoPtr->hwndHeader = CreateWindowW(WC_HEADERW, NULL, dFlags, 0, 0, 0, 0, hwnd, NULL, lpcs->hInstance, NULL); if (!infoPtr->hwndHeader) return -1; @@ -7917,12 +8032,8 @@ { ShowWindow(infoPtr->hwndHeader, SW_SHOWNORMAL); } - else - { - /* set HDS_HIDDEN flag to hide the header bar */ - SetWindowLongW(infoPtr->hwndHeader, GWL_STYLE, - GetWindowLongW(infoPtr->hwndHeader, GWL_STYLE) | HDS_HIDDEN); - } + LISTVIEW_UpdateSize(infoPtr); + LISTVIEW_UpdateScroll(infoPtr); } OpenThemeData(hwnd, themeClass); @@ -8404,7 +8515,7 @@ /* set window focus flag */ infoPtr->bFocus = FALSE; - /* invalidate the selected items before reseting focus flag */ + /* invalidate the selected items before resetting focus flag */ LISTVIEW_InvalidateSelectedItems(infoPtr); return 0; @@ -8628,7 +8739,7 @@ TRACE("()\n"); /* delete all items */ - LISTVIEW_DeleteAllItems(infoPtr); + LISTVIEW_DeleteAllItems(infoPtr, TRUE); /* destroy data structure */ DPA_Destroy(infoPtr->hdpaItems); @@ -8870,11 +8981,10 @@ { TRACE("(hwndFrom=%p, nCommand=%d)\n", hwndFrom, nCommand); - if (nCommand != NF_REQUERY) return 0; - - infoPtr->notifyFormat = SendMessageW(hwndFrom, WM_NOTIFYFORMAT, (WPARAM)infoPtr->hwndSelf, NF_QUERY); - - return 0; + if (nCommand == NF_REQUERY) + infoPtr->notifyFormat = SendMessageW(hwndFrom, WM_NOTIFYFORMAT, (WPARAM)infoPtr->hwndSelf, NF_QUERY); + + return infoPtr->notifyFormat; } /*** @@ -9157,7 +9267,11 @@ LISTVIEW_SaveTextMetrics(infoPtr); if ((infoPtr->dwStyle & LVS_TYPEMASK) == LVS_REPORT) + { SendMessageW(infoPtr->hwndHeader, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(fRedraw, 0)); + LISTVIEW_UpdateSize(infoPtr); + LISTVIEW_UpdateScroll(infoPtr); + } if (fRedraw) LISTVIEW_InvalidateList(infoPtr); @@ -9268,7 +9382,7 @@ infoPtr->rcList.bottom -= GetSystemMetrics(SM_CYHSCROLL); infoPtr->rcList.bottom = max (infoPtr->rcList.bottom - 2, 0); } - else if (uView == LVS_REPORT && !(infoPtr->dwStyle & LVS_NOCOLUMNHEADER)) + else if (uView == LVS_REPORT) { HDLAYOUT hl; WINDOWPOS wp; @@ -9276,10 +9390,14 @@ hl.prc = &infoPtr->rcList; hl.pwpos = ℘ SendMessageW( infoPtr->hwndHeader, HDM_LAYOUT, 0, (LPARAM)&hl ); - - SetWindowPos(wp.hwnd, wp.hwndInsertAfter, wp.x, wp.y, wp.cx, wp.cy, wp.flags); + TRACE(" wp.flags=0x%08x, wp=%d,%d (%dx%d)\n", wp.flags, wp.x, wp.y, wp.cx, wp.cy); + SetWindowPos(wp.hwnd, wp.hwndInsertAfter, wp.x, wp.y, wp.cx, wp.cy, + wp.flags | ((infoPtr->dwStyle & LVS_NOCOLUMNHEADER) + ? SWP_HIDEWINDOW : SWP_SHOWWINDOW)); + TRACE(" after SWP wp=%d,%d (%dx%d)\n", wp.x, wp.y, wp.cx, wp.cy); infoPtr->rcList.top = max(wp.cy, 0); + infoPtr->rcList.top += (infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) ? 2 : 0; } TRACE(" rcList=%s\n", wine_dbgstr_rect(&infoPtr->rcList)); @@ -9302,6 +9420,7 @@ { UINT uNewView = lpss->styleNew & LVS_TYPEMASK; UINT uOldView = lpss->styleOld & LVS_TYPEMASK; + UINT style; TRACE("(styletype=%lx, styleOld=0x%08x, styleNew=0x%08x)\n", wStyleType, lpss->styleOld, lpss->styleNew); @@ -9354,15 +9473,35 @@ hl.prc = &infoPtr->rcList; hl.pwpos = ℘ SendMessageW( infoPtr->hwndHeader, HDM_LAYOUT, 0, (LPARAM)&hl ); - SetWindowPos(infoPtr->hwndHeader, infoPtr->hwndSelf, wp.x, wp.y, wp.cx, wp.cy, wp.flags); + SetWindowPos(infoPtr->hwndHeader, infoPtr->hwndSelf, wp.x, wp.y, wp.cx, wp.cy, + wp.flags | ((infoPtr->dwStyle & LVS_NOCOLUMNHEADER) + ? SWP_HIDEWINDOW : SWP_SHOWWINDOW)); } LISTVIEW_UpdateItemSize(infoPtr); } if (uNewView == LVS_REPORT) - ShowWindow(infoPtr->hwndHeader, (lpss->styleNew & LVS_NOCOLUMNHEADER) ? SW_HIDE : SW_SHOWNORMAL); - + { + if ((lpss->styleOld ^ lpss->styleNew) & LVS_NOCOLUMNHEADER) + { + if (lpss->styleNew & LVS_NOCOLUMNHEADER) + { + /* Turn off the header control */ + style = GetWindowLongW(infoPtr->hwndHeader, GWL_STYLE); + TRACE("Hide header control, was 0x%08x\n", style); + SetWindowLongW(infoPtr->hwndHeader, GWL_STYLE, style | HDS_HIDDEN); + } else { + /* Turn on the header control */ + if ((style = GetWindowLongW(infoPtr->hwndHeader, GWL_STYLE)) & HDS_HIDDEN) + { + TRACE("Show header control, was 0x%08x\n", style); + SetWindowLongW(infoPtr->hwndHeader, GWL_STYLE, (style & ~HDS_HIDDEN) | WS_VISIBLE); + } + } + } + } + if ( (uNewView == LVS_ICON || uNewView == LVS_SMALLICON) && (uNewView != uOldView || ((lpss->styleNew ^ lpss->styleOld) & LVS_ALIGNMASK)) ) LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); @@ -9408,7 +9547,7 @@ return (LRESULT)LISTVIEW_CreateDragImage(infoPtr, (INT)wParam, (LPPOINT)lParam); case LVM_DELETEALLITEMS: - return LISTVIEW_DeleteAllItems(infoPtr); + return LISTVIEW_DeleteAllItems(infoPtr, FALSE); case LVM_DELETECOLUMN: return LISTVIEW_DeleteColumn(infoPtr, (INT)wParam); @@ -9528,6 +9667,8 @@ case LVM_GETORIGIN: if (!lParam) return FALSE; + if ((infoPtr->dwStyle & LVS_TYPEMASK) == LVS_REPORT || + (infoPtr->dwStyle & LVS_TYPEMASK) == LVS_LIST) return FALSE; LISTVIEW_GetOrigin(infoPtr, (LPPOINT)lParam); return TRUE; @@ -9968,10 +10109,9 @@ HFONT hFont, hOldFont = 0; RECT rect; SIZE sz; - int len; if (!infoPtr->hwndEdit || !hdc) return 0; - len = GetWindowTextW(infoPtr->hwndEdit, buffer, sizeof(buffer)/sizeof(buffer[0])); + GetWindowTextW(infoPtr->hwndEdit, buffer, sizeof(buffer)/sizeof(buffer[0])); GetWindowRect(infoPtr->hwndEdit, &rect); /* Select font to get the right dimension of the string */ Modified: trunk/reactos/dll/win32/comctl32/monthcal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/monthca…
============================================================================== --- trunk/reactos/dll/win32/comctl32/monthcal.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/monthcal.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -442,7 +442,7 @@ RECT *days=&dayrect; RECT rtoday; int i, j, m, mask, day, firstDay, weeknum, weeknum1,prevMonth; - int textHeight = infoPtr->textHeight, textWidth = infoPtr->textWidth; + int textHeight = infoPtr->textHeight; SIZE size; HBRUSH hbr; HFONT currentFont; @@ -659,13 +659,11 @@ * date if necessary */ if(!(dwStyle & MCS_NOTODAY)) { - int offset = 0; if(!(dwStyle & MCS_NOTODAYCIRCLE)) { /*day is the number of days from nextmonth we put on the calendar */ MONTHCAL_CircleDay(infoPtr, hdc, day+MONTHCAL_MonthLength(infoPtr->currentMonth,infoPtr->currentYear), infoPtr->currentMonth); - offset+=textWidth; } if (!LoadStringW(COMCTL32_hModule,IDM_TODAY,buf1,countof(buf1))) { Modified: trunk/reactos/dll/win32/comctl32/pager.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/pager.c…
============================================================================== --- trunk/reactos/dll/win32/comctl32/pager.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/pager.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -555,8 +555,8 @@ PAGER_SetFixedWidth(PAGER_INFO* infoPtr) { /* Must set the non-scrollable dimension to be less than the full height/width - * so that NCCalcSize is called. The Msoft docs mention 3/4 factor for button - * size, and experimentation shows that affect is almost right. */ + * so that NCCalcSize is called. The Microsoft docs mention 3/4 factor for button + * size, and experimentation shows that the effect is almost right. */ RECT wndRect; INT delta, h; @@ -586,8 +586,8 @@ PAGER_SetFixedHeight(PAGER_INFO* infoPtr) { /* Must set the non-scrollable dimension to be less than the full height/width - * so that NCCalcSize is called. The Msoft docs mention 3/4 factor for button - * size, and experimentation shows that affect is almost right. */ + * so that NCCalcSize is called. The Microsoft docs mention 3/4 factor for button + * size, and experimentation shows that the effect is almost right. */ RECT wndRect; INT delta, w; Modified: trunk/reactos/dll/win32/comctl32/propsheet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/propshe…
============================================================================== --- trunk/reactos/dll/win32/comctl32/propsheet.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/propsheet.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -3449,7 +3449,6 @@ PropSheetInfo* psInfo = (PropSheetInfo*) lParam; WCHAR* strCaption = (WCHAR*)Alloc(MAX_CAPTION_LENGTH*sizeof(WCHAR)); HWND hwndTabCtrl = GetDlgItem(hwnd, IDC_TABCONTROL); - LPCPROPSHEETPAGEW ppshpage; int idx; LOGFONTW logFont; @@ -3545,7 +3544,6 @@ PSCB_INITIALIZED, (LPARAM)0); idx = psInfo->active_page; - ppshpage = (LPCPROPSHEETPAGEW)psInfo->proppage[idx].hpage; psInfo->active_page = -1; PROPSHEET_SetCurSel(hwnd, idx, 1, psInfo->proppage[idx].hpage); Modified: trunk/reactos/dll/win32/comctl32/rebar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/rebar.c…
============================================================================== --- trunk/reactos/dll/win32/comctl32/rebar.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/rebar.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -2848,7 +2848,6 @@ { LPCREATESTRUCTW cs = (LPCREATESTRUCTW) lParam; RECT wnrc1, clrc1; - HTHEME theme; if (TRACE_ON(rebar)) { GetWindowRect(infoPtr->hwndSelf, &wnrc1); @@ -2859,8 +2858,8 @@ } TRACE("created!\n"); - - if ((theme = OpenThemeData (infoPtr->hwndSelf, themeClass))) + + if (OpenThemeData (infoPtr->hwndSelf, themeClass)) { /* native seems to clear WS_BORDER when themed */ infoPtr->dwStyle &= ~WS_BORDER; Modified: trunk/reactos/dll/win32/comctl32/status.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/status.…
============================================================================== --- trunk/reactos/dll/win32/comctl32/status.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/status.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -984,12 +984,6 @@ dwStyle = GetWindowLongW (hwnd, GWL_STYLE); /* native seems to clear WS_BORDER, too */ dwStyle &= ~WS_BORDER; - - /* statusbars on managed windows should not have SIZEGRIP style */ - if ((dwStyle & SBARS_SIZEGRIP) && lpCreate->hwndParent && - GetPropA( lpCreate->hwndParent, "__wine_x11_managed" )) - dwStyle &= ~SBARS_SIZEGRIP; - SetWindowLongW (hwnd, GWL_STYLE, dwStyle); if ((hdc = GetDC (hwnd))) { Modified: trunk/reactos/dll/win32/comctl32/syslink.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/syslink…
============================================================================== --- trunk/reactos/dll/win32/comctl32/syslink.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/syslink.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -967,16 +967,14 @@ */ static LRESULT SYSLINK_SetText (SYSLINK_INFO *infoPtr, LPCWSTR Text) { - int textlen; - /* clear the document */ SYSLINK_ClearDoc(infoPtr); - - if(Text == NULL || (textlen = lstrlenW(Text)) == 0) + + if(Text == NULL || *Text == 0) { return TRUE; } - + /* let's parse the string and create a document */ if(SYSLINK_ParseText(infoPtr, Text) > 0) { Modified: trunk/reactos/dll/win32/comctl32/tab.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/tab.c?r…
============================================================================== --- trunk/reactos/dll/win32/comctl32/tab.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/tab.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -1715,12 +1715,12 @@ if(lStyle & TCS_VERTICAL) { center_offset_h = ((drawRect->bottom - drawRect->top) - (cy + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2; - center_offset_v = (drawRect->left + (drawRect->right - drawRect->left) - cx) / 2; + center_offset_v = ((drawRect->right - drawRect->left) - cx) / 2; } else { center_offset_h = ((drawRect->right - drawRect->left) - (cx + infoPtr->uHItemPadding + (rcText.right - rcText.left))) / 2; - center_offset_v = (drawRect->top + (drawRect->bottom - drawRect->top) - cy) / 2; + center_offset_v = ((drawRect->bottom - drawRect->top) - cy) / 2; } /* if an item is selected, the icon is shifted up instead of down */ Modified: trunk/reactos/dll/win32/comctl32/toolbar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/toolbar…
============================================================================== --- trunk/reactos/dll/win32/comctl32/toolbar.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/toolbar.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -1280,7 +1280,7 @@ TBUTTON_INFO *btnPtr; INT x, cx, i, j; RECT rc; - BOOL bWrap, bButtonWrap; + BOOL bButtonWrap; /* When the toolbar window style is not TBSTYLE_WRAPABLE, */ /* no layout is necessary. Applications may use this style */ @@ -1314,7 +1314,6 @@ for (i = 0; i < infoPtr->nNumButtons; i++ ) { - bWrap = FALSE; btnPtr[i].fsState &= ~TBSTATE_WRAP; if (btnPtr[i].fsState & TBSTATE_HIDDEN) @@ -2406,8 +2405,8 @@ SendDlgItemMessageW (hwnd, IDC_TOOLBARBTN_LBOX, LB_SETCURSEL, index, 0); SendDlgItemMessageW (hwnd, IDC_TOOLBARBTN_LBOX, LB_SETTOPINDEX, index, 0); - MakeDragList(GetDlgItem(hwnd, IDC_TOOLBARBTN_LBOX)); - MakeDragList(GetDlgItem(hwnd, IDC_AVAILBTN_LBOX)); + MakeDragList(GetDlgItem(hwnd, IDC_TOOLBARBTN_LBOX)); + MakeDragList(GetDlgItem(hwnd, IDC_AVAILBTN_LBOX)); /* set focus and disable buttons */ PostMessageW (hwnd, WM_USER, 0, 0); @@ -4762,7 +4761,7 @@ TRACE("hwnd = %p, nHit = %d\n", hwnd, (INT)wParam); - if ((INT)wParam > infoPtr->nNumButtons) + if ((INT)wParam >= infoPtr->nNumButtons) return infoPtr->nHotItem; if ((INT)wParam < 0) @@ -4985,7 +4984,7 @@ /* FIXME: Separators make this quite complex */ if (seps) FIXME("Separators unhandled\n"); - /* Round up so more per line, ie less rows */ + /* Round up so more per line, i.e., less rows */ idealWrap = (infoPtr->nNumButtons - hidden + (rows-1)) / rows; /* Calculate ideal wrap point if we are allowed to grow, but cannot @@ -5779,7 +5778,6 @@ POINT pt; INT nHit; INT nOldIndex = -1; - BOOL bSendMessage = TRUE; NMHDR hdr; NMMOUSE nmmouse; NMTOOLBARA nmtb; @@ -5866,8 +5864,6 @@ if (btnPtr->fsStyle & BTNS_GROUP) { nOldIndex = TOOLBAR_GetCheckedGroupButtonIndex (infoPtr, nHit); - if (nOldIndex == nHit) - bSendMessage = FALSE; if ((nOldIndex != nHit) && (nOldIndex != -1)) infoPtr->buttons[nOldIndex].fsState &= ~TBSTATE_CHECKED; @@ -6075,7 +6071,7 @@ /* call TRACKMOUSEEVENT so we receive a WM_MOUSELEAVE message */ /* and can properly deactivate the hot toolbar button */ _TrackMouseEvent(&trackinfo); - } + } } if (infoPtr->hwndToolTip) Modified: trunk/reactos/dll/win32/comctl32/tooltips.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/tooltip…
============================================================================== --- trunk/reactos/dll/win32/comctl32/tooltips.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/tooltips.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -883,7 +883,7 @@ TOOLTIPS_GetToolFromInfoA (const TOOLTIPS_INFO *infoPtr, const TTTOOLINFOA *lpToolInfo) { TTTOOL_INFO *toolPtr; - INT nTool; + UINT nTool; for (nTool = 0; nTool < infoPtr->uNumTools; nTool++) { toolPtr = &infoPtr->tools[nTool]; @@ -910,7 +910,7 @@ TOOLTIPS_GetToolFromInfoW (const TOOLTIPS_INFO *infoPtr, const TTTOOLINFOW *lpToolInfo) { TTTOOL_INFO *toolPtr; - INT nTool; + UINT nTool; for (nTool = 0; nTool < infoPtr->uNumTools; nTool++) { toolPtr = &infoPtr->tools[nTool]; @@ -937,7 +937,7 @@ TOOLTIPS_GetToolFromPoint (const TOOLTIPS_INFO *infoPtr, HWND hwnd, const POINT *lpPt) { TTTOOL_INFO *toolPtr; - INT nTool; + UINT nTool; for (nTool = 0; nTool < infoPtr->uNumTools; nTool++) { toolPtr = &infoPtr->tools[nTool]; Modified: trunk/reactos/dll/win32/comctl32/trackbar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/trackba…
============================================================================== --- trunk/reactos/dll/win32/comctl32/trackbar.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/trackbar.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -822,7 +822,6 @@ HBITMAP hOldBmp = 0, hOffScreenBmp = 0; NMCUSTOMDRAW nmcd; int gcdrf, icdrf; - HTHEME theme; if (infoPtr->flags & TB_THUMBCHANGED) { TRACKBAR_UpdateThumb (infoPtr); @@ -867,7 +866,7 @@ /* Erase background */ if (gcdrf == CDRF_DODEFAULT || notify_customdraw(infoPtr, &nmcd, CDDS_PREERASE) != CDRF_SKIPDEFAULT) { - if ((theme = GetWindowTheme (infoPtr->hwndSelf))) { + if (GetWindowTheme (infoPtr->hwndSelf)) { DrawThemeParentBackground (infoPtr->hwndSelf, hdc, 0); } else @@ -1453,9 +1452,10 @@ if (infoPtr->hwndToolTip) DestroyWindow (infoPtr->hwndToolTip); - Free (infoPtr); SetWindowLongPtrW (infoPtr->hwndSelf, 0, 0); CloseThemeData (GetWindowTheme (infoPtr->hwndSelf)); + Free (infoPtr); + return 0; } Modified: trunk/reactos/dll/win32/comctl32/treeview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/treevie…
============================================================================== --- trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -1019,7 +1019,6 @@ TREEVIEW_FreeItem(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *item) { DPA_DeletePtr(infoPtr->items, DPA_GetPtrIndex(infoPtr->items, item)); - Free(item); if (infoPtr->selectedItem == item) infoPtr->selectedItem = NULL; if (infoPtr->hotItem == item) @@ -1032,6 +1031,7 @@ infoPtr->dropItem = NULL; if (infoPtr->insertMarkItem == item) infoPtr->insertMarkItem = NULL; + Free(item); } @@ -3292,7 +3292,7 @@ scrollDist = nextItem->rect.top - orgNextTop; scrollRect.top = orgNextTop; - ScrollWindowEx (infoPtr->hwnd, 0, scrollDist, &scrollRect, NULL, + ScrollWindowEx (infoPtr->hwnd, 0, scrollDist, &scrollRect, &scrollRect, NULL, NULL, SW_ERASE | SW_INVALIDATE); TREEVIEW_Invalidate (infoPtr, wineItem); } else { @@ -3573,12 +3573,11 @@ TREEVIEW_ITEM *editItem = infoPtr->selectedItem; HDC hdc = GetDC(infoPtr->hwndEdit); SIZE sz; - int len; HFONT hFont, hOldFont = 0; infoPtr->bLabelChanged = TRUE; - len = GetWindowTextW(infoPtr->hwndEdit, buffer, sizeof(buffer)/sizeof(buffer[0])); + GetWindowTextW(infoPtr->hwndEdit, buffer, sizeof(buffer)/sizeof(buffer[0])); /* Select font to get the right dimension of the string */ hFont = (HFONT)SendMessageW(infoPtr->hwndEdit, WM_GETFONT, 0, 0); Modified: trunk/reactos/dll/win32/comctl32/updown.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/updown.…
============================================================================== --- trunk/reactos/dll/win32/comctl32/updown.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/updown.c [iso-8859-1] Sun Jul 6 07:41:23 2008 @@ -470,6 +470,28 @@ } /*********************************************************************** + * UPDOWN_MouseWheel + * + * Handle mouse wheel scrolling + */ +static LRESULT UPDOWN_MouseWheel(UPDOWN_INFO *infoPtr, WPARAM wParam) +{ + int iWheelDelta = GET_WHEEL_DELTA_WPARAM(wParam) / WHEEL_DELTA; + + if (wParam & (MK_SHIFT | MK_CONTROL)) + return 0; + + if (iWheelDelta != 0) + { + UPDOWN_GetBuddyInt(infoPtr); + UPDOWN_DoAction(infoPtr, abs(iWheelDelta), iWheelDelta > 0 ? FLAG_INCR : FLAG_DECR); + } + + return 1; +} + + +/*********************************************************************** * UPDOWN_Buddy_SubclassProc used to handle messages sent to the buddy * control. */ @@ -485,6 +507,11 @@ HWND upDownHwnd = GetPropW(hwnd, BUDDY_UPDOWN_HWND); UPDOWN_KeyPressed(UPDOWN_GetInfoPtr(upDownHwnd), (int)wParam); + } + else if (uMsg == WM_MOUSEWHEEL) { + HWND upDownHwnd = GetPropW(hwnd, BUDDY_UPDOWN_HWND); + + UPDOWN_MouseWheel(UPDOWN_GetInfoPtr(upDownHwnd), (int)wParam); } return CallWindowProcW( superClassWndProc, hwnd, uMsg, wParam, lParam); @@ -929,6 +956,10 @@ UPDOWN_HandleMouseEvent (infoPtr, message, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam)); break; + case WM_MOUSEWHEEL: + UPDOWN_MouseWheel(infoPtr, wParam); + break; + case WM_KEYDOWN: if((infoPtr->dwStyle & UDS_ARROWKEYS) && UPDOWN_IsEnabled(infoPtr)) return UPDOWN_KeyPressed(infoPtr, (int)wParam);
16 years, 5 months
1
0
0
0
[fireball] 34326: Autosyncing with Wine HEAD
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 07:15:28 2008 New Revision: 34326 URL:
http://svn.reactos.org/svn/reactos?rev=34326&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/avifil32/avifile_Da.rc (with props) Modified: trunk/reactos/dll/win32/avifil32/api.c trunk/reactos/dll/win32/avifil32/avifil32.rbuild trunk/reactos/dll/win32/avifil32/avifile_Cs.rc trunk/reactos/dll/win32/avifil32/avifile_De.rc trunk/reactos/dll/win32/avifil32/avifile_En.rc trunk/reactos/dll/win32/avifil32/avifile_Es.rc trunk/reactos/dll/win32/avifil32/avifile_Fr.rc trunk/reactos/dll/win32/avifil32/avifile_Hu.rc trunk/reactos/dll/win32/avifil32/avifile_It.rc trunk/reactos/dll/win32/avifil32/avifile_Ja.rc trunk/reactos/dll/win32/avifil32/avifile_Ko.rc trunk/reactos/dll/win32/avifil32/avifile_Nl.rc trunk/reactos/dll/win32/avifil32/avifile_No.rc trunk/reactos/dll/win32/avifil32/avifile_Pl.rc trunk/reactos/dll/win32/avifil32/avifile_Pt.rc trunk/reactos/dll/win32/avifil32/avifile_Ru.rc trunk/reactos/dll/win32/avifil32/avifile_Si.rc trunk/reactos/dll/win32/avifil32/avifile_Sv.rc trunk/reactos/dll/win32/avifil32/avifile_Tr.rc trunk/reactos/dll/win32/avifil32/rsrc.rc trunk/reactos/dll/win32/cabinet/fdi.c Modified: trunk/reactos/dll/win32/avifil32/api.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/api.c?r…
============================================================================== --- trunk/reactos/dll/win32/avifil32/api.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/api.c [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -1524,7 +1524,7 @@ if (nStreams < 0 || ppOptions == NULL) return AVIERR_BADPARAM; - for (; nStreams > 0; nStreams--) { + for (nStreams--; nStreams >= 0; nStreams--) { if (ppOptions[nStreams] != NULL) { ppOptions[nStreams]->dwFlags &= ~AVICOMPRESSF_VALID; Modified: trunk/reactos/dll/win32/avifil32/avifil32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifil3…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifil32.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifil32.rbuild [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -23,6 +23,7 @@ <file>rsrc.rc</file> <file>avifil32.spec</file> <library>wine</library> + <library>uuid</library> <library>msacm32</library> <library>msvfw32</library> <library>winmm</library> @@ -30,7 +31,6 @@ <library>user32</library> <library>advapi32</library> <library>kernel32</library> - <library>uuid</library> <library>ntdll</library> </module> </group> Modified: trunk/reactos/dll/win32/avifil32/avifile_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Cs.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Cs.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -24,22 +24,22 @@ /* Czech strings in CP1250 */ -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Nastavení komprese" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Vyber datový proud:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Vyber datový proud:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "V&olby...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "Prolo&it kadých",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "rámcù",-1,104,43,36,9 - LTEXT "Souèasný formát:",-1,3,56,53,9 - LTEXT "Zbývající místo",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "Budi",IDOK,145,42,45,14 - PUSHBUTTON "Zruit",IDCANCEL,145,61,45,14 + PUSHBUTTON "V&olby...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "Prolo&it kadých",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "rámcù",-1,129,43,36,9 + LTEXT "Souèasný formát:",-1,3,56,73,9 + LTEXT "Zbývající místo",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "Budi",IDOK,170,42,50,14 + PUSHBUTTON "Zruit",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Added: trunk/reactos/dll/win32/avifil32/avifile_Da.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Da.rc (added) +++ trunk/reactos/dll/win32/avifil32/avifile_Da.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -1,0 +1,50 @@ +/* + * Copyright 2008 Jens Albretsen + * + * 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 + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * 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 + */ + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Komprimerings indstillinger" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "&Vælg en stream:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + PUSHBUTTON "I&ndstillinger...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave hver",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "billeder",-1,129,43,36,9 + LTEXT "Nuværende format:",-1,3,56,53,9 + LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Annuller",IDCANCEL,170,61,50,14 +END + +STRINGTABLE DISCARDABLE +{ + IDS_WAVESTREAMFORMAT "Lydkurve: %s" + IDS_WAVEFILETYPE "Lydkurve" + IDS_ALLMULTIMEDIA "Alle multimedia filer" + IDS_ALLFILES "Alle files (*.*)(a)*.*" + IDS_VIDEO "video" + IDS_AUDIO "audio" + IDS_AVISTREAMFORMAT "%s %s #%d" + IDS_AVIFILETYPE "Wine AVI-default-filehandler" + IDS_UNCOMPRESSED "ukomprimeret" +} Propchange: trunk/reactos/dll/win32/avifil32/avifile_Da.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/win32/avifil32/avifile_De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_De.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_De.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Komprimierungsoptionen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Wählen Sie die Eingangsdaten aus:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Wählen Sie die Eingangsdaten aus:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Optionen...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "Einzelbilder",-1,104,43,36,9 - LTEXT "Akuelles Format:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Abbrechen",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Optionen...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,75,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,81,41,32,12,ES_AUTOHSCROLL + LTEXT "Einzelbilder",-1,119,43,36,9 + LTEXT "Aktuelles Format:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Abbrechen",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_En.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_En.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Compress options" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Choose a stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Choose a stream:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Options...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "frames",-1,104,43,36,9 - LTEXT "Current format:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Cancel",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Options...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "frames",-1,129,43,36,9 + LTEXT "Current format:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Cancel",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Es.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Es.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Es.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Opciones de compresión" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Elija un stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Elija un stream:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opciones...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave cada",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "cuadros",-1,104,43,36,9 - LTEXT "Formato actual:",-1,3,56,53,9 - LTEXT "Espacio en alquiler",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "Aceptar",IDOK,145,42,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opciones...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave cada",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "cuadros",-1,129,43,36,9 + LTEXT "Formato actual:",-1,3,56,73,9 + LTEXT "Espacio en alquiler",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "Aceptar",IDOK,170,42,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Fr.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Fr.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -22,22 +22,22 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Options de compression" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Sélectionnez un flux :",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Sélectionnez un flux :",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Options...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Imbriquer à chaque",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "images",-1,104,43,36,9 - LTEXT "Format actuel :",-1,3,56,53,9 - LTEXT "Cet espace est à louer",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Annuler",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Options...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Imbriquer à chaque",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "images",-1,129,43,36,9 + LTEXT "Format actuel:",-1,3,56,73,9 + LTEXT "Cet espace est à louer",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Annuler",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Hu.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Hu.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Tömörítési beállítások" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Válassuon folyamot:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Válassuon folyamot:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opciók...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Beékel minden",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "képkockát",-1,104,43,36,9 - LTEXT "Jelenlegi formátum:",-1,3,56,53,9 - LTEXT "Ez hely kölcsönzésre",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Mégse",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opciók...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Beékel minden",IDC_INTERLEAVE,3,42,75,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,81,41,32,12,ES_AUTOHSCROLL + LTEXT "képkockát",-1,119,43,36,9 + LTEXT "Jelenlegi formátum:",-1,3,56,73,9 + LTEXT "Ez hely kölcsönzésre",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Mégse",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_It.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_It.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_It.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -19,22 +19,22 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Opzioni di compressione" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Scegliere un flusso:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Scegliere un flusso:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opzioni...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interfoliazione ogni",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "fotogrammi",-1,104,43,36,9 - LTEXT "Formato attuale:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Annulla",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opzioni...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interfoliazione ogni",IDC_INTERLEAVE,3,42,75,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,81,41,32,12,ES_AUTOHSCROLL + LTEXT "fotogrammi",-1,119,43,36,9 + LTEXT "Formato attuale:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Annulla",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ja.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ja.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "³kIvV" FONT 9, "MS UI Gothic" BEGIN - LTEXT "Xg[ðIð(&C):",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "Xg[ðIð(&C):",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "IvV(&O)...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "C^[[u(&I)",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "t[",-1,104,43,36,9 - LTEXT "»ÝÌtH[}bg:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "LZ",IDCANCEL,145,61,45,14 + PUSHBUTTON "IvV(&O)...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "C^[[u(&I)",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "t[",-1,129,43,36,9 + LTEXT "»ÝÌtH[}bg:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "LZ",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ko.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ko.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -19,22 +19,22 @@ LANGUAGE LANG_KOREAN, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "¾ÐÃà ¿É¼Ç" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "½ºÆ®¸² ¼±ÅÃ(&C):",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "½ºÆ®¸² ¼±ÅÃ(&C):",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "¿É¼Ç(&O)...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "Ç×»ó »óÈ£¹èÄ¡(&I)",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "ÇÁ·¹ÀÓ",-1,104,43,36,9 - LTEXT "ÇöÀç Çü½Ä:",-1,3,56,53,9 - LTEXT "ÇÊ¿äÇÑ °ø°£",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "È®ÀÎ",IDOK,145,42,45,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,145,61,45,14 + PUSHBUTTON "¿É¼Ç(&O)...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "Ç×»ó »óÈ£¹èÄ¡(&I)",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "ÇÁ·¹ÀÓ",-1,129,43,36,9 + LTEXT "ÇöÀç Çü½Ä:",-1,3,56,73,9 + LTEXT "ÇÊ¿äÇÑ °ø°£",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "È®ÀÎ",IDOK,170,42,50,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Nl.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Nl.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -20,22 +20,22 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Compressie-instellingen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Kies een invoerbestand:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Kies een invoerbestand:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opties...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "Losse frames",-1,104,43,36,9 - LTEXT "Huidig formaat:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Annuleren",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opties...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "Losse frames",-1,129,43,36,9 + LTEXT "Huidig formaat:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Annuleren",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_No.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_No.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Komprimeringsinnstillinger" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Velg en strøm:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Velg en strøm:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "I&nnstillinger . . .",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "Sett &inn for hver",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "bilde",-1,104,43,36,9 - LTEXT "Gjeldende format:",-1,3,56,53,9 - LTEXT "Denne plassen er til leie",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Avbryt",IDCANCEL,145,61,45,14 + PUSHBUTTON "I&nnstillinger...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "Sett &inn for hver",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "bilde",-1,129,43,36,9 + LTEXT "Gjeldende format:",-1,3,56,73,9 + LTEXT "Denne plassen er til leie",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Avbryt",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Pl.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Pl.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -19,22 +19,22 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Opcje kompresji" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Wybierz strumieñ:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Wybierz strumieñ:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opcje...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Przeplot co",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "klatek",-1,104,43,36,9 - LTEXT "Wybrany format:",-1,2,56,53,9 - LTEXT "Zarezerwowane miejsce",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Anuluj",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opcje...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Przeplot co",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "klatek",-1,129,43,36,9 + LTEXT "Wybrany format:",-1,2,56,73,9 + LTEXT "Zarezerwowane miejsce",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Anuluj",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Pt.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Pt.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -19,42 +19,42 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Opções de compressão" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Escolha a stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Escolha a stream:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opções...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "frames",-1,104,43,36,9 - LTEXT "Formato atual:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "frames",-1,129,43,36,9 + LTEXT "Formato atual:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,170,61,50,14 END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Opções de compressão" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Escolha a stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Escolha a stream:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opções...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interlaçar a todos os",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "molduras",-1,104,43,36,9 - LTEXT "Formato actual:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interlaçar a todos os",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "molduras",-1,129,43,36,9 + LTEXT "Formato actual:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,170,61,50,14 END Modified: trunk/reactos/dll/win32/avifil32/avifile_Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ru.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ru.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -20,22 +20,22 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Íàñòðîéêè ñæàòèÿ" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Âûáåðèòå ïîòîê:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Âûáåðèòå ïîòîê:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Îïöèè...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Ïðîñëàèâàòü êàæäûå",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "ôðåéìà",-1,104,43,36,9 - LTEXT "Òåêóùèé ôîðìàò:",-1,3,56,53,9 - LTEXT "Ýòî ìåñòî ñäà¸òñÿ â àðåíäó",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Îòìåíà",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Îïöèè...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Ïðîñëàèâàòü êàæäûå",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "ôðåéìà",-1,129,43,36,9 + LTEXT "Òåêóùèé ôîðìàò:",-1,3,56,73,9 + LTEXT "Ýòî ìåñòî ñäà¸òñÿ â àðåíäó",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Îòìåíà",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Si.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Si.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Si.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -1,5 +1,5 @@ /* - * Copyright 2003 Rok Mandeljc <rok.mandeljc(a)gimb.org> + * Copyright 2003, 2008 Rok Mandeljc * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -16,35 +16,39 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma code_page(65001) + LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Monosti za stiskanje" +CAPTION "Možnosti stiskanja" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Izbira toka:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Izbran tok:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Monosti ...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Preplet vsake",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "slike",-1,104,43,36,9 - LTEXT "Trenutna oblika zapisa:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "V redu",IDOK,145,42,45,14 - PUSHBUTTON "Preklièi",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Možnosti...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Prepletanje vsake",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "slike",-1,129,43,36,9 + LTEXT "Trenutna oblika zapisa:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "V redu",IDOK,170,42,50,14 + PUSHBUTTON "PrekliÄi",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE { IDS_WAVESTREAMFORMAT "Waveform: %s" IDS_WAVEFILETYPE "Waveform" - IDS_ALLMULTIMEDIA "Vse veèpredstavnostne datoteke" + IDS_ALLMULTIMEDIA "Vse veÄpredstavnostne datoteke" IDS_ALLFILES "Vse datoteke (*.*)(a)*.*" IDS_VIDEO "video" IDS_AUDIO "avdio" IDS_AVISTREAMFORMAT "%s %s #%d" - IDS_AVIFILETYPE "Privzeti program za obravnavo AVI datotek" + IDS_AVIFILETYPE "Wine privzeti-upravljalec-AVI-datotek" IDS_UNCOMPRESSED "nestisnjeno" } + +#pragma code_page(default) Modified: trunk/reactos/dll/win32/avifil32/avifile_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Sv.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Sv.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -16,24 +16,24 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Komprimeringsalternativ" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Välj en ström:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "&Välj en ström:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "A<ernativ...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interfoliera varje",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "frames",-1,104,43,36,9 - LTEXT "Aktuellt format:",-1,3,56,53,9 - LTEXT "Detta utrymme uthyres",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "OK",IDOK,145,42,45,14 - PUSHBUTTON "Avbryt",IDCANCEL,145,61,45,14 + PUSHBUTTON "A<ernativ...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interfoliera varje",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "frames",-1,129,43,36,9 + LTEXT "Aktuellt format:",-1,3,56,73,9 + LTEXT "Detta utrymme uthyres",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "OK",IDOK,170,42,50,14 + PUSHBUTTON "Avbryt",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/avifile_Tr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Tr.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Tr.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -18,22 +18,22 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT -IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Sýkýþtýrma seçenekleri" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Bir akýþ se&çin:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + LTEXT "Bir akýþ se&çin:",-1,2,5,154,10 + COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Seçenekler...",IDC_OPTIONS,145,17,45,14 - AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP - EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL - LTEXT "frames",-1,104,43,36,9 - LTEXT "Geçerli biçim:",-1,3,56,53,9 - LTEXT "This space for rent",IDC_FORMATTEXT,55,56,90,26 - DEFPUSHBUTTON "Tamam",IDOK,145,42,45,14 - PUSHBUTTON "Ýptal",IDCANCEL,145,61,45,14 + PUSHBUTTON "&Seçenekler...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL + LTEXT "frames",-1,129,43,36,9 + LTEXT "Geçerli biçim:",-1,3,56,73,9 + LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "Tamam",IDOK,170,42,50,14 + PUSHBUTTON "Ýptal",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE Modified: trunk/reactos/dll/win32/avifil32/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/rsrc.rc…
============================================================================== --- trunk/reactos/dll/win32/avifil32/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/avifil32/rsrc.rc [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -39,6 +39,7 @@ * in one of the specific files. */ #include "avifile_Cs.rc" +#include "avifile_Da.rc" #include "avifile_De.rc" #include "avifile_En.rc" #include "avifile_Es.rc" Modified: trunk/reactos/dll/win32/cabinet/fdi.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/fdi.c?re…
============================================================================== --- trunk/reactos/dll/win32/cabinet/fdi.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/cabinet/fdi.c [iso-8859-1] Sun Jul 6 07:15:28 2008 @@ -121,7 +121,7 @@ typedef struct fdi_cds_fwd { void *hfdi; /* the hfdi we are using */ - int filehf, cabhf; /* file handle we are using */ + INT_PTR filehf, cabhf; /* file handle we are using */ struct fdi_folder *current; /* current folder we're extracting from */ cab_ULONG offset; /* uncompressed offset within folder */ cab_UBYTE *outpos; /* (high level) start of data to use up */ @@ -160,21 +160,21 @@ if (model->syms[0].cumfreq > 3800) { if (--model->shiftsleft) { for (i = model->entries - 1; i >= 0; i--) { - /* -1, not -2; the 0 entry saves this */ - model->syms[i].cumfreq >>= 1; - if (model->syms[i].cumfreq <= model->syms[i+1].cumfreq) { - model->syms[i].cumfreq = model->syms[i+1].cumfreq + 1; - } + /* -1, not -2; the 0 entry saves this */ + model->syms[i].cumfreq >>= 1; + if (model->syms[i].cumfreq <= model->syms[i+1].cumfreq) { + model->syms[i].cumfreq = model->syms[i+1].cumfreq + 1; + } } } else { model->shiftsleft = 50; for (i = 0; i < model->entries ; i++) { - /* no -1, want to include the 0 entry */ - /* this converts cumfreqs into frequencies, then shifts right */ - model->syms[i].cumfreq -= model->syms[i+1].cumfreq; - model->syms[i].cumfreq++; /* avoid losing things entirely */ - model->syms[i].cumfreq >>= 1; + /* no -1, want to include the 0 entry */ + /* this converts cumfreqs into frequencies, then shifts right */ + model->syms[i].cumfreq -= model->syms[i+1].cumfreq; + model->syms[i].cumfreq++; /* avoid losing things entirely */ + model->syms[i].cumfreq >>= 1; } /* now sort by frequencies, decreasing order -- this must be an @@ -182,22 +182,22 @@ * characteristics */ for (i = 0; i < model->entries - 1; i++) { - for (j = i + 1; j < model->entries; j++) { - if (model->syms[i].cumfreq < model->syms[j].cumfreq) { - temp = model->syms[i]; - model->syms[i] = model->syms[j]; - model->syms[j] = temp; + for (j = i + 1; j < model->entries; j++) { + if (model->syms[i].cumfreq < model->syms[j].cumfreq) { + temp = model->syms[i]; + model->syms[i] = model->syms[j]; + model->syms[j] = temp; + } + } } - } - } - + /* then convert frequencies back to cumfreq */ for (i = model->entries - 1; i >= 0; i--) { - model->syms[i].cumfreq += model->syms[i+1].cumfreq; + model->syms[i].cumfreq += model->syms[i+1].cumfreq; } /* then update the other part of the table */ for (i = 0; i < model->entries; i++) { - model->tabloc[model->syms[i].sym] = i; + model->tabloc[model->syms[i].sym] = i; } } } @@ -882,7 +882,7 @@ memcpy(CAB(lzx_position_base), base, sizeof(base)); /* calculate required position slots */ - if (window == 20) posn_slots = 42; + if (window == 20) posn_slots = 42; else if (window == 21) posn_slots = 50; else posn_slots = window << 1; @@ -1034,7 +1034,8 @@ w += l[h++]; /* add bits already decoded */ /* compute minimum size table less than or equal to *m bits */ - z = (z = g - w) > (cab_ULONG)*m ? *m : z; /* upper limit */ + if ((z = g - w) > (cab_ULONG)*m) /* upper limit */ + z = *m; if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */ { /* too few codes for k-w bit table */ f -= a + 1; /* deduct codes from patterns left */ @@ -1177,7 +1178,10 @@ ZIPDUMPBITS(e) do { - n -= (e = (e = ZIPWSIZE - ((d &= ZIPWSIZE-1) > w ? d : w)) > n ?n:e); + d &= ZIPWSIZE - 1; + e = ZIPWSIZE - max(d, w); + e = min(e, n); + n -= e; do { CAB(outbuf)[w++] = CAB(outbuf)[d++]; @@ -2047,7 +2051,8 @@ /* outlen=0 means this block was the last contiguous part of a split block, continued in the next cabinet */ if (outlen == 0) { - int pathlen, filenamelen, idx, i, cabhf; + int pathlen, filenamelen, idx, i; + INT_PTR cabhf; char fullpath[MAX_PATH], userpath[256]; FDINOTIFICATION fdin; FDICABINETINFO fdici; @@ -2428,7 +2433,8 @@ { FDICABINETINFO fdici; FDINOTIFICATION fdin; - int cabhf, filehf = 0, idx; + INT_PTR cabhf, filehf = 0; + int idx; unsigned int i; char fullpath[MAX_PATH]; size_t pathlen, filenamelen;
16 years, 5 months
1
0
0
0
[mkupfer] 34325: - avoid clock flicker in timedate.cpl - TODO: limit repaint area to clock only (to avoid flicker of time adjusting control as well)
by mkupfer@svn.reactos.org
Author: mkupfer Date: Sun Jul 6 07:05:17 2008 New Revision: 34325 URL:
http://svn.reactos.org/svn/reactos?rev=34325&view=rev
Log: - avoid clock flicker in timedate.cpl - TODO: limit repaint area to clock only (to avoid flicker of time adjusting control as well) Modified: trunk/reactos/dll/cpl/timedate/clock.c Modified: trunk/reactos/dll/cpl/timedate/clock.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/timedate/clock.c?r…
============================================================================== --- trunk/reactos/dll/cpl/timedate/clock.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/timedate/clock.c [iso-8859-1] Sun Jul 6 07:05:17 2008 @@ -141,7 +141,8 @@ LPARAM lParam) { PCLOCKDATA pClockData; - HDC hdc; + HDC hdc, dcMem; + HBITMAP bmMem, bmOld; PAINTSTRUCT ps; pClockData = (PCLOCKDATA)GetWindowLongPtrW(hwnd, GWLP_USERDATA); @@ -168,15 +169,38 @@ case WM_TIMER: GetLocalTime(&pClockData->stCurrent); - InvalidateRect(hwnd, NULL, TRUE); + //InvalidateRect(hwnd, NULL, TRUE); + InvalidateRect(hwnd, NULL, FALSE); pClockData->stPrevious = pClockData->stCurrent; break; case WM_PAINT: hdc = BeginPaint(hwnd, &ps); - SetIsotropic(hdc, pClockData); - DrawClock(hdc, pClockData); - DrawHands(hdc, &pClockData->stPrevious, TRUE); + + /* Use an offscreen dc to avoid flicker */ + + dcMem = CreateCompatibleDC(hdc); + bmMem = CreateCompatibleBitmap(hdc, ps.rcPaint.right - ps.rcPaint.left, ps.rcPaint.bottom - ps.rcPaint.top); + + bmOld = SelectObject(dcMem, bmMem); + SetViewportOrgEx(dcMem, -ps.rcPaint.left, -ps.rcPaint.top, NULL); + FillRect(dcMem, &ps.rcPaint, GetSysColorBrush(COLOR_BTNFACE)); + + SetIsotropic(dcMem, pClockData); + DrawClock(dcMem, pClockData); + DrawHands(dcMem, &pClockData->stPrevious, TRUE); + + /* Blit the changes to the screen */ + BitBlt(hdc, + ps.rcPaint.left, ps.rcPaint.top, + ps.rcPaint.right - ps.rcPaint.left, ps.rcPaint.bottom - ps.rcPaint.top, + dcMem, + ps.rcPaint.left, ps.rcPaint.top, + SRCCOPY); + + SelectObject(dcMem, bmOld); + DeleteObject(bmMem); + DeleteObject(dcMem); EndPaint(hwnd, &ps); break; @@ -202,7 +226,7 @@ CopyMemory(&pClockData->stPrevious, (LPSYSTEMTIME)lParam, sizeof(SYSTEMTIME)); /* Redraw the clock */ - InvalidateRect(hwnd, NULL, TRUE); + InvalidateRect(hwnd, NULL, FALSE); break; default:
16 years, 5 months
1
0
0
0
[fireball] 34324: Autosyncing with Wine HEAD
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 06:47:38 2008 New Revision: 34324 URL:
http://svn.reactos.org/svn/reactos?rev=34324&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/advpack/advpack.c trunk/reactos/dll/win32/advpack/files.c trunk/reactos/dll/win32/atl/atl.rbuild trunk/reactos/dll/win32/atl/registrar.c Modified: trunk/reactos/dll/win32/advpack/advpack.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.…
============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/advpack.c [iso-8859-1] Sun Jul 6 06:47:38 2008 @@ -68,9 +68,9 @@ static void get_dest_dir(HINF hInf, PCWSTR pszSection, PWSTR pszBuffer, DWORD dwSize) { INFCONTEXT context; - WCHAR key[MAX_PATH], value[MAX_PATH]; - WCHAR prefix[PREFIX_LEN]; - HKEY root, subkey; + WCHAR key[MAX_PATH + 2], value[MAX_PATH + 2]; + WCHAR prefix[PREFIX_LEN + 2]; + HKEY root, subkey = 0; DWORD size; static const WCHAR hklm[] = {'H','K','L','M',0}; @@ -78,11 +78,11 @@ /* load the destination parameters */ SetupFindFirstLineW(hInf, pszSection, NULL, &context); - SetupGetStringFieldW(&context, 1, prefix, PREFIX_LEN, &size); + SetupGetStringFieldW(&context, 1, prefix, PREFIX_LEN + 2, &size); strip_quotes(prefix, &size); - SetupGetStringFieldW(&context, 2, key, MAX_PATH, &size); + SetupGetStringFieldW(&context, 2, key, MAX_PATH + 2, &size); strip_quotes(key, &size); - SetupGetStringFieldW(&context, 3, value, MAX_PATH, &size); + SetupGetStringFieldW(&context, 3, value, MAX_PATH + 2, &size); strip_quotes(value, &size); if (!lstrcmpW(prefix, hklm)) @@ -102,7 +102,7 @@ strip_quotes(pszBuffer, &size); } - RegCloseKey(subkey); + if (subkey) RegCloseKey(subkey); } /* loads the LDIDs specified in the install section of an INF */ Modified: trunk/reactos/dll/win32/advpack/files.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/files.c?…
============================================================================== --- trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] Sun Jul 6 06:47:38 2008 @@ -996,8 +996,8 @@ BOOL bFileCopied = FALSE; UINT uValueLen; - static WCHAR backslash[] = {'\\',0}; - static WCHAR translation[] = { + static const WCHAR backslash[] = {'\\',0}; + static const WCHAR translation[] = { '\\','V','a','r','F','i','l','e','I','n','f','o', '\\','T','r','a','n','s','l','a','t','i','o','n',0 }; Modified: trunk/reactos/dll/win32/atl/atl.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/atl.rbuild?r…
============================================================================== --- trunk/reactos/dll/win32/atl/atl.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/atl.rbuild [iso-8859-1] Sun Jul 6 06:47:38 2008 @@ -13,17 +13,20 @@ <file>atl_main.c</file> <file>registrar.c</file> <file>rsrc.rc</file> - <file>atliface.idl</file> <include base="atl" root="intermediate">.</include> <file>atl.spec</file> <library>wine</library> + <library>uuid</library> <library>ole32</library> <library>oleaut32</library> <library>user32</library> <library>gdi32</library> <library>advapi32</library> <library>kernel32</library> - <library>uuid</library> <library>ntdll</library> + <dependency>atl_atliface_header</dependency> +</module> +<module name="atl_atliface_header" type="idlheader" allowwarnings="true"> + <file>atliface.idl</file> </module> </group> Modified: trunk/reactos/dll/win32/atl/registrar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl/registrar.c?…
============================================================================== --- trunk/reactos/dll/win32/atl/registrar.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/atl/registrar.c [iso-8859-1] Sun Jul 6 06:47:38 2008 @@ -454,8 +454,6 @@ WARN("could not load resource\n"); hres = HRESULT_FROM_WIN32(GetLastError()); } - // Sent to wine-patches
http://www.winehq.org/pipermail/wine-patches/2008-May/054603.html
- //HeapFree(GetProcessHeap(), 0, regstra); }else { WARN("Could not find source\n"); hres = HRESULT_FROM_WIN32(GetLastError());
16 years, 5 months
1
0
0
0
[silverblade] 34323: Implemented threaded wave device buffer writing, along with test code. Some hacks present to aid in ensuring things are done in the correct order. Under NT4 with its own SNDBLST.SYS, this can successfully queue a wave buffer of white-noise, have it played, and call the I/O completion routine. Result is audible in NT4 within VirtualBox. More work required before actually usable.
by silverblade@svn.reactos.org
Author: silverblade Date: Sun Jul 6 05:22:42 2008 New Revision: 34323 URL:
http://svn.reactos.org/svn/reactos?rev=34323&view=rev
Log: Implemented threaded wave device buffer writing, along with test code. Some hacks present to aid in ensuring things are done in the correct order. Under NT4 with its own SNDBLST.SYS, this can successfully queue a wave buffer of white-noise, have it played, and call the I/O completion routine. Result is audible in NT4 within VirtualBox. More work required before actually usable. Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/thread.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/include/react…
============================================================================== --- branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] (original) +++ branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -21,6 +21,24 @@ #define SOUND_DEBUG(x) \ MessageBox(0, x, L"Debug", MB_OK | MB_TASKMODAL); + +#define SOUND_DEBUG_HEX(x) \ + { \ + WCHAR dbgmsg[1024], dbgtitle[1024]; \ + wsprintf(dbgtitle, L"%hS[%d]", __FILE__, __LINE__); \ + wsprintf(dbgmsg, L"%hS == %x", #x, x); \ + MessageBox(0, dbgmsg, dbgtitle, MB_OK | MB_TASKMODAL); \ + } + +#define SOUND_ASSERT(x) \ + { \ + if ( ! ( x ) ) \ + { \ + WCHAR dbgmsg[1024], dbgtitle[1024]; \ + wsprintf(dbgtitle, L"%hS[%d]", __FILE__, __LINE__); \ + wsprintf(dbgmsg, L"ASSERT FAILED:\n%hS", #x); \ + } \ + } /* @@ -112,11 +130,16 @@ IN HANDLE Handle); typedef MMRESULT (*MMGETCAPS_FUNC)( - IN struct _SOUND_DEVICE* SoundDevice, + IN struct _SOUND_DEVICE* Device, OUT PUNIVERSAL_CAPS Capabilities); -typedef MMRESULT (*MMWAVEFORMAT_FUNC)( - IN struct _SOUND_DEVICE* SoundDevice, +typedef MMRESULT (*MMWAVEQUERYFORMAT_FUNC)( + IN struct _SOUND_DEVICE* Device, + IN PWAVEFORMATEX WaveFormat, + IN DWORD WaveFormatSize); + +typedef MMRESULT (*MMWAVESETFORMAT_FUNC)( + IN struct _SOUND_DEVICE_INSTANCE* Instance, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize); @@ -126,8 +149,8 @@ MMCLOSE_FUNC Close; MMGETCAPS_FUNC GetCapabilities; - MMWAVEFORMAT_FUNC QueryWaveFormat; - MMWAVEFORMAT_FUNC SetWaveFormat; + MMWAVEQUERYFORMAT_FUNC QueryWaveFormat; + MMWAVESETFORMAT_FUNC SetWaveFormat; } MMFUNCTION_TABLE, *PMMFUNCTION_TABLE; @@ -155,7 +178,29 @@ struct _SOUND_DEVICE_INSTANCE* Next; PSOUND_DEVICE Device; PSOUND_THREAD Thread; + + /* Everything below this is used by the worker thread only */ + OVERLAPPED Overlapped; + + union + { + struct + { + DWORD BufferCount; + PWAVEHDR CurrentBuffer; + PWAVEHDR FirstBuffer; + PWAVEHDR LastBuffer; + } Wave; + }; } SOUND_DEVICE_INSTANCE, *PSOUND_DEVICE_INSTANCE; + + +/* + Thread requests +*/ + +#define THREADREQUEST_EXIT 0 +#define WAVEREQUEST_QUEUE_BUFFER 1 /* @@ -285,6 +330,13 @@ LPDWORD BytesReturned, LPOVERLAPPED Overlapped); +MMRESULT +WriteSoundDeviceBuffer( + PSOUND_DEVICE_INSTANCE SoundDeviceInstance, + LPVOID Buffer, + DWORD BufferSize, + LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine); + /* utility.c @@ -344,15 +396,20 @@ MMRESULT SetWaveDeviceFormat( - IN PSOUND_DEVICE Device, + IN PSOUND_DEVICE_INSTANCE Instance, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize); MMRESULT DefaultSetWaveDeviceFormat( - IN PSOUND_DEVICE Device, - IN PWAVEFORMATEX WaveFormat, - IN DWORD WaveFormatSize); + IN PSOUND_DEVICE_INSTANCE Instance, + IN PWAVEFORMATEX WaveFormat, + IN DWORD WaveFormatSize); + +MMRESULT +QueueWaveDeviceBuffer( + IN PSOUND_DEVICE_INSTANCE Instance, + IN PWAVEHDR BufferHeader); /* Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -10,6 +10,7 @@ History: 4 July 2008 - Created + 5 July 2008 - Implemented format support */ @@ -431,7 +432,7 @@ return MMSYSERR_INVALPARAM; /* Make sure we have a wave device */ - if ( IS_WAVE_DEVICE_TYPE(Device->DeviceType) ) + if ( ! IS_WAVE_DEVICE_TYPE(Device->DeviceType) ) { return MMSYSERR_INVALPARAM; } @@ -448,11 +449,11 @@ MMRESULT SetWaveDeviceFormat( - IN PSOUND_DEVICE Device, + IN PSOUND_DEVICE_INSTANCE Instance, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize) { - if ( ! Device ) + if ( ! Instance ) return MMSYSERR_INVALPARAM; if ( ! WaveFormat ) @@ -460,31 +461,31 @@ /* TODO: Should we check the size? */ - return Device->Functions.SetWaveFormat(Device, WaveFormat, WaveFormatSize); + return Instance->Device->Functions.SetWaveFormat(Instance, WaveFormat, WaveFormatSize); } MMRESULT DefaultSetWaveDeviceFormat( - IN PSOUND_DEVICE Device, + IN PSOUND_DEVICE_INSTANCE Instance, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize) { MMRESULT Result; DWORD BytesReturned = 0; - if ( ! Device ) + if ( ! Instance ) return MMSYSERR_INVALPARAM; if ( ! WaveFormat ) return MMSYSERR_INVALPARAM; /* Make sure we have a wave device */ - if ( IS_WAVE_DEVICE_TYPE(Device->DeviceType) ) - { - return MMSYSERR_INVALPARAM; - } - - Result = WriteSoundDevice(Device, + if ( ! IS_WAVE_DEVICE_TYPE(Instance->Device->DeviceType) ) + { + return MMSYSERR_INVALPARAM; + } + + Result = WriteSoundDevice(Instance->Device, IOCTL_WAVE_SET_FORMAT, (LPVOID) WaveFormat, WaveFormatSize, @@ -494,3 +495,34 @@ return Result; } +MMRESULT +QueueWaveDeviceBuffer( + IN PSOUND_DEVICE_INSTANCE Instance, + IN PWAVEHDR BufferHeader) +{ + MMRESULT Result; + + if ( ! Instance ) + return MMSYSERR_INVALPARAM; + + if ( ! BufferHeader ) + return MMSYSERR_INVALPARAM; + + if ( ! BufferHeader->lpData ) + return MMSYSERR_INVALPARAM; + + if ( ! BufferHeader->dwBufferLength ) + return MMSYSERR_INVALPARAM; + + if ( ! (BufferHeader->dwFlags & WHDR_PREPARED ) ) + return WAVERR_UNPREPARED; + + /* TODO: WHDR_INQUEUE */ + + BufferHeader->dwFlags &= ~WHDR_DONE; + BufferHeader->lpNext = NULL; + + Result = CallSoundThread(Instance, WAVEREQUEST_QUEUE_BUFFER, BufferHeader); + + return Result; +} Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/kernel.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -30,11 +30,13 @@ if ( ! Handle ) { + MessageBox(0, L"Failed handle", L"kernel.c", MB_OK | MB_TASKMODAL); return MMSYSERR_INVALPARAM; } if ( ! DeviceName ) { + MessageBox(0, L"Failed devname", L"kernel.c", MB_OK | MB_TASKMODAL); return MMSYSERR_INVALPARAM; } @@ -70,7 +72,16 @@ MMRESULT Result; if ( ! SoundDevice ) - return MMSYSERR_INVALPARAM; + { + SOUND_DEBUG(L"No sound device specified"); + return MMSYSERR_INVALPARAM; + } + + if ( SoundDevice->Handle != INVALID_HANDLE_VALUE ) + { + SOUND_DEBUG(L"Already open?"); + return MMSYSERR_ERROR; /*MMSYSERR_ALLOC;*/ + } Result = OpenKernelSoundDeviceByName(SoundDevice->DevicePath, AccessRights, @@ -179,3 +190,33 @@ BytesReturned, Overlapped); } + +MMRESULT +WriteSoundDeviceBuffer( + PSOUND_DEVICE_INSTANCE SoundDeviceInstance, + LPVOID Buffer, + DWORD BufferSize, + LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine) +{ + WCHAR msg[128]; + if ( ( ! SoundDeviceInstance ) || ( ! Buffer ) || ( BufferSize == 0 ) ) + return MMSYSERR_INVALPARAM; + + ZeroMemory(&SoundDeviceInstance->Overlapped, sizeof(OVERLAPPED)); + + wsprintf(msg, L"Writing to handle %x", SoundDeviceInstance->Device->Handle); + SOUND_DEBUG(msg); + + if ( ! WriteFileEx(SoundDeviceInstance->Device->Handle, + Buffer, + BufferSize, + &SoundDeviceInstance->Overlapped, + CompletionRoutine) ) + { + wsprintf(msg, L"Win32 Error %d", GetLastError()); + SOUND_DEBUG(msg); + return Win32ErrorToMmResult(GetLastError()); + } + + return MMSYSERR_NOERROR; +} Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -30,6 +30,7 @@ { MMRESULT Result = MMSYSERR_NOERROR; PSOUND_DEVICE Device = NULL; + PSOUND_DEVICE_INSTANCE Instance = NULL; DPRINT("wodMessageStub called\n"); switch ( message ) @@ -55,10 +56,43 @@ } case WODM_OPEN : - /* - OpenSoundDevice(); - */ - return MMSYSERR_BADDEVICEID; + { + WAVEOPENDESC* OpenParameters = (WAVEOPENDESC*) parameter1; + + Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, device_id, &Device); + if ( Result != MMSYSERR_NOERROR ) + return Result; + +/* + if ( parameter2 & WAVE_FORMAT_QUERY ) + { + Result = QueryWaveDeviceFormat(Device, + OpenParameters->lpFormat, + sizeof(WAVEFORMATEX)); + + return Result; + } +*/ + + Result = CreateSoundDeviceInstance(Device, &Instance); + if ( Result != MMSYSERR_NOERROR ) + return Result; + + Result = SetWaveDeviceFormat(Instance, + OpenParameters->lpFormat, + sizeof(WAVEFORMATEX)); + + if ( Result != MMSYSERR_NOERROR ) + { + DestroySoundDeviceInstance(Instance); + return Result; + } + + + /* TODO: Send callback... */ + + return MMSYSERR_NOERROR; + } case WODM_CLOSE : /* CloseSoundDevice() */ Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -17,12 +17,19 @@ #include <ntddsnd.h> #include <debug.h> +#include <ntddk.h> #include <mmebuddy.h> /* **** TESTING CODE ONLY **** */ + +PSOUND_DEVICE Device; +PSOUND_DEVICE_INSTANCE Instance; +WAVEHDR waveheader; +WORD JunkBuffer[65536]; + #define IDS_WAVEOUT_PNAME 0x68 @@ -159,6 +166,92 @@ } +VOID CALLBACK +OverlappedCallback( + IN DWORD dwErrorCode, + IN DWORD dwNumberOfBytesTransferred, + IN LPOVERLAPPED lpOverlapped) +{ + MessageBox(0, L"Job done!", L"File IO Callback", MB_OK | MB_TASKMODAL); +} + + +VOID +TestPlaybackHackingly() +{ + WCHAR msg[1024]; + MMRESULT Result; + WAVEFORMATEX fmt; + ULONG i; + + for ( i = 0; i < 65536; ++ i ) + JunkBuffer[i] = rand(); + + AddSoundDevice(WAVE_OUT_DEVICE_TYPE, L"\\\\.\\SBWaveOut0"); + Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, 0, &Device); + + if ( Result != MMSYSERR_NOERROR ) + { + MessageBox(0, L"Fail 1", L"Fail", MB_OK | MB_TASKMODAL); + return; + } + + Result = OpenKernelSoundDevice(Device, GENERIC_READ | GENERIC_WRITE); + if ( Result != MMSYSERR_NOERROR ) + { + MessageBox(0, L"Fail open", L"Fail", MB_OK | MB_TASKMODAL); + return; + } + wsprintf(msg, L"Opened handle %x", Device->Handle); + MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); + + Result = CreateSoundDeviceInstance(Device, &Instance); + if ( Result != MMSYSERR_NOERROR ) + { + MessageBox(0, L"Fail 2", L"Fail 2", MB_OK | MB_TASKMODAL); + return; + } + + /* Request a valid format */ + fmt.wFormatTag = WAVE_FORMAT_PCM; + fmt.nChannels = 1; + fmt.nSamplesPerSec = 22050; + fmt.wBitsPerSample = 16; + fmt.nBlockAlign = fmt.nChannels * (fmt.wBitsPerSample / 8); + fmt.nAvgBytesPerSec = fmt.nSamplesPerSec * fmt.nBlockAlign; + fmt.cbSize = 0; + + Result = SetWaveDeviceFormat(Instance, &fmt, sizeof(WAVEFORMATEX)); + + wsprintf(msg, L"Format support set result: %d\nClick to play!", Result); + MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); + + //SOUND_DEBUG_HEX(Instance->Device->Handle); + + Result = StartWaveThread(Instance); + if ( Result != MMSYSERR_NOERROR ) + { + MessageBox(0, L"Failed to start thread", L"Fail 3", MB_OK | MB_TASKMODAL); + return; + } + + //SOUND_DEBUG_HEX(Instance->Device->Handle); + + waveheader.lpData = (PVOID) JunkBuffer; + waveheader.dwBufferLength = 65536; + waveheader.dwFlags = WHDR_PREPARED; + + Result = QueueWaveDeviceBuffer(Instance, &waveheader); +// CallSoundThread(Instance, WAVEREQUEST_QUEUE_BUFFER, &waveheader); +/* + Result = WriteSoundDeviceBuffer(Instance, + JunkBuffer, 65535, OverlappedCallback); +*/ + wsprintf(msg, L"Play result: %d", Result); + MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); +} + + APIENTRY VOID TestDevEnum() { @@ -225,7 +318,8 @@ LPWSTR lpCmdLine, int nCmdShow) { - TestFormatQuery(); +// TestFormatQuery(); + TestPlaybackHackingly(); // TestDevEnum(); /* TestThreading(); Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/thread.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/thread.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/thread.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -49,38 +49,34 @@ while ( Thread->Running ) { - /* Wait for some work */ - WaitForSingleObject(Thread->RequestEvent, INFINITE); - - /* Do the work (request 0 kills the thread) */ - Thread->Request.Result = - Thread->RequestHandler(Instance, - Thread->Request.RequestId, - Thread->Request.Data); - - if ( Thread->Request.RequestId == 0 ) + DWORD WaitResult; + + /* Wait for some work, or I/O completion */ + WaitResult = WaitForSingleObjectEx(Thread->RequestEvent, INFINITE, TRUE); + + if ( WaitResult == WAIT_OBJECT_0 ) { - Thread->Running = FALSE; - Thread->Request.Result = MMSYSERR_NOERROR; + /* Do the work (request 0 kills the thread) */ + Thread->Request.Result = + Thread->RequestHandler(Instance, + Thread->Request.RequestId, + Thread->Request.Data); + + if ( Thread->Request.RequestId == 0 ) + { + Thread->Running = FALSE; + Thread->Request.Result = MMSYSERR_NOERROR; + } + + /* Notify the caller that the work is done */ + SetEvent(Thread->ReadyEvent); + SetEvent(Thread->DoneEvent); } - - /* Notify the caller that the work is done */ - SetEvent(Thread->ReadyEvent); - SetEvent(Thread->DoneEvent); - -/* - DWORD Signalled = 0; - - Signalled = WaitForMultipleObjects(2, Events, FALSE, INFINITE); - - if ( Signalled == WAIT_OBJECT_0 ) + else if ( WaitResult == WAIT_IO_COMPLETION ) { - Thread->Running = FALSE; + /* This gets called after I/O completion */ + /* Do we need to do anything special here? */ } - else if ( Signalled == WAIT_OBJECT_0 + 1 ) - { - } -*/ } /*MessageBox(0, L"Bye from thread!", L"Bye!", MB_OK | MB_TASKMODAL);*/ @@ -226,7 +222,7 @@ /* Wait for the thread to exit */ WaitForSingleObject(Instance->Thread->Handle, INFINITE); - + /* Finish with the thread */ CloseHandle(Instance->Thread->Handle); Instance->Thread->Handle = INVALID_HANDLE_VALUE; Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/wave/wavethread.c [iso-8859-1] Sun Jul 6 05:22:42 2008 @@ -10,12 +10,68 @@ History: 4 July 2008 - Created + + TODO: + Track if a buffer has already been inserted? */ #include <windows.h> #include <mmsystem.h> #include <mmebuddy.h> + +VOID CALLBACK +WaveBufferCompleted( + IN DWORD dwErrorCode, + IN DWORD dwNumberOfBytesTransferred, + IN LPOVERLAPPED lpOverlapped) +{ + MessageBox(0, L"Job done!", L"File IO Callback", MB_OK | MB_TASKMODAL); +} + +/* Internal dispatch routines */ + +MMRESULT +SubmitWaveBuffer( + IN PSOUND_DEVICE_INSTANCE Instance, + IN PWAVEHDR Buffer) +{ + MMRESULT Result; + + SOUND_ASSERT(Instance != NULL); + SOUND_ASSERT(Buffer != NULL); + + /* Set the head of the buffer list if this is the first buffer */ + if ( ! Instance->Wave.FirstBuffer ) + { + Instance->Wave.FirstBuffer = Buffer; + } + + /* Attach the buffer to the end of the list, unless this is the first */ + if ( Instance->Wave.LastBuffer ) + { + Instance->Wave.LastBuffer->lpNext = Buffer; + } + + /* Update our record of the last buffer */ + Instance->Wave.LastBuffer = Buffer; + + /* Increment the number of buffers queued */ + ++ Instance->Wave.BufferCount; + + /* HACK */ + Instance->Wave.CurrentBuffer = Instance->Wave.FirstBuffer; + + Result = WriteSoundDeviceBuffer(Instance, + Instance->Wave.CurrentBuffer->lpData, + Instance->Wave.CurrentBuffer->dwBufferLength, + WaveBufferCompleted); + + return MMSYSERR_NOERROR; +} + + +/* Thread callback */ MMRESULT ProcessWaveThreadRequest( @@ -29,6 +85,18 @@ MessageBox(0, msg, L"Request", MB_OK | MB_TASKMODAL); + SOUND_ASSERT(Instance != NULL); + + switch ( RequestId ) + { + case WAVEREQUEST_QUEUE_BUFFER : + { + PWAVEHDR Buffer = (PWAVEHDR) Data; + + return SubmitWaveBuffer(Instance, Buffer); + } + } + return MMSYSERR_NOTSUPPORTED; } @@ -40,6 +108,12 @@ if ( ! Instance ) return MMSYSERR_INVALPARAM; + + /* Initialise our data */ + Instance->Wave.CurrentBuffer = NULL; + Instance->Wave.FirstBuffer = NULL; + Instance->Wave.LastBuffer = NULL; + Instance->Wave.BufferCount = 0; /* Kick off the thread */ Result = StartSoundThread(Instance, ProcessWaveThreadRequest);
16 years, 5 months
1
0
0
0
[janderwald] 34322: - implement IShellPropSheetExt for shellink - interface not yet used
by janderwald@svn.reactos.org
Author: janderwald Date: Sun Jul 6 04:09:09 2008 New Revision: 34322 URL:
http://svn.reactos.org/svn/reactos?rev=34322&view=rev
Log: - implement IShellPropSheetExt for shellink - interface not yet used Modified: trunk/reactos/dll/win32/shell32/shelllink.c Modified: trunk/reactos/dll/win32/shell32/shelllink.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shelllin…
============================================================================== --- trunk/reactos/dll/win32/shell32/shelllink.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shelllink.c [iso-8859-1] Sun Jul 6 04:09:09 2008 @@ -125,6 +125,7 @@ static const IShellExtInitVtbl eivt; static const IContextMenuVtbl cmvt; static const IObjectWithSiteVtbl owsvt; +static const IShellPropSheetExtVtbl pse; /* IShellLink Implementation */ @@ -138,6 +139,7 @@ const IShellExtInitVtbl *lpvtblShellExtInit; const IContextMenuVtbl *lpvtblContextMenu; const IObjectWithSiteVtbl *lpvtblObjectWithSite; + const IShellPropSheetExtVtbl * lpvtblPropSheetExt; LONG ref; @@ -201,6 +203,12 @@ return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblObjectWithSite)); } +static inline IShellLinkImpl *impl_from_IShellPropSheetExt( IShellPropSheetExt *iface ) +{ + return (IShellLinkImpl *)((char*)iface - FIELD_OFFSET(IShellLinkImpl, lpvtblPropSheetExt)); +} + + static HRESULT ShellLink_UpdatePath(LPCWSTR sPathRel, LPCWSTR path, LPCWSTR sWorkDir, LPWSTR* psPath); /* strdup on the process heap */ @@ -264,6 +272,10 @@ else if(IsEqualIID(riid, &IID_IObjectWithSite)) { *ppvObj = &(This->lpvtblObjectWithSite); + } + else if(IsEqualIID(riid, &IID_IShellPropSheetExt)) + { + *ppvObj = &(This->lpvtblPropSheetExt); } if(*ppvObj) @@ -1221,6 +1233,7 @@ sl->lpvtblShellExtInit = &eivt; sl->lpvtblContextMenu = &cmvt; sl->lpvtblObjectWithSite = &owsvt; + sl->lpvtblPropSheetExt = &pse; sl->iShowCmd = SW_SHOWNORMAL; sl->bDirty = FALSE; sl->iIdOpen = -1; @@ -2709,54 +2722,67 @@ } /************************************************************************** - * ShellLink_ShortcutDialog [Internal] - * - * creates a shortcut property dialog + * ShellLink_IShellPropSheetExt interface */ -HRESULT WINAPI -ShellLink_ShowProperties( IShellLinkImpl *This ) -{ - PROPSHEETHEADERW pinfo; - HPROPSHEETPAGE hppages[MAX_PROPERTY_SHEET_PAGE]; - HPROPSHEETPAGE hpage; - UINT numpages = 0; - - TRACE("ShellLink_ShortcutDialog entered\n"); - - memset(hppages, 0x0, sizeof(HPROPSHEETPAGE) * MAX_PROPERTY_SHEET_PAGE); - - hpage = SH_CreatePropertySheetPage("SHELL_FILE_GENERAL_DLG", SH_FileGeneralDlgProc, (LPARAM)This->sLinkPath, NULL); - if ( hpage == NULL ) - return E_FAIL; +static HRESULT WINAPI + ShellLink_IShellPropSheetExt_QueryInterface( IShellPropSheetExt* iface, REFIID riid, void** ppvObject ) +{ + IShellLinkImpl *This = impl_from_IShellPropSheetExt(iface); + return ShellLink_QueryInterface( This, riid, ppvObject ); +} + +static ULONG WINAPI + ShellLink_IShellPropSheetExt_AddRef( IShellPropSheetExt* iface ) +{ + IShellLinkImpl *This = impl_from_IShellPropSheetExt(iface); + return ShellLink_AddRef( This ); +} + +static ULONG WINAPI + ShellLink_IShellPropSheetExt_Release( IShellPropSheetExt* iface ) +{ + IShellLinkImpl *This = impl_from_IShellPropSheetExt(iface); + return ShellLink_Release( This ); +} + +static HRESULT WINAPI + ShellLink_IShellPropSheetExt_AddPages( IShellPropSheetExt *iface, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam) +{ + HPROPSHEETPAGE hPage; + BOOL bRet; + IShellLinkImpl *This = impl_from_IShellPropSheetExt(iface); + + hPage = SH_CreatePropertySheetPage("SHELL_GENERAL_SHORTCUT_DLG", SH_ShellLinkDlgProc, (LPARAM)This, NULL); + if (hPage == NULL) + { + ERR("failed to create property sheet page\n"); + return E_FAIL; + } + + bRet = pfnAddPage(hPage, lParam); + if (bRet) + return S_OK; else - hppages[numpages++] = hpage; - - hpage = SH_CreatePropertySheetPage("SHELL_GENERAL_SHORTCUT_DLG", SH_ShellLinkDlgProc, (LPARAM)This, NULL); - if ( hpage == NULL ) - { - ERR("SH_CreatePropertySheetPage failed\n"); - DestroyPropertySheetPage(hppages[0]); - return E_FAIL; - } - hppages[numpages++] = hpage; - - ///FIXME - /// load extensions - - memset(&pinfo, 0x0, sizeof(PROPSHEETHEADERW)); - pinfo.dwSize = sizeof(PROPSHEETHEADERW); - pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_PROPTITLE; - pinfo.nPages = numpages; - pinfo.u3.phpage = hppages; - pinfo.pszCaption = This->sDescription; - pinfo.u2.nStartPage = 1; - - if ( PropertySheetW(&pinfo) < 0 ) - return E_FAIL; - else - return S_OK; -} + return E_FAIL; +} + +static HRESULT WINAPI + ShellLink_IShellPropSheetExt_ReplacePages( IShellPropSheetExt *iface, UINT uPageID, LPFNADDPROPSHEETPAGE pfnReplacePage, LPARAM lParam) +{ + IShellLinkImpl *This = impl_from_IShellPropSheetExt(iface); + TRACE("(%p) (uPageID %u, pfnReplacePage %p lParam %p\n", This, uPageID, pfnReplacePage, lParam); + return E_NOTIMPL; +} + +static const IShellPropSheetExtVtbl pse = +{ + ShellLink_IShellPropSheetExt_QueryInterface, + ShellLink_IShellPropSheetExt_AddRef, + ShellLink_IShellPropSheetExt_Release, + ShellLink_IShellPropSheetExt_AddPages, + ShellLink_IShellPropSheetExt_ReplacePages +}; static HRESULT WINAPI ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )
16 years, 5 months
1
0
0
0
[cfinck] 34321: Carlo Bramini (carlo.bramix@libero.it): - Fix tditest compilation for Release builds See issue #3290 for more details.
by cfinck@svn.reactos.org
Author: cfinck Date: Sun Jul 6 04:06:15 2008 New Revision: 34321 URL:
http://svn.reactos.org/svn/reactos?rev=34321&view=rev
Log: Carlo Bramini (carlo.bramix(a)libero.it): - Fix tditest compilation for Release builds See issue #3290 for more details. Modified: trunk/rosapps/applications/net/tditest/include/debug.h Modified: trunk/rosapps/applications/net/tditest/include/debug.h URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/net/tditest/i…
============================================================================== --- trunk/rosapps/applications/net/tditest/include/debug.h [iso-8859-1] (original) +++ trunk/rosapps/applications/net/tditest/include/debug.h [iso-8859-1] Sun Jul 6 04:06:15 2008 @@ -16,6 +16,10 @@ #define MAX_TRACE 0x00000003 #define DEBUG_ULTRA 0xFFFFFFFF + +#ifdef ASSERT +#undef ASSERT +#endif #ifdef DBG @@ -40,10 +44,6 @@ } #endif /* _MSC_VER */ - -#ifdef ASSERT -#undef ASSERT -#endif #ifdef NASSERT #define ASSERT(x)
16 years, 5 months
1
0
0
0
[janderwald] 34320: - implement _ILIsNetHood - don't show OpenWith dialog on network neighbourhoud shell folder - use translatable "open" verb for shelllink's context menu - deactivate shelllink property dialog, it should be implemented using IShellPropSheetExt interface - enumerate context menu handlers also in the progid key - shortcut items now show again the "open" item
by janderwald@svn.reactos.org
Author: janderwald Date: Sun Jul 6 03:29:28 2008 New Revision: 34320 URL:
http://svn.reactos.org/svn/reactos?rev=34320&view=rev
Log: - implement _ILIsNetHood - don't show OpenWith dialog on network neighbourhoud shell folder - use translatable "open" verb for shelllink's context menu - deactivate shelllink property dialog, it should be implemented using IShellPropSheetExt interface - enumerate context menu handlers also in the progid key - shortcut items now show again the "open" item Modified: trunk/reactos/dll/win32/shell32/pidl.c trunk/reactos/dll/win32/shell32/pidl.h trunk/reactos/dll/win32/shell32/she_ocmenu.c trunk/reactos/dll/win32/shell32/shelllink.c trunk/reactos/dll/win32/shell32/shv_item_cmenu.c Modified: trunk/reactos/dll/win32/shell32/pidl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/pidl.c?r…
============================================================================== --- trunk/reactos/dll/win32/shell32/pidl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/pidl.c [iso-8859-1] Sun Jul 6 03:29:28 2008 @@ -1626,6 +1626,18 @@ return FALSE; } +BOOL _ILIsNetHood(LPCITEMIDLIST pidl) +{ + REFIID iid = _ILGetGUIDPointer(pidl); + + TRACE("(%p)\n",pidl); + + if (iid) + return IsEqualIID(iid, &CLSID_NetworkPlaces); + return FALSE; +} + + LPITEMIDLIST _ILCreateNetHood(void) { return _ILCreateGuid(PT_GUID, &CLSID_NetworkPlaces); Modified: trunk/reactos/dll/win32/shell32/pidl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/pidl.h?r…
============================================================================== --- trunk/reactos/dll/win32/shell32/pidl.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/pidl.h [iso-8859-1] Sun Jul 6 03:29:28 2008 @@ -207,20 +207,20 @@ BOOL _ILIsMyDocuments (LPCITEMIDLIST pidl); BOOL _ILIsControlPanel (LPCITEMIDLIST pidl); BOOL _ILIsBitBucket (LPCITEMIDLIST pidl); +BOOL _ILIsNetHood (LPCITEMIDLIST pidl); BOOL _ILIsDrive (LPCITEMIDLIST pidl); BOOL _ILIsFolder (LPCITEMIDLIST pidl); BOOL _ILIsValue (LPCITEMIDLIST pidl); BOOL _ILIsSpecialFolder (LPCITEMIDLIST pidl); BOOL _ILIsPidlSimple (LPCITEMIDLIST pidl); BOOL _ILIsCPanelStruct (LPCITEMIDLIST pidl); -static inline -BOOL _ILIsEqualSimple (LPCITEMIDLIST pidlA, LPCITEMIDLIST pidlB) +static BOOL __inline _ILIsEqualSimple (LPCITEMIDLIST pidlA, LPCITEMIDLIST pidlB) { return (pidlA->mkid.cb > 0 && !memcmp(pidlA, pidlB, pidlA->mkid.cb)) || (!pidlA->mkid.cb && !pidlB->mkid.cb); } -static inline -BOOL _ILIsEmpty (LPCITEMIDLIST pidl) { return _ILIsDesktop(pidl); } +static +BOOL __inline _ILIsEmpty (LPCITEMIDLIST pidl) { return _ILIsDesktop(pidl); } /* * simple pidls Modified: trunk/reactos/dll/win32/shell32/she_ocmenu.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/she_ocme…
============================================================================== --- trunk/reactos/dll/win32/shell32/she_ocmenu.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/she_ocmenu.c [iso-8859-1] Sun Jul 6 03:29:28 2008 @@ -1230,7 +1230,7 @@ ERR("no mem\n"); return E_OUTOFMEMORY; } - if (_ILIsDesktop(pidl_child) || _ILIsMyDocuments(pidl_child) || _ILIsControlPanel(pidl_child) || + if (_ILIsDesktop(pidl_child) || _ILIsMyDocuments(pidl_child) || _ILIsControlPanel(pidl_child) || _ILIsNetHood(pidl_child) || _ILIsBitBucket(pidl_child) || _ILIsDrive(pidl_child) || _ILIsCPanelStruct(pidl_child) || _ILIsFolder(pidl_child)) { TRACE("pidl is a folder\n"); Modified: trunk/reactos/dll/win32/shell32/shelllink.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shelllin…
============================================================================== --- trunk/reactos/dll/win32/shell32/shelllink.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shelllink.c [iso-8859-1] Sun Jul 6 03:29:28 2008 @@ -163,7 +163,6 @@ BOOL bRunAs; BOOL bDirty; INT iIdOpen; /* id of the "Open" entry in the context menu */ - INT iIdProperties; /* id of the "Properties" entry in the context menu */ IUnknown *site; } IShellLinkImpl; @@ -2475,8 +2474,7 @@ UINT idCmdFirst, UINT idCmdLast, UINT uFlags ) { IShellLinkImpl *This = impl_from_IContextMenu(iface); - static WCHAR szOpen[] = { 'O','p','e','n',0 }; - static WCHAR szProperties[] = { 'P','r','o','p','e','r','t','i','e','s',0 }; + WCHAR szOpen[20]; MENUITEMINFOW mii; int id = 1; @@ -2485,6 +2483,11 @@ if ( !hmenu ) return E_INVALIDARG; + + if (!LoadStringW(shell32_hInstance, IDS_OPEN_VERB, szOpen, sizeof(szOpen)/sizeof(WCHAR))) + szOpen[0] = L'\0'; + else + szOpen[(sizeof(szOpen)/sizeof(WCHAR))-1] = L'\0'; memset( &mii, 0, sizeof(mii) ); mii.cbSize = sizeof (mii); @@ -2497,18 +2500,6 @@ if (!InsertMenuItemW( hmenu, indexMenu, TRUE, &mii )) return E_FAIL; This->iIdOpen = 0; - - mii.fState = MFS_ENABLED; - mii.dwTypeData = (LPWSTR)szProperties; - mii.cch = strlenW( mii.dwTypeData ); - mii.wID = idCmdFirst + id++; - if (!InsertMenuItemW( hmenu, idCmdLast, TRUE, &mii )) - { - TRACE("ShellLink_QueryContextMenu failed to insert item properties"); - return E_FAIL; - } - This->iIdProperties = 1; - id++; return MAKE_HRESULT( SEVERITY_SUCCESS, 0, id ); } @@ -2723,7 +2714,7 @@ * creates a shortcut property dialog */ -static HRESULT WINAPI +HRESULT WINAPI ShellLink_ShowProperties( IShellLinkImpl *This ) { PROPSHEETHEADERW pinfo; @@ -2782,12 +2773,6 @@ if ( lpici->cbSize < sizeof (CMINVOKECOMMANDINFO) ) return E_INVALIDARG; - - if ( lpici->lpVerb == MAKEINTRESOURCEA(This->iIdProperties)) - { - ShellLink_ShowProperties(This); - return S_OK; - } if ( lpici->lpVerb != MAKEINTRESOURCEA(This->iIdOpen) ) { Modified: trunk/reactos/dll/win32/shell32/shv_item_cmenu.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shv_item…
============================================================================== --- trunk/reactos/dll/win32/shell32/shv_item_cmenu.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shv_item_cmenu.c [iso-8859-1] Sun Jul 6 03:29:28 2008 @@ -304,6 +304,7 @@ { UINT i; WCHAR buffer[111]; + WCHAR szProgKey[20]; char ebuf[10]; HRESULT hr; HRESULT hResult; @@ -322,8 +323,6 @@ NULL, &bGroupPolicyActive, &dwSize); - - SH_EnumerateDynamicContextHandlerForKey(szAny, This, pDataObj, bGroupPolicyActive); @@ -349,7 +348,15 @@ ebuf[0] = L'.'; buffer[0] = L'\0'; if (MultiByteToWideChar(CP_ACP, 0, ebuf, -1, buffer, 111)) + { SH_EnumerateDynamicContextHandlerForKey(buffer, This, pDataObj, bGroupPolicyActive); + dwSize = sizeof(szProgKey); + if (RegGetValueW(HKEY_CLASSES_ROOT, buffer, NULL, RRF_RT_REG_SZ, NULL, szProgKey, &dwSize) == ERROR_SUCCESS) + { + szProgKey[(sizeof(szProgKey)/sizeof(WCHAR))-1] = L'\0'; + SH_EnumerateDynamicContextHandlerForKey(szProgKey, This, pDataObj, bGroupPolicyActive); + } + } } } TRACE("-- done loading\n");
16 years, 5 months
1
0
0
0
← Newer
1
...
64
65
66
67
68
69
70
...
77
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Results per page:
10
25
50
100
200