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
2025
January
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
May 2008
----- 2025 -----
January 2025
----- 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
586 discussions
Start a n
N
ew thread
[janderwald] 33529: - use menu identifier for menu items which have submenus - menu item is a separator when id, flags and string is zero (verified with MS Visual 2005) - set item separator MF_GRAYED as default style - rewrite CheckMenuRadioItem - check if checkmarks applies to more than one submenu - check if checkmark was set - dont set checkmark on menu item separator - recurse into sub menus when available - implement handling by MF_BYPOSITION - ReactOS now passes now all tests from test_Che
by janderwald@svn.reactos.org
Author: janderwald Date: Thu May 15 09:10:55 2008 New Revision: 33529 URL:
http://svn.reactos.org/svn/reactos?rev=33529&view=rev
Log: - use menu identifier for menu items which have submenus - menu item is a separator when id, flags and string is zero (verified with MS Visual 2005) - set item separator MF_GRAYED as default style - rewrite CheckMenuRadioItem - check if checkmarks applies to more than one submenu - check if checkmark was set - dont set checkmark on menu item separator - recurse into sub menus when available - implement handling by MF_BYPOSITION - ReactOS now passes now all tests from test_CheckMenuRadioItem in user32_winetest Modified: trunk/reactos/dll/win32/user32/windows/menu.c Modified: trunk/reactos/dll/win32/user32/windows/menu.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/m…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] Thu May 15 09:10:55 2008 @@ -1049,6 +1049,7 @@ } mii.fMask |= MIIM_SUBMENU; mii.fType |= MF_POPUP; + mii.wID = (UINT) mii.hSubMenu; } else if(!*mii.dwTypeData && !(mii.fType & MF_SEPARATOR)) { @@ -1108,6 +1109,8 @@ } else /* Not a popup */ { + if (flags == 0 && id == 0 && *str == 0) + flags = MF_SEPARATOR | MF_GRAYED; if(!unicode) AppendMenuA(hMenu, flags, id, *str ? str : NULL); else @@ -3848,6 +3851,106 @@ return NtUserCheckMenuItem(hmenu, uIDCheckItem, uCheck); } +static +BOOL +MenuCheckMenuRadioItem(HMENU hMenu, UINT idFirst, UINT idLast, UINT idCheck, UINT uFlags, BOOL bCheck, PUINT pChecked, PUINT pUnchecked, PUINT pMenuChanged) +{ + UINT ItemCount, i; + PROSMENUITEMINFO Items = NULL; + UINT cChecked, cUnchecked; + BOOL bRet = TRUE; + //ROSMENUINFO mi; + + if(idFirst > idLast) + return FALSE; + + ItemCount = GetMenuItemCount(hMenu); + + //mi.cbSize = sizeof(ROSMENUINFO); + //if(!NtUserMenuInfo(hmenu, &mi, FALSE)) return ret; + + + if(MenuGetAllRosMenuItemInfo(hMenu, &Items) <= 0) + { + ERR("MenuGetAllRosMenuItemInfo failed\n"); + return FALSE; + } + + cChecked = cUnchecked = 0; + + for (i = 0 ; i < ItemCount; i++) + { + BOOL check = FALSE; + if (0 != (Items[i].fType & MF_MENUBARBREAK)) continue; + if (0 != (Items[i].fType & MF_SEPARATOR)) continue; + + if ((Items[i].fType & MF_POPUP) && (uFlags == MF_BYCOMMAND)) + { + MenuCheckMenuRadioItem(Items[i].hSubMenu, idFirst, idLast, idCheck, uFlags, bCheck, pChecked, pUnchecked, pMenuChanged); + continue; + } + if (uFlags & MF_BYPOSITION) + { + if (i < idFirst || i > idLast) + continue; + + if (i == idCheck) + { + cChecked++; + check = TRUE; + } + else + { + cUnchecked++; + } + } + else + { + if (Items[i].wID < idFirst || Items[i].wID > idLast) + continue; + + if (Items[i].wID == idCheck) + { + cChecked++; + check = TRUE; + } + else + { + cUnchecked++; + } + } + + if (!bCheck) + continue; + + Items[i].fMask = MIIM_STATE | MIIM_FTYPE; + if (check) + { + Items[i].fType |= MFT_RADIOCHECK; + Items[i].fState |= MFS_CHECKED; + } + else + { + Items[i].fState &= ~MFS_CHECKED; + } + + if(!MenuSetRosMenuItemInfo(hMenu, i ,&Items[i])) + { + ERR("MenuSetRosMenuItemInfo failed\n"); + bRet = FALSE; + break; + } + } + MenuCleanupRosMenuItemInfo(Items); + + *pChecked += cChecked; + *pUnchecked += cUnchecked; + + if (cChecked || cUnchecked) + (*pMenuChanged)++; + + return bRet; +} /* * @implemented @@ -3859,44 +3962,24 @@ UINT idCheck, UINT uFlags) { - ROSMENUINFO mi; - PROSMENUITEMINFO Items; - int i; - BOOL ret = FALSE; - - mi.cbSize = sizeof(MENUINFO); - - TRACE("CheckMenuRadioItem\n"); - - if(idFirst > idLast) return ret; - - if(!NtUserMenuInfo(hmenu, &mi, FALSE)) return ret; - - if(MenuGetAllRosMenuItemInfo(mi.Self, &Items) <= 0) return ret; - - for (i = 0 ; i < mi.MenuItemCount; i++) - { - if (0 != (Items[i].fType & MF_MENUBARBREAK)) break; - if ( i >= idFirst && i <= idLast ) - { - Items[i].fMask = MIIM_STATE | MIIM_FTYPE; - if ( i == idCheck) - { - Items[i].fType |= MFT_RADIOCHECK; - Items[i].fState |= MFS_CHECKED; - } - else - { - Items[i].fType &= ~MFT_RADIOCHECK; - Items[i].fState &= ~MFS_CHECKED; - } - if(!MenuSetRosMenuItemInfo(mi.Self, i ,&Items[i])) - break; - } - if ( i == mi.MenuItemCount) ret = TRUE; - } - MenuCleanupRosMenuItemInfo(Items); - return ret; + UINT cChecked = 0; + UINT cUnchecked = 0; + UINT cMenuChanged = 0; + + if (!MenuCheckMenuRadioItem(hmenu, idFirst, idLast, idCheck, uFlags, FALSE, &cChecked, &cUnchecked, &cMenuChanged)) + return FALSE; + + if (cMenuChanged > 1) + return FALSE; + + cMenuChanged = 0; + cChecked = 0; + cUnchecked = 0; + + if (!MenuCheckMenuRadioItem(hmenu, idFirst, idLast, idCheck, uFlags, TRUE, &cChecked, &cUnchecked, &cMenuChanged)) + return FALSE; + + return (cChecked != 0); }
16 years, 8 months
1
0
0
0
[cfinck] 33528: Carlo Bramini (carlo DOT bramix AT libero DOT it): - Simplify blitting the screen bitmap to the main window. This also hides a ROS GDI bug, for which I'm going to open a new bug report. See issue #3241 for more details.
by cfinck@svn.reactos.org
Author: cfinck Date: Thu May 15 09:06:19 2008 New Revision: 33528 URL:
http://svn.reactos.org/svn/reactos?rev=33528&view=rev
Log: Carlo Bramini (carlo DOT bramix AT libero DOT it): - Simplify blitting the screen bitmap to the main window. This also hides a ROS GDI bug, for which I'm going to open a new bug report. See issue #3241 for more details. Modified: trunk/rosapps/magnify/magnifier.c Modified: trunk/rosapps/magnify/magnifier.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/magnify/magnifier.c?rev=33…
============================================================================== --- trunk/rosapps/magnify/magnifier.c [iso-8859-1] (original) +++ trunk/rosapps/magnify/magnifier.c [iso-8859-1] Thu May 15 09:06:19 2008 @@ -257,8 +257,9 @@ rop = NOTSRCCOPY; } + /* Blast the stretched image from memory DC to window DC.*/ StretchBlt( - HdcStrech, + aDc, 0, 0, AppWidth, @@ -269,18 +270,6 @@ blitAreaWidth, blitAreaHeight, rop); - - /* Blast the image from memory DC to client DC.*/ - BitBlt ( - aDc, - 0 , - 0 , - AppWidth , - AppHeight , - HdcStrech , - 0 , - 0 , - SRCCOPY); /* Cleanup.*/ SelectObject (HdcStrech, hOld);
16 years, 8 months
1
0
0
0
[mpiulachs] 33526: - Added a new attribute 'internal' to 'Property' element. Internal properties are like regular properties but internal to rbuild (they are not included in the generated makefile)
by mpiulachs@svn.reactos.org
Author: mpiulachs Date: Thu May 15 08:55:25 2008 New Revision: 33526 URL:
http://svn.reactos.org/svn/reactos?rev=33526&view=rev
Log: - Added a new attribute 'internal' to 'Property' element. Internal properties are like regular properties but internal to rbuild (they are not included in the generated makefile) Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp trunk/reactos/tools/rbuild/module.cpp trunk/reactos/tools/rbuild/rbuild.h Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw…
============================================================================== --- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] (original) +++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] Thu May 15 08:55:25 2008 @@ -401,9 +401,13 @@ for ( i = 0; i < data.properties.size(); i++ ) { Property& prop = *data.properties[i]; - fprintf ( fMakefile, "%s := %s\n", - prop.name.c_str(), - prop.value.c_str() ); + + if (!prop.isInternal) + { + fprintf ( fMakefile, "%s := %s\n", + prop.name.c_str(), + prop.value.c_str() ); + } } if ( data.includes.size() || data.defines.size() ) Modified: trunk/reactos/tools/rbuild/module.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/module.cpp?re…
============================================================================== --- trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] (original) +++ trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] Thu May 15 08:55:25 2008 @@ -1705,6 +1705,25 @@ att = node_.GetAttribute ( "value", true ); assert(att); value = att->value; + + att = node_.GetAttribute ( "internal", false ); + if ( att != NULL ) + { + const char* p = att->value.c_str(); + if ( !stricmp ( p, "true" ) || !stricmp ( p, "yes" ) ) + isInternal = true; + else if ( !stricmp ( p, "false" ) || !stricmp ( p, "no" ) ) + isInternal = false; + else + { + throw InvalidAttributeValueException ( + node_.location, + "internal", + att->value ); + } + } + else + isInternal = false; } Property::Property ( const Project& project_, Modified: trunk/reactos/tools/rbuild/rbuild.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/rbuild.h?rev=…
============================================================================== --- trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] (original) +++ trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] Thu May 15 08:55:25 2008 @@ -658,6 +658,7 @@ const Project& project; const Module* module; std::string name, value; + bool isInternal; Property ( const XMLElement& node_, const Project& project_,
16 years, 8 months
1
0
0
0
[cfinck] 33527: Remove old leftovers from the time when shell32 was still synchronized with Wine
by cfinck@svn.reactos.org
Author: cfinck Date: Thu May 15 08:55:26 2008 New Revision: 33527 URL:
http://svn.reactos.org/svn/reactos?rev=33527&view=rev
Log: Remove old leftovers from the time when shell32 was still synchronized with Wine Removed: trunk/reactos/dll/win32/shell32/Makefile.in trunk/reactos/dll/win32/shell32/shell32_ros.diff Removed: trunk/reactos/dll/win32/shell32/Makefile.in URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/Makefile…
============================================================================== --- trunk/reactos/dll/win32/shell32/Makefile.in [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/Makefile.in (removed) @@ -1,97 +1,0 @@ -EXTRADEFS = -D_SHELL32_ -DCOM_NO_WINDOWS_H -TOPSRCDIR = @top_srcdir@ -TOPOBJDIR = ../.. -SRCDIR = @srcdir@ -VPATH = @srcdir@ -MODULE = shell32.dll -IMPORTLIB = libshell32.$(IMPLIBEXT) -IMPORTS = shlwapi comctl32 user32 gdi32 advapi32 kernel32 ntdll -DELAYIMPORTS = ole32 oleaut32 -EXTRALIBS = -luuid $(LIBUNICODE) - -C_SRCS = \ - authors.c \ - autocomplete.c \ - brsfolder.c \ - changenotify.c \ - classes.c \ - clipboard.c \ - control.c \ - cpanelfolder.c \ - dde.c \ - dataobject.c \ - debughlp.c \ - dialogs.c \ - dragdrophelper.c \ - enumidlist.c \ - folders.c \ - iconcache.c \ - pidl.c \ - regsvr.c \ - shell32_main.c \ - shelllink.c \ - shellole.c \ - shellord.c \ - shellpath.c \ - shellreg.c \ - shellstring.c \ - shfldr_desktop.c \ - shfldr_fs.c \ - shfldr_mycomp.c \ - shfldr_unixfs.c \ - shlexec.c \ - shlfileop.c \ - shlfolder.c \ - shlfsbind.c \ - shlmenu.c \ - shlview.c \ - shpolicy.c \ - shv_bg_cmenu.c \ - shv_item_cmenu.c \ - ros-systray.c - -RC_SRCS = shres.rc -RC_BINSRC = shres.rc -RC_BINARIES = \ - cdrom.ico \ - desktop.ico \ - document.ico \ - drive.ico \ - floppy.ico \ - folder.ico \ - folder_open.ico \ - mycomputer.ico \ - mydocs.ico \ - netdrive.ico \ - netdrive2.ico \ - printer.ico \ - ramdisk.ico \ - shortcut.ico - -C_SRCS16 = shell.c -RC_SRCS16 = version16.rc -SPEC_SRCS16 = shell.spec - -SUBDIRS = tests - -@MAKE_DLL_RULES@ - -# Special rules for 16-bit resource files - -version16.res: version16.rc - $(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc - -shell.spec.o: shell.spec version16.res - $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --res version16.res --export $(SRCDIR)/shell.spec - -authors.c: $(TOPSRCDIR)/AUTHORS - (LC_ALL=C; export LC_ALL; echo 'const char * const SHELL_Authors[] = {' && \ - sed -e '1,2d' -e 's/\(.*\)/ \"\1\",/' $(TOPSRCDIR)/AUTHORS && \ - echo ' 0 };') >$@ || ($(RM) $@ && false) - -depend: authors.c - -clean:: - $(RM) authors.c - -### Dependencies: Removed: trunk/reactos/dll/win32/shell32/shell32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_…
============================================================================== --- trunk/reactos/dll/win32/shell32/shell32_ros.diff [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shell32_ros.diff (removed) @@ -1,1516 +1,0 @@ -Index: autocomplete.c -=================================================================== ---- autocomplete.c (revision 29513) -+++ autocomplete.c (working copy) -@@ -38,7 +38,7 @@ - #include <stdarg.h> - #include <stdlib.h> - #include <string.h> -- -+#include <stdio.h> - #define COBJMACROS - - #include "wine/debug.h" -Index: changenotify.c -=================================================================== ---- changenotify.c (revision 29513) -+++ changenotify.c (working copy) -@@ -178,7 +178,7 @@ - - LeaveCriticalSection(&SHELL32_ChangenotifyCS); - -- DeleteCriticalSection(&SHELL32_ChangenotifyCS); -+ // DeleteCriticalSection(&SHELL32_ChangenotifyCS); // static - } - - /************************************************************************* -Index: control.c -=================================================================== ---- control.c (revision 29513) -+++ control.c (working copy) -@@ -464,6 +464,7 @@ - void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, - LPCSTR cmdline, INT cmdshow ) - { -+#if !defined(__CYGWIN__) && !defined (__MINGW32__) && !defined(_MSC_VER) - WORD args[5]; - SEGPTR cmdline_seg; - -@@ -478,6 +479,10 @@ - args[0] = cmdshow; - WOWCallback16Ex( proc, WCB16_PASCAL, sizeof(args), args, NULL ); - UnMapLS( cmdline_seg ); -+#else -+ FIXME( "proc %lx hwnd %p inst %p cmdline %s cmdshow %d\n", -+ proc, hwnd, inst, debugstr_a(cmdline), cmdshow ); -+#endif - } - - /************************************************************************* -Index: iconcache.c -=================================================================== ---- iconcache.c (revision 29513) -+++ iconcache.c (working copy) -@@ -306,9 +306,23 @@ - HICON hiconLargeShortcut; - HICON hiconSmallShortcut; - -- PrivateExtractIconsW( sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, 0, 1, 0 ); -- PrivateExtractIconsW( sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, 0, 1, 0 ); -+#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) -+ static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; - -+ if (!PrivateExtractIconExW) { -+ HMODULE hUser32 = GetModuleHandleA("user32"); -+ PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); -+ } -+ -+ if (PrivateExtractIconExW) -+ PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, &hiconSmall, 1); -+ else -+#endif -+ { -+ PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, NULL, 1, 0); -+ PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, NULL, 1, 0); -+ } -+ - if ( !hiconLarge || !hiconSmall) - { - WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall); -@@ -458,7 +472,7 @@ - ShellBigIconList = 0; - - LeaveCriticalSection(&SHELL32_SicCS); -- DeleteCriticalSection(&SHELL32_SicCS); -+ //DeleteCriticalSection(&SHELL32_SicCS); //static - } - - /***************************************************************************** -@@ -672,6 +686,19 @@ - */ - UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons) - { -+ /* get entry point of undocumented function PrivateExtractIconExW() in user32 */ -+#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) -+ static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; -+ -+ if (!PrivateExtractIconExW) { -+ HMODULE hUser32 = GetModuleHandleA("user32"); -+ PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); -+ -+ if (!PrivateExtractIconExW) -+ return 0; -+ } -+#endif -+ - TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons); - - return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); -Index: regsvr.c -=================================================================== ---- regsvr.c (revision 29513) -+++ regsvr.c (working copy) -@@ -669,6 +669,7 @@ - static const WCHAR wszRecycleBin[] = { 'T','r','a','s','h', 0 }; - - static struct regsvr_namespace const namespace_extensions_list[] = { -+#if 0 - { - &CLSID_UnixDosFolder, - wszDesktop, -@@ -684,6 +685,7 @@ - wszDesktop, - wszRecycleBin - }, -+#endif - { NULL } - }; - -Index: shell32.spec -=================================================================== ---- shell32.spec (revision 29513) -+++ shell32.spec (working copy) -@@ -247,7 +247,7 @@ - 654 stdcall @(long long) shell32_654 # ReadCabinetState@8 - - 660 stdcall -noname FileIconInit(long) -- 680 stdcall -noname IsUserAdmin() -+ 680 stdcall IsUserAnAdmin() - - 714 stdcall @(ptr) SHELL32_714 # PathIsTemporaryW - 730 stdcall -noname RestartDialogEx(long wstr long long) -@@ -368,7 +368,7 @@ - @ stdcall SHQueryRecycleBinA(str ptr) - @ stdcall SHQueryRecycleBinW(wstr ptr) - @ stdcall SHSetLocalizedName(wstr wstr long) --@ stdcall SHUpdateRecycleBinIcon() -+@ stub SHUpdateRecycleBinIcon - @ stdcall SheChangeDirA(str) - @ stub SheChangeDirExA - @ stub SheChangeDirExW -Index: shell32_De.rc -=================================================================== ---- shell32_De.rc (revision 29513) -+++ shell32_De.rc (working copy) -@@ -128,7 +128,7 @@ - ICON "", 1088, 10, 10, 14, 16 - LTEXT "", 100, 30, 10, 137, 10 - LTEXT "", 101, 30, 22, 137, 10 -- LTEXT "WINE wurde für Sie gekeltert von:", 98, 8, 55, 137, 10 -+ LTEXT "ReactOS wurde Ihnen zur Verfügung gestellt von:", 98, 8, 55, 170, 10 - } - - SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95 -@@ -137,14 +137,178 @@ - FONT 8, "MS Shell Dlg" - { - ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE -- LTEXT "Geben sie den Namen eines Programmes, eines Ordners, eines Dokumentes oder einer Internet-Ressource ein, die geöffnet werden soll", 12289, 36, 11, 182, 18 -- LTEXT "Ö&ffnen:", 12305, 7, 39, 24, 10 -+ LTEXT "Geben Sie den Namen eines Programms, eines Ordners, eines Dokuments oder einer Internetressource an.", 12289, 36, 11, 182, 18 -+ LTEXT "&Öffnen:", 12305, 7, 39, 24, 10 - CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100 - DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP - PUSHBUTTON "Abbrechen", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP - PUSHBUTTON "&Durchsuchen...", 12288, 170, 63, 50, 14, WS_TABSTOP - } - -+SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Verknüpfung" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE -+ LTEXT "Zeiltyp:", 14004, 10, 30, 50, 10 -+ LTEXT "", 14005, 70, 30, 150, 10 -+ LTEXT "Zielpfad:", 14006, 10, 40, 70, 10 -+ LTEXT "", 14007, 70, 40, 150, 10 -+ LTEXT "Ziel:", 14008, 10, 55, 45, 10 -+ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT -+ LTEXT "&Starten in:",14010, 10, 65, 45, 10 -+ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT -+ LTEXT "&Tastenkombination:", 14014, 10, 80, 45, 10 -+ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT -+ LTEXT "Ausführen:", 14016, 10, 90, 45, 10 -+ EDITTEXT 14017, 70, 90, 150, 10 -+ LTEXT "K&ommentar:", 14018, 10, 100, 45, 10 -+ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT -+ PUSHBUTTON "&Ziel finden...", 14020, 10, 115, 60, 14, ES_LEFT -+ PUSHBUTTON "I&con wechseln...", 14021, 80, 115, 60, 14, ES_LEFT -+ PUSHBUTTON "Er&weitert...", 14022, 150, 115, 60, 14, ES_LEFT -+} -+ -+SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 230, 150 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU -+CAPTION "Erweiterte Einstellungen" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+LTEXT "Wählen Sie die erweiterten Einstellungen für diese Verknüpfung.", -1, 5, 30, 190, 10 -+ CHECKBOX "Als anderer Benutzer ausführen", 14000, 30, 50, 150, 10 -+ LTEXT "Diese Einstellung ermöglicht es, diese Verknüpfung unter\neinem anderen oder Ihrem eingenen Bentzerkonto auszuführen\nwährend der Computer und Ihre Daten vor unautorisierten\nProgrammaktivitäten geschützt werden können.", -1, 50, 60, 200, 40 -+ CHECKBOX "In getrennten Speicherbereich ausführen", 14001, 30, 100, 90, 10, WS_DISABLED -+ PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE -+ PUSHBUTTON "Abbrechen", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE -+} -+ -+SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Allgemein" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE -+ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY -+ LTEXT "Dateityp:", 14004, 10, 30, 50, 10 -+ LTEXT "Datei", 14005, 70, 30, 150, 10 -+ LTEXT "Öffnen mit:", 14006, 10, 40, 50, 10 -+ LTEXT "", 14007, 70, 40, 150, 10 -+ LTEXT "Pfad:", 14008, 10, 55, 45, 10 -+ LTEXT "", 14009, 70, 55, 200, 10 -+ LTEXT "Größe:",14010, 10, 65, 45, 10 -+ LTEXT "", 14011, 70, 65, 150, 10 -+ LTEXT "Erstellt:", 14014, 10, 80, 45, 10 -+ LTEXT "", 14015, 70, 80, 150, 10 -+ LTEXT "Geändert:", 14016, 10, 90, 45, 10 -+ LTEXT "", 14017, 70, 90, 150, 10 -+ LTEXT "Zugegriffen:", 14018, 10, 100, 45, 10 -+ LTEXT "", 14019, 70, 100, 150, 10 -+ LTEXT "Attribute:", 14020, 10, 115, 45, 10 -+ CHECKBOX "&Schreibgeschützt", 14021, 70, 115, 45, 10 -+ CHECKBOX "&Versteckt", 14022, 130, 115, 50, 10 -+ CHECKBOX "&Archiv", 14023, 180, 115, 45, 10 -+} -+ -+SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Version" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ LTEXT "Dateiversion: ", 14000, 10, 10, 45, 10 -+ LTEXT "", 14001, 70, 10, 150, 10 -+ LTEXT "Beschreibung: ", 14002, 10, 20, 45, 10 -+ LTEXT "", 14003, 70, 20, 150, 10 -+ LTEXT "Copyright: ", 14004, 10, 30, 45, 10 -+ LTEXT "", 14005, 70, 30, 150, 10 -+ GROUPBOX "Weitere Versionsinformationen: ", 14006, 10, 45, 220, 90 -+ LTEXT "Elementname: ", 14007, 20, 55, 50, 10 -+ LTEXT "Wert: ", 14008, 130, 55, 45, 10 -+ LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY -+ EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY -+ -+} -+ -+DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Allgemein" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP -+ LTEXT "Typ:", -1, 15, 55, 40, 10 -+ LTEXT "", 14002, 110, 55, 100, 10 -+ -+ -+ LTEXT "Dateisystem:", -1, 15, 70, 100, 10 -+ LTEXT "", 14003, 110, 70, 100, 10 -+ -+ CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 -+ LTEXT "Belegter Speicher:", -1, 25, 90, 120, 10 -+ LTEXT "", 14004, 110, 90, 120, 10 -+ LTEXT "", 14005, 200, 90, 40, 10 -+ -+ CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 -+ LTEXT "Freier Speicher:", -1, 25, 105, 70, 10 -+ LTEXT "", 14006, 110, 105, 120, 10 -+ LTEXT "", 14007, 200, 105, 40, 10 -+ -+ LTEXT "Speicherkapazität:", -1, 25, 125, 80, 10 -+ LTEXT "", 14008, 110, 125, 120, 10 -+ LTEXT "", 14009, 200, 125, 40, 10 -+ -+ CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 -+ -+ LTEXT "Laufwerk %s", 14010, 100, 170, 40, 10 -+ PUSHBUTTON "Bereinigen", 14011, 180, 175, 50, 15, WS_TABSTOP -+ CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14012, 15, 205, 165, 10, WS_DISABLED -+ CHECKBOX "Laufwerk für schnelle Dateisuche indizieren", 14012, 15, 220, 165, 10, WS_DISABLED -+} -+ -+DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Extras" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ GROUPBOX "Fehlerüberprüfung", -1, 5, 5, 230, 60 -+ LTEXT "Bei Wahl dieser Option wird das Volume\nauf Fehler überprüft.", -1, 40, 25, 160, 20 -+ PUSHBUTTON "Jetzt &prüfen", 14000, 130, 45, 90, 15, WS_TABSTOP -+ GROUPBOX "Defragmentierung", -1, 5, 65, 230, 60 -+ LTEXT "Bei Wahl dieser Option werden die Dateien auf\ndem Volume defragmentiert.", -1, 40, 85, 160, 20 -+ PUSHBUTTON "Jetzt &defragmentieren", 14001, 130, 105, 90, 15, WS_TABSTOP -+ GROUPBOX "Sicherung", -1, 5, 130, 230, 60 -+ LTEXT "Bei Wahl dieser Option werden die auf dem\nVolume gespeicherten Dateien gesichert.", -1, 40, 150, 160, 20 -+ PUSHBUTTON "Jetzt &sichern", 14002, 130, 170, 90, 15, WS_TABSTOP -+} -+ -+DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 230 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Hardware" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+} -+ -+RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Ausführen als" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10 -+ CHECKBOX "Aktueller Benutzer %s", 14000, 5, 45, 150, 10 -+ LTEXT "Computer vor unauthorisierten Programmaktiviäten schützen", -1, 40, 65, 150, 10, WS_DISABLED -+ CHECKBOX "Diese Einstellung kann Computerviren daran hindern, ihrem\nComputer und/oder Ihren persönlichen Daten zu schaden, aber\nes kann auch Programme daran hindern, Ordnungsgemäß zu arbeiten.", 14001, 40, 80, 150, 10, WS_DISABLED -+ CHECKBOX "Folgender Benutzer:", 14002, 5, 100, 90, 10 -+ LTEXT "Benutzername:", -1, 15, 115, 60, 10 -+ COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP -+ -+ PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP -+ LTEXT "Passwort:", -1, 15, 140, 60, 10 -+ EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP -+ PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP -+ PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP -+ PUSHBUTTON "Abbrechen", 14008, 140, 170, 60, 15, WS_TABSTOP -+} -+ -+ - STRINGTABLE DISCARDABLE - { - /* columns in the shellview */ -@@ -194,10 +358,10 @@ - "the folder?" - - /* message box strings */ -- IDS_RESTART_TITLE "Neustarten" -- IDS_RESTART_PROMPT "Möchten Sie, dass ein simulierter Windows Neustart durchgeführt wird ?" -- IDS_SHUTDOWN_TITLE "Anhalten" -- IDS_SHUTDOWN_PROMPT "Möchten Sie die aktuelle Wine Sitzung beenden ?" -+ IDS_RESTART_TITLE "Neu starten" -+ IDS_RESTART_PROMPT "Möchten Sie das System neu starten?" -+ IDS_SHUTDOWN_TITLE "Herunterfahren" -+ IDS_SHUTDOWN_PROMPT "Möchten Sie das System herunterfahren?" - - /* shell folder path default values */ - IDS_PROGRAMS "Startmenü\\Programme" -@@ -227,4 +391,7 @@ - IDS_COMMON_PICTURES "Dokumente\\Eigene Bilder" - IDS_COMMON_VIDEO "Dokumente\\Eigene Videos" - IDS_CDBURN_AREA "Lokale Einstellungen\\Anwendungsdaten\\Microsoft\\CD Burning" -+ IDS_DRIVE_FIXED "Lokaler Datenträger" -+ IDS_DRIVE_CDROM "CD-Laufwerk" -+ IDS_DRIVE_NETWORK "Netzwerklaufwerk" - } -Index: shell32_En.rc -=================================================================== ---- shell32_En.rc (revision 29513) -+++ shell32_En.rc (working copy) -@@ -16,7 +16,7 @@ - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - --LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT -+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - - MENU_001 MENU DISCARDABLE - BEGIN -@@ -145,7 +145,7 @@ - ICON "", 1088, 10, 10, 14, 16 - LTEXT "", 100, 30, 10, 137, 10 - LTEXT "", 101, 30, 22, 137, 10 -- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10 -+ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10 - } - - SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95 -@@ -154,7 +154,7 @@ - FONT 8, "MS Shell Dlg" - { - ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE -- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18 -+ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18 - LTEXT "&Open:", 12305, 7, 39, 24, 10 - CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100 - DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP -@@ -162,6 +162,172 @@ - PUSHBUTTON "&Browse...", 12288, 170, 63, 50, 14, WS_TABSTOP - } - -+SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Shortcut" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE -+ LTEXT "Target type:", 14004, 10, 30, 50, 10 -+ LTEXT "", 14005, 70, 30, 150, 10 -+ LTEXT "Target location:", 14006, 10, 40, 70, 10 -+ LTEXT "", 14007, 70, 40, 150, 10 -+ LTEXT "Target:", 14008, 10, 55, 45, 10 -+ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT -+ LTEXT "&Start in:",14010, 10, 65, 45, 10 -+ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT -+ LTEXT "Shortcut &key:", 14014, 10, 80, 45, 10 -+ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT -+ LTEXT "Run:", 14016, 10, 90, 45, 10 -+ EDITTEXT 14017, 70, 90, 150, 10 -+ LTEXT "C&omment:", 14018, 10, 100, 45, 10 -+ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT -+ PUSHBUTTON "&Find Target...", 14020, 10, 115, 60, 14, ES_LEFT -+ PUSHBUTTON "&Change Icon...", 14021, 80, 115, 60, 14, ES_LEFT -+ PUSHBUTTON "A&dvanced...", 14022, 150, 115, 60, 14, ES_LEFT -+} -+ -+SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 260, 150 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION -+CAPTION "Extended Properties" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ LTEXT "Choose the advanced properties you want for this shortcut.", -1, 5, 30, 190, 10 -+ CHECKBOX "Run with different credentials", 14000, 30, 50, 150, 10 -+ LTEXT "This option can allow you to run the this shortcut as another\nuser, or continue as yourself while protecting your computer\nand data from unauthorized program activity.", -1, 50, 60, 200, 40 -+ CHECKBOX "Run in seperate memory space", 14001, 30, 100, 90, 10, WS_DISABLED -+ PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE -+ PUSHBUTTON "Abort", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE -+} -+ -+SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "General" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE -+ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY -+ LTEXT "Type of file:", 14004, 10, 30, 50, 10 -+ LTEXT "File", 14005, 70, 30, 150, 10 -+ LTEXT "Opens with:", 14006, 10, 40, 50, 10 -+ LTEXT "", 14007, 70, 40, 150, 10 -+ LTEXT "Location:", 14008, 10, 55, 45, 10 -+ LTEXT "", 14009, 70, 55, 200, 10 -+ LTEXT "Size:",14010, 10, 65, 45, 10 -+ LTEXT "", 14011, 70, 65, 150, 10 -+ LTEXT "Created:", 14014, 10, 80, 45, 10 -+ LTEXT "", 14015, 70, 80, 150, 10 -+ LTEXT "Modified:", 14016, 10, 90, 45, 10 -+ LTEXT "", 14017, 70, 90, 150, 10 -+ LTEXT "Accessed:", 14018, 10, 100, 45, 10 -+ LTEXT "", 14019, 70, 100, 150, 10 -+ LTEXT "Attributes:", 14020, 10, 115, 45, 10 -+ CHECKBOX "&Read-only", 14021, 70, 115, 45, 10 -+ CHECKBOX "&Hidden", 14022, 130, 115, 50, 10 -+ CHECKBOX "&Archive", 14023, 180, 115, 45, 10 -+} -+ -+SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Version" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ LTEXT "File version: ", 14000, 10, 10, 45, 10 -+ LTEXT "", 14001, 70, 10, 150, 10 -+ LTEXT "Description: ", 14002, 10, 20, 45, 10 -+ LTEXT "", 14003, 70, 20, 150, 10 -+ LTEXT "Copyright: ", 14004, 10, 30, 45, 10 -+ LTEXT "", 14005, 70, 30, 150, 10 -+ GROUPBOX "Other version information: ", 14006, 10, 45, 220, 90 -+ LTEXT "Item name: ", 14007, 20, 55, 50, 10 -+ LTEXT "Value: ", 14008, 130, 55, 45, 10 -+ LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY -+ EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY -+ -+} -+ -+DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "General" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP -+ LTEXT "Type:", -1, 15, 55, 40, 10 -+ LTEXT "", 14002, 110, 55, 100, 10 -+ -+ -+ LTEXT "File system:", -1, 15, 70, 100, 10 -+ LTEXT "", 14003, 110, 70, 100, 10 -+ -+ CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 -+ LTEXT "Used space:", -1, 25, 90, 120, 10 -+ LTEXT "", 14004, 110, 90, 120, 10 -+ LTEXT "", 14005, 200, 90, 40, 10 -+ -+ CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 -+ LTEXT "Free space:", -1, 25, 105, 70, 10 -+ LTEXT "", 14006, 110, 105, 120, 10 -+ LTEXT "", 14007, 200, 105, 40, 10 -+ -+ LTEXT "Capacity:", -1, 25, 125, 80, 10 -+ LTEXT "", 14008, 110, 125, 120, 10 -+ LTEXT "", 14009, 200, 125, 40, 10 -+ -+ CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 -+ -+ LTEXT "Drive %s", 14010, 100, 170, 40, 10 -+ PUSHBUTTON "Disk Cleanup", 14011, 180, 175, 50, 15, WS_TABSTOP -+ CHECKBOX "Compress drive to save disk space", 14012, 15, 205, 165, 10, WS_DISABLED -+ CHECKBOX "Allow Indexing Service to index this disk for fast file searching", 14012, 15, 220, 200, 10, WS_DISABLED -+} -+ -+DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Tools" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ GROUPBOX "Error-checking", -1, 5, 5, 230, 60 -+ LTEXT "This option will check the volume for\nerrors.", -1, 40, 25, 160, 20 -+ PUSHBUTTON "Check Now...", 14000, 130, 45, 90, 15, WS_TABSTOP -+ GROUPBOX "Defragmentation", -1, 5, 65, 230, 60 -+ LTEXT "This option will defragment files on the volume", -1, 40, 85, 160, 20 -+ PUSHBUTTON "Defragment Now...", 14001, 130, 105, 90, 15, WS_TABSTOP -+ GROUPBOX "Backup", -1, 5, 130, 230, 60 -+ LTEXT "This option will back up files on the volume.", -1, 40, 150, 160, 20 -+ PUSHBUTTON "Backup Now...", 14002, 130, 170, 90, 15, WS_TABSTOP -+} -+ -+ -+ -+DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 130 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Hardware" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+} -+ -+RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190 -+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -+CAPTION "Run As" -+FONT 8, "MS Shell Dlg", 0, 0, 0x0 -+{ -+ LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10 -+ CHECKBOX "Current User %s", 14000, 5, 45, 150, 10 -+ LTEXT "Protect my computer and data from unauthorized program activity", -1, 40, 65, 150, 10, WS_DISABLED -+ CHECKBOX "This option can prevent computer viruses from harming your\ncomputer or personal data, but selecting it might cause the\nprogram to function improperly.", 14001, 40, 80, 150, 10, WS_DISABLED -+ CHECKBOX "The following user:", 14002, 5, 100, 90, 10 -+ LTEXT "User name:", -1, 15, 115, 60, 10 -+ COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP -+ -+ PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP -+ LTEXT "Password:", -1, 15, 140, 60, 10 -+ EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP -+ PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP -+ PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP -+ PUSHBUTTON "Cancel", 14008, 140, 170, 60, 15, WS_TABSTOP -+} -+ -+ - STRINGTABLE DISCARDABLE - { - /* columns in the shellview */ -@@ -211,10 +377,10 @@ - "the folder?" - - /* message box strings */ -- IDS_RESTART_TITLE "Restart" -- IDS_RESTART_PROMPT "Do you want to simulate a Windows reboot?" -- IDS_SHUTDOWN_TITLE "Shutdown" -- IDS_SHUTDOWN_PROMPT "Do you want to shutdown your Wine session?" -+ IDS_RESTART_TITLE "Restart" -+ IDS_RESTART_PROMPT "Do you want to restart the system?" -+ IDS_SHUTDOWN_TITLE "Shutdown" -+ IDS_SHUTDOWN_PROMPT "Do you want to shutdown?" - - /* shell folder path default values */ - IDS_PROGRAMS "Start Menu\\Programs" -@@ -244,4 +410,7 @@ - IDS_COMMON_PICTURES "Documents\\My Pictures" - IDS_COMMON_VIDEO "Documents\\My Video" - IDS_CDBURN_AREA "Local Settings\\Application Data\\Microsoft\\CD Burning" -+ IDS_DRIVE_FIXED "Local Disk" -+ IDS_DRIVE_CDROM "CDROM" -+ IDS_DRIVE_NETWORK "Network Disk" - } -Index: shell32_main.h -=================================================================== ---- shell32_main.h (revision 29513) -+++ shell32_main.h (working copy) -@@ -239,4 +239,8 @@ - /* Detect Shell Links */ - BOOL SHELL_IsShortcut(LPCITEMIDLIST); - -+INT_PTR CALLBACK SH_FileGeneralDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); -+INT_PTR CALLBACK SH_FileVersionDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); -+HPROPSHEETPAGE SH_CreatePropertySheetPage(LPSTR resname, DLGPROC dlgproc, LPARAM lParam); -+BOOL SH_ShowDriveProperties(WCHAR * drive); - #endif -Index: shelllink.c -=================================================================== ---- shelllink.c (revision 29513) -+++ shelllink.c (working copy) -@@ -53,8 +53,9 @@ - #include "shlwapi.h" - #include "msi.h" - #include "appmgmt.h" -- -+#include "prsht.h" - #include "initguid.h" -+#include "shresdef.h" - - WINE_DEFAULT_DEBUG_CHANNEL(shell); - -@@ -86,6 +87,7 @@ - - #define SHLINK_LOCAL 0 - #define SHLINK_REMOTE 1 -+#define MAX_PROPERTY_SHEET_PAGE 32 - - typedef struct _LOCATION_INFO - { -@@ -157,9 +159,11 @@ - LPWSTR sProduct; - LPWSTR sComponent; - volume_info volume; -- -+ LPWSTR sLinkPath; -+ 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; - -@@ -304,6 +308,7 @@ - HeapFree(GetProcessHeap(), 0, This->sWorkDir); - HeapFree(GetProcessHeap(), 0, This->sDescription); - HeapFree(GetProcessHeap(),0,This->sPath); -+ HeapFree(GetProcessHeap(),0,This->sLinkPath); - - if (This->site) - IUnknown_Release( This->site ); -@@ -386,6 +391,8 @@ - r = SHCreateStreamOnFileW(pszFileName, dwMode, &stm); - if( SUCCEEDED( r ) ) - { -+ HeapFree(GetProcessHeap(), 0, This->sLinkPath); -+ This->sLinkPath = _wcsdup(pszFileName); - r = IPersistStream_Load(StreamThis, stm); - ShellLink_UpdatePath(This->sPathRel, pszFileName, This->sWorkDir, &This->sPath); - IStream_Release( stm ); -@@ -919,6 +926,15 @@ - r = Stream_LoadAdvertiseInfo( stm, &This->sComponent ); - TRACE("Component -> %s\n",debugstr_w(This->sComponent)); - } -+ if( hdr.dwFlags & SLDF_RUNAS_USER ) -+ { -+ This->bRunAs = TRUE; -+ } -+ else -+ { -+ This->bRunAs = FALSE; -+ } -+ - if( FAILED( r ) ) - goto end; - -@@ -1089,6 +1105,8 @@ - header.dwFlags |= SLDF_HAS_LOGO3ID; - if( This->sComponent ) - header.dwFlags |= SLDF_HAS_DARWINID; -+ if( This->bRunAs ) -+ header.dwFlags |= SLDF_RUNAS_USER; - - SystemTimeToFileTime ( &This->time1, &header.Time1 ); - SystemTimeToFileTime ( &This->time2, &header.Time2 ); -@@ -1204,6 +1222,7 @@ - sl->bDirty = FALSE; - sl->iIdOpen = -1; - sl->site = NULL; -+ sl->bRunAs = FALSE; - - TRACE("(%p)->()\n",sl); - -@@ -2452,6 +2471,7 @@ - { - 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 }; - MENUITEMINFOW mii; - int id = 1; - -@@ -2461,10 +2481,10 @@ - if ( !hmenu ) - return E_INVALIDARG; - -- memset( &mii, 0, sizeof mii ); -- mii.cbSize = sizeof mii; -+ memset( &mii, 0, sizeof(mii) ); -+ mii.cbSize = sizeof (mii); - mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; -- mii.dwTypeData = szOpen; -+ mii.dwTypeData = (LPWSTR)szOpen; - mii.cch = strlenW( mii.dwTypeData ); - mii.wID = idCmdFirst + id++; - mii.fState = MFS_DEFAULT | MFS_ENABLED; -@@ -2473,6 +2493,18 @@ - 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 ); - } - -@@ -2500,7 +2532,223 @@ - return path; - } - -+INT_PTR CALLBACK ExtendedShortcutProc( -+ HWND hwndDlg, -+ UINT uMsg, -+ WPARAM wParam, -+ LPARAM lParam -+) -+{ -+ HWND hDlgCtrl; -+ -+ switch(uMsg) -+ { -+ case WM_INITDIALOG: -+ if (lParam) -+ { -+ hDlgCtrl = GetDlgItem(hwndDlg, 14000); -+ SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0); -+ } -+ return TRUE; -+ case WM_COMMAND: -+ hDlgCtrl = GetDlgItem(hwndDlg, 14000); -+ if (LOWORD(wParam) == IDOK) -+ { -+ if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED ) -+ EndDialog(hwndDlg, 1); -+ else -+ EndDialog(hwndDlg, 0); -+ } -+ else if (LOWORD(wParam) == IDCANCEL) -+ { -+ EndDialog(hwndDlg, -1); -+ } -+ else if (LOWORD(wParam) == 14000) -+ { -+ if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED) -+ SendMessage(hDlgCtrl, BM_SETCHECK, BST_UNCHECKED, 0); -+ else -+ SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0); -+ -+ } -+ } -+ return FALSE; -+} -+ -+/************************************************************************** -+ * SH_ShellLinkDlgProc -+ * -+ * dialog proc of the shortcut property dialog -+ */ -+ -+INT_PTR -+CALLBACK -+SH_ShellLinkDlgProc( -+ HWND hwndDlg, -+ UINT uMsg, -+ WPARAM wParam, -+ LPARAM lParam -+) -+{ -+ LPPROPSHEETPAGEW ppsp; -+ LPPSHNOTIFY lppsn; -+ IShellLinkImpl *This; -+ HWND hDlgCtrl; -+ WCHAR szBuffer[MAX_PATH]; -+ int IconIndex; -+ INT_PTR result; -+ -+ This = (IShellLinkImpl *)GetWindowLongPtr(hwndDlg, DWLP_USER); -+ -+ switch(uMsg) -+ { -+ case WM_INITDIALOG: -+ ppsp = (LPPROPSHEETPAGEW)lParam; -+ if (ppsp == NULL) -+ break; -+ -+ TRACE("ShellLink_DlgProc (WM_INITDIALOG hwnd %p lParam %p ppsplParam %x)\n",hwndDlg, lParam, ppsp->lParam); -+ -+ This = (IShellLinkImpl *)ppsp->lParam; -+ SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)This); -+ -+ TRACE("sArgs: %S sComponent: %S sDescription: %S sIcoPath: %S sPath: %S sPathRel: %S sProduct: %S sWorkDir: %S\n", This->sArgs, This->sComponent ,This->sDescription, -+ This->sIcoPath, This->sPath, This->sPathRel, This->sProduct, This->sWorkDir); -+ -+ /* target path */ -+ hDlgCtrl = GetDlgItem( hwndDlg, 14009 ); -+ if ( hDlgCtrl != NULL ) -+ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sPath ); -+ -+ /* working dir */ -+ hDlgCtrl = GetDlgItem( hwndDlg, 14011 ); -+ if ( hDlgCtrl != NULL ) -+ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sWorkDir ); -+ -+ /* description */ -+ hDlgCtrl = GetDlgItem( hwndDlg, 14019 ); -+ if ( hDlgCtrl != NULL ) -+ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sDescription ); -+ return TRUE; -+ case WM_NOTIFY: -+ lppsn = (LPPSHNOTIFY) lParam; -+ if ( lppsn->hdr.code == PSN_APPLY ) -+ { -+ /* set working directory */ -+ hDlgCtrl = GetDlgItem( hwndDlg, 14011 ); -+ SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer ); -+ IShellLinkW_fnSetWorkingDirectory((IShellLinkW*)&This->lpvtblw, szBuffer); -+ /* set link destination */ -+ hDlgCtrl = GetDlgItem( hwndDlg, 14009 ); -+ SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer); -+ if ( !SHELL_ExistsFileW(szBuffer) ) -+ { -+ MessageBoxW( hwndDlg, L"file not existing", szBuffer, MB_OK ); -+ SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE ); -+ return TRUE; -+ } -+ IShellLinkW_fnSetPath((IShellLinkW*)&This->lpvtblw, szBuffer); -+ -+ TRACE("This %p sLinkPath %S\n", This, This->sLinkPath); -+ IPersistFile_fnSave( (IPersistFile*)&This->lpvtblPersistFile, This->sLinkPath, TRUE ); -+ SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR ); -+ return TRUE; -+ } -+ break; -+ case WM_COMMAND: -+ switch(LOWORD(wParam)) -+ { -+ case 14020: -+ /// -+ /// FIXME -+ /// open target directory -+ /// -+ return TRUE; -+ case 14021: -+ if (PickIconDlg(hwndDlg, szBuffer, MAX_PATH, &IconIndex)) -+ { -+ IShellLinkW_fnSetIconLocation((IShellLinkW*)&This->lpvtblw, szBuffer, IconIndex); -+ /// -+ /// FIXME redraw icon -+ } -+ return TRUE; -+ case 14022: -+ result = DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(SHELL_EXTENDED_SHORTCUT_DLG), hwndDlg, ExtendedShortcutProc, (LPARAM)This->bRunAs); -+ if (result == 1 || result == 0) -+ { -+ if ( This->bRunAs != result ) -+ { -+ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); -+ } -+ -+ This->bRunAs = result; -+ } -+ return TRUE; -+ } -+ switch(HIWORD(wParam)) -+ { -+ case EN_CHANGE: -+ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); -+ break; -+ } -+ break; -+ default: -+ break; -+ } -+ return FALSE; -+} -+ -+/************************************************************************** -+ * ShellLink_ShortcutDialog [Internal] -+ * -+ * creates a shortcut property dialog -+ */ -+ - static 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); -+ if ( hpage == NULL ) -+ return E_FAIL; -+ else -+ hppages[numpages++] = hpage; -+ -+ hpage = SH_CreatePropertySheetPage("SHELL_GENERAL_SHORTCUT_DLG", SH_ShellLinkDlgProc, (LPARAM)This); -+ 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; -+} -+ -+static HRESULT WINAPI - ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici ) - { - IShellLinkImpl *This = impl_from_IContextMenu(iface); -@@ -2516,6 +2764,12 @@ - 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) ) - { - ERR("Unknown id %d != %d\n", (INT)lpici->lpVerb, This->iIdOpen ); -Index: shellole.c -=================================================================== ---- shellole.c (revision 29513) -+++ shellole.c (working copy) -@@ -69,11 +69,13 @@ - {&CLSID_DragDropHelper, &IDropTargetHelper_Constructor}, - {&CLSID_ControlPanel, &IControlPanel_Constructor}, - {&CLSID_AutoComplete, &IAutoComplete_Constructor}, -+#if 0 - {&CLSID_UnixFolder, &UnixFolder_Constructor}, - {&CLSID_UnixDosFolder, &UnixDosFolder_Constructor}, - {&CLSID_FolderShortcut, &FolderShortcut_Constructor}, - {&CLSID_MyDocuments, &MyDocuments_Constructor}, - {&CLSID_RecycleBin, &RecycleBin_Constructor}, -+#endif - {NULL,NULL} - }; - -Index: shellord.c -=================================================================== ---- shellord.c (revision 29513) -+++ shellord.c (working copy) -@@ -1265,9 +1265,70 @@ - * IsUserAdmin [SHELL32.680] NT 4.0 - * - */ --HRESULT WINAPI IsUserAdmin(void) --{ FIXME("stub\n"); -- return TRUE; -+ -+BOOL WINAPI IsUserAnAdmin(VOID) -+{ -+ SID_IDENTIFIER_AUTHORITY Authority = {SECURITY_NT_AUTHORITY}; -+ HANDLE hToken; -+ DWORD dwSize; -+ PTOKEN_GROUPS lpGroups; -+ PSID lpSid; -+ DWORD i; -+ BOOL bResult = FALSE; -+ -+ TRACE("\n"); -+ -+ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) -+ { -+ return FALSE; -+ } -+ -+ if (!GetTokenInformation(hToken, TokenGroups, NULL, 0, &dwSize)) -+ { -+ if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) -+ { -+ CloseHandle(hToken); -+ return FALSE; -+ } -+ } -+ -+ lpGroups = HeapAlloc(GetProcessHeap(), 0, dwSize); -+ if (lpGroups == NULL) -+ { -+ CloseHandle(hToken); -+ return FALSE; -+ } -+ -+ if (!GetTokenInformation(hToken, TokenGroups, lpGroups, dwSize, &dwSize)) -+ { -+ HeapFree(GetProcessHeap(), 0, lpGroups); -+ CloseHandle(hToken); -+ return FALSE; -+ } -+ -+ CloseHandle(hToken); -+ -+ if (!AllocateAndInitializeSid(&Authority, 2, SECURITY_BUILTIN_DOMAIN_RID, -+ DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, -+ &lpSid)) -+ { -+ HeapFree(GetProcessHeap(), 0, lpGroups); -+ return FALSE; -+ } -+ -+ for (i = 0; i < lpGroups->GroupCount; i++) -+ { -+ if (EqualSid(lpSid, lpGroups->Groups[i].Sid)) -+ { -+ bResult = TRUE; -+ break; -+ } -+ } -+ -+ FreeSid(lpSid); -+ HeapFree(GetProcessHeap(), 0, lpGroups); -+ -+ return bResult; - } - - /************************************************************************* -@@ -1584,14 +1645,6 @@ - } - - /************************************************************************* -- * SHCreatePropSheetExtArray [SHELL32.168] -- */ --HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) --{ -- return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL); --} -- --/************************************************************************* - * SHCreatePropSheetExtArrayEx [SHELL32.194] - */ - HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj) -@@ -1695,6 +1748,15 @@ - } - - /************************************************************************* -+ * SHCreatePropSheetExtArray [SHELL32.168] -+ */ -+HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) -+{ -+ return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL); -+} -+ -+ -+/************************************************************************* - * SHReplaceFromPropSheetExtArray [SHELL32.170] - */ - UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) -Index: shellpath.c -=================================================================== ---- shellpath.c (revision 29513) -+++ shellpath.c (working copy) -@@ -24,6 +24,7 @@ - * - */ - -+#define symlink(A, B) - #include "config.h" - #include "wine/port.h" - -@@ -1977,7 +1978,7 @@ - - if (szBasePath[cLen-1] != '/') szBasePath[cLen++] = '/'; - -- if (!WideCharToMultiByte(CP_UNIXCP, 0, wszSubPath, -1, szBasePath + cLen, -+ if (!WideCharToMultiByte(CP_ACP, 0, wszSubPath, -1, szBasePath + cLen, - FILENAME_MAX - cLen, NULL, NULL)) - { - return FALSE; -@@ -1988,7 +1989,7 @@ - - return TRUE; - } -- -+#if 0 - /****************************************************************************** - * _SHCreateSymbolicLinks [Internal] - * -@@ -2040,7 +2041,7 @@ - for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) { - strcpy(szMyStuffTarget, szPersonalTarget); - if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i]))) -- mkdir(szMyStuffTarget, 0777); -+ mkdir(szMyStuffTarget); - } - } - else -@@ -2061,7 +2062,7 @@ - for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) { - strcpy(szMyStuffTarget, szPersonalTarget); - if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i]))) -- mkdir(szMyStuffTarget, 0777); -+ mkdir(szMyStuffTarget); - } - } - -@@ -2108,6 +2109,7 @@ - } - } - } -+#endif - - /* Register the default values in the registry, as some apps seem to depend - * on their presence. The set registered was taken from Windows XP. -@@ -2120,7 +2122,9 @@ - * 'My Video', 'My Music' and 'Desktop' in advance, so that the - * _SHRegister*ShellFolders() functions will find everything nice and clean - * and thus will not attempt to create them in the profile directory. */ -+#if 0 - _SHCreateSymbolicLinks(); -+#endif - - hr = _SHRegisterUserShellFolders(TRUE); - if (SUCCEEDED(hr)) -Index: shfldr_desktop.c -=================================================================== ---- shfldr_desktop.c (revision 29513) -+++ shfldr_desktop.c (working copy) -@@ -165,9 +165,11 @@ - else if (PathGetDriveNumberW (lpszDisplayName) >= 0) - { - /* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */ -+#if 0 - if (UNIXFS_is_rooted_at_desktop()) - pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder); - else -+#endif - pidlTemp = _ILCreateMyComputer (); - szNext = lpszDisplayName; - } -Index: shfldr_mycomp.c -=================================================================== ---- shfldr_mycomp.c (revision 29513) -+++ shfldr_mycomp.c (working copy) -@@ -695,20 +695,8 @@ - - if (SUCCEEDED (hr)) - { -- /* Win9x always returns ANSI strings, NT always returns Unicode strings */ -- if (GetVersion() & 0x80000000) -- { -- strRet->uType = STRRET_CSTR; -- if (!WideCharToMultiByte(CP_ACP, 0, pszPath, -1, strRet->u.cStr, MAX_PATH, -- NULL, NULL)) -- strRet->u.cStr[0] = '\0'; -- CoTaskMemFree(pszPath); -- } -- else -- { -- strRet->uType = STRRET_WSTR; -- strRet->u.pOleStr = pszPath; -- } -+ strRet->uType = STRRET_WSTR; -+ strRet->u.pOleStr = pszPath; - } - else - CoTaskMemFree(pszPath); -Index: shlexec.c -=================================================================== ---- shlexec.c (revision 29513) -+++ shlexec.c (working copy) -@@ -1300,6 +1300,7 @@ - static const WCHAR wFile[] = {'f','i','l','e',0}; - static const WCHAR wHttp[] = {'h','t','t','p',':','/','/',0}; - static const WCHAR wExplorer[] = {'e','x','p','l','o','r','e','r','.','e','x','e',0}; -+ static const WCHAR wProperties[] = { 'p','r','o','p','e','r','t','i','e','s',0 }; - static const DWORD unsupportedFlags = - SEE_MASK_INVOKEIDLIST | SEE_MASK_ICON | SEE_MASK_HOTKEY | - SEE_MASK_CONNECTNETDRV | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_FLAG_NO_UI | -@@ -1405,6 +1406,13 @@ - return TRUE; - } - -+ if (sei_tmp.lpVerb && !wcscmp(sei_tmp.lpVerb, wProperties)) -+ { -+ SH_ShowPropertiesDialog(sei_tmp.lpFile); -+ sei->hInstApp = (HINSTANCE) 33; -+ return TRUE; -+ } -+ - if (sei_tmp.fMask & SEE_MASK_CLASSALL) - { - /* launch a document by fileclass like 'WordPad.Document.1' */ -Index: shlfileop.c -=================================================================== ---- shlfileop.c (revision 29513) -+++ shlfileop.c (working copy) -@@ -1696,16 +1696,6 @@ - } - - /*********************************************************************** -- * SHPathPrepareForWriteA (SHELL32.@) -- */ --HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags) --{ -- WCHAR wpath[MAX_PATH]; -- MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH); -- return SHPathPrepareForWriteW(hwnd, modless, wpath, flags); --} -- --/*********************************************************************** - * SHPathPrepareForWriteW (SHELL32.@) - */ - HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path, DWORD flags) -@@ -1767,3 +1757,13 @@ - else - return HRESULT_FROM_WIN32(ERROR_DIRECTORY); - } -+ -+/*********************************************************************** -+ * SHPathPrepareForWriteA (SHELL32.@) -+ */ -+HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags) -+{ -+ WCHAR wpath[MAX_PATH]; -+ MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH); -+ return SHPathPrepareForWriteW(hwnd, modless, wpath, flags); -+} -Index: shlview.c -=================================================================== ---- shlview.c (revision 29513) -+++ shlview.c (working copy) -@@ -68,6 +68,8 @@ - - WINE_DEFAULT_DEBUG_CHANNEL(shell); - -+#undef SV_CLASS_NAME -+ - static const WCHAR SV_CLASS_NAME[] = {'S','H','E','L','L','D','L','L','_','D','e','f','V','i','e','w',0}; - - typedef struct -Index: shres.rc -=================================================================== ---- shres.rc (revision 29513) -+++ shres.rc (working copy) -@@ -35,88 +35,8 @@ - VK_F5, FCIDM_SHVIEW_REFRESH, VIRTKEY - END - --/* @makedep: document.ico */ --IDI_SHELL_DOCUMENT ICON document.ico - --/* @makedep: folder.ico */ --IDI_SHELL_FOLDER ICON folder.ico - --/* @makedep: folder_open.ico */ --IDI_SHELL_FOLDER_OPEN ICON folder_open.ico -- --/* FIXME: Following three resources are not yet added */ --/* @makedep: folder_open.ico */ --IDI_SHELL_FOLDER_OPEN_SMALL ICON folder_open.ico --/* @makedep: folder_open.ico */ --IDI_SHELL_FOLDER_OPEN_LARGE ICON folder_open.ico --/* @makedep: folder_open.ico */ --IDI_SHELL_FOLDER_SMALL_XP ICON folder_open.ico -- --/* @makedep: floppy.ico */ --IDI_SHELL_FLOPPY ICON floppy.ico -- --/* @makedep: drive.ico */ --IDI_SHELL_DRIVE ICON drive.ico -- --/* @makedep: netdrive.ico */ --IDI_SHELL_NETDRIVE ICON netdrive.ico -- --/* @makedep: netdrive2.ico */ --IDI_SHELL_NETDRIVE2 ICON netdrive2.ico -- --/* @makedep: cdrom.ico */ --IDI_SHELL_CDROM ICON cdrom.ico -- --/* @makedep: ramdisk.ico */ --IDI_SHELL_RAMDISK ICON ramdisk.ico -- --/* @makedep: mycomputer.ico */ --IDI_SHELL_MY_COMPUTER ICON mycomputer.ico -- --/* @makedep: printer.ico */ --IDI_SHELL_PRINTER ICON printer.ico -- --/* @makedep: shortcut.ico */ --IDI_SHELL_SHORTCUT ICON shortcut.ico -- --/* @makedep: desktop.ico */ --IDI_SHELL_DESKTOP ICON desktop.ico -- --/* @makedep: trash_file.ico */ --IDI_SHELL_FULL_RECYCLE_BIN ICON trash_file.ico -- --/* @makedep: trash_file.ico */ --IDI_SHELL_TRASH_FILE ICON trash_file.ico -- --/* @makedep: delete.ico */ --IDI_SHELL_CONFIRM_DELETE ICON delete.ico -- --/* @makedep: mydocs.ico */ --IDI_SHELL_MY_DOCUMENTS ICON mydocs.ico -- --/* @makedep: searching.avi */ --IDR_AVI_SEARCHING AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_SEARCH AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_FILEMOVE AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_FILECOPY AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_FINDCOMPUTER AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_FILENUKE AVI searching.avi -- --/* @makedep: searching.avi */ --IDR_AVI_FILEDELETE AVI searching.avi -- --/*--------------------- END FIXME ------------------------*/ -- - /* - * Everything that does not depend on language, - * like textless bitmaps etc, go into the -@@ -125,7 +45,20 @@ - */ - #include "shell32_xx.rc" - -+ -+ -+ - /* -+ * This include a set of Shell32 icons, -+ * bitmaps and avi files. Licence's can be -+ * found in the corresponding directorys -+ */ -+#include "icon_res.rc" -+//#include "bitmap_res.rc" -+#include "avi_res.rc" -+ -+ -+/* - * Everything specific to any language goes - * in one of the specific files. - * Note that you can and may override resources -Index: shresdef.h -=================================================================== ---- shresdef.h (revision 29513) -+++ shresdef.h (working copy) -@@ -78,6 +78,9 @@ - #define IDS_COMMON_PICTURES 69 - #define IDS_COMMON_VIDEO 70 - #define IDS_CDBURN_AREA 71 -+#define IDS_DRIVE_FIXED 72 -+#define IDS_DRIVE_CDROM 73 -+#define IDS_DRIVE_NETWORK 74 - - #define IDS_CREATEFOLDER_DENIED 128 - #define IDS_CREATEFOLDER_CAPTION 129 -@@ -109,6 +112,7 @@ - #define IDD_STATUS 0x3743 - #define IDD_TITLE 0x3742 - #define IDD_TREEVIEW 0x3741 -+#define SHELL_EXTENDED_SHORTCUT_DLG 0x4000 - - #define IDI_SHELL_DOCUMENT 1 - #define IDI_SHELL_FOLDER 4 -Index: shv_item_cmenu.c -=================================================================== ---- shv_item_cmenu.c (revision 29513) -+++ shv_item_cmenu.c (working copy) -@@ -38,6 +38,9 @@ - - WINE_DEFAULT_DEBUG_CHANNEL(shell); - -+/* ugly hack for cut&paste files */ -+BOOL fileMoving = FALSE; -+ - /************************************************************************** - * IContextMenu Implementation - */ -@@ -254,6 +257,9 @@ - if(uFlags & CMF_CANRENAME) - _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_RENAME, MFT_STRING, "&Rename", ISvItemCm_CanRenameItems(This) ? MFS_ENABLED : MFS_DISABLED); - -+ _InsertMenuItem(hmenu, indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); -+ _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, "&Properties", MFS_ENABLED); -+ - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, (FCIDM_SHVIEWLAST)); - } - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0); -@@ -294,7 +300,7 @@ - - ZeroMemory(&sei, sizeof(sei)); - sei.cbSize = sizeof(sei); -- sei.fMask = SEE_MASK_IDLIST | SEE_MASK_CLASSNAME; -+ sei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_CLASSNAME; - sei.lpIDList = pidlFQ; - sei.lpClass = "Folder"; - sei.hwnd = hwnd; -@@ -382,6 +388,54 @@ - } - return TRUE; - } -+static void DoProperties( -+ IContextMenu2 *iface, -+ HWND hwnd) -+{ -+ ItemCmImpl *This = (ItemCmImpl *)iface; -+ LPITEMIDLIST pidlFQ = NULL; -+ SHELLEXECUTEINFOA sei; -+ -+ if (_ILIsMyComputer(This->apidl[0])) -+ { -+ ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl", NULL, NULL, SW_SHOWNORMAL); -+ return; -+ } -+ else if (_ILIsDesktop(This->apidl[0])) -+ { -+ ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL desk.cpl", NULL, NULL, SW_SHOWNORMAL); -+ return; -+ } -+ else if (_ILIsDrive(This->apidl[0])) -+ { -+ WCHAR buffer[111]; -+ ILGetDisplayName(This->apidl[0], buffer); -+ SH_ShowDriveProperties(buffer); -+ return; -+ } -+ else -+ { -+ pidlFQ = ILCombine(This->pidl, This->apidl[0]); -+ } -+ -+ ZeroMemory(&sei, sizeof(sei)); -+ sei.cbSize = sizeof(sei); -+ sei.fMask = SEE_MASK_INVOKEIDLIST; -+ sei.lpIDList = pidlFQ; -+ sei.hwnd = hwnd; -+ sei.nShow = SW_SHOWNORMAL; -+ sei.lpVerb = "properties"; -+ -+ TRACE("DoProperties before ShellExecuteEx\n"); -+ ShellExecuteExA(&sei); -+ TRACE("DoProperties after ShellExecuteEx\n"); -+ -+ if (pidlFQ) -+ { -+ SHFree(pidlFQ); -+ } -+} -+ - /************************************************************************** - * ISvItemCm_fnInvokeCommand() - */ -@@ -430,6 +484,10 @@ - TRACE("Verb FCIDM_SHVIEW_CUT\n"); - DoCopyOrCut(iface, lpcmi->hwnd, TRUE); - break; -+ case FCIDM_SHVIEW_PROPERTIES: -+ TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n"); -+ DoProperties(iface, lpcmi->hwnd); -+ break; - default: - FIXME("Unhandled Verb %xl\n",LOWORD(lpcmi->lpVerb)); - }
16 years, 8 months
1
0
0
0
[dchapyshev] 33525: - Start implement "Advanced Key Settings" and "Change Key Sequence" dialogs - Update all resources
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Thu May 15 07:38:12 2008 New Revision: 33525 URL:
http://svn.reactos.org/svn/reactos?rev=33525&view=rev
Log: - Start implement "Advanced Key Settings" and "Change Key Sequence" dialogs - Update all resources Modified: trunk/reactos/dll/cpl/input/changekeyseq.c trunk/reactos/dll/cpl/input/input.h trunk/reactos/dll/cpl/input/keysettings.c trunk/reactos/dll/cpl/input/lang/bg-BG.rc trunk/reactos/dll/cpl/input/lang/de-DE.rc trunk/reactos/dll/cpl/input/lang/el-GR.rc trunk/reactos/dll/cpl/input/lang/en-US.rc trunk/reactos/dll/cpl/input/lang/es-ES.rc trunk/reactos/dll/cpl/input/lang/fr-FR.rc trunk/reactos/dll/cpl/input/lang/it-IT.rc trunk/reactos/dll/cpl/input/lang/pl-PL.rc trunk/reactos/dll/cpl/input/lang/ru-RU.rc trunk/reactos/dll/cpl/input/lang/sk-SK.rc trunk/reactos/dll/cpl/input/lang/uk-UA.rc trunk/reactos/dll/cpl/input/resource.h Modified: trunk/reactos/dll/cpl/input/changekeyseq.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/changekeyseq…
============================================================================== --- trunk/reactos/dll/cpl/input/changekeyseq.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/changekeyseq.c [iso-8859-1] Thu May 15 07:38:12 2008 @@ -1,33 +1,96 @@ -/* - * ReactOS - * Copyright (C) 2007 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ /* * * PROJECT: input.dll * FILE: dll/win32/input/changekeyseq.c * PURPOSE: input.dll - * PROGRAMMER: Dmitry Chapyshev (lentind(a)yandex.ru) + * PROGRAMMER: Dmitry Chapyshev (dmitry(a)reactos.org) * UPDATE HISTORY: * 06-09-2007 Created */ #include "resource.h" #include "input.h" + +BOOL +GetHotkeys(LPTSTR szHotkey, LPTSTR szLangHotkey, LPTSTR szLayoutHotkey) +{ + HKEY hKey; + DWORD dwSize; + + if (RegOpenKeyEx(HKEY_CURRENT_USER, _T("Keyboard Layout\\Toggle"), + 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) + { + dwSize = sizeof(szHotkey); + if (RegQueryValueEx(hKey, _T("Hotkey"), NULL, NULL, + (LPBYTE)szHotkey, &dwSize) != ERROR_SUCCESS) + { + RegCloseKey(hKey); + return FALSE; + } + + dwSize = sizeof(szLangHotkey); + if (RegQueryValueEx(hKey, _T("Language Hotkey"), NULL, NULL, + (LPBYTE)szLangHotkey, &dwSize) != ERROR_SUCCESS) + { + RegCloseKey(hKey); + return FALSE; + } + + dwSize = sizeof(szLayoutHotkey); + if (RegQueryValueEx(hKey, _T("Layout Hotkey"), NULL, NULL, + (LPBYTE)szLayoutHotkey, &dwSize) != ERROR_SUCCESS) + { + RegCloseKey(hKey); + return FALSE; + } + + RegCloseKey(hKey); + } + else return FALSE; + + return TRUE; +} + +static VOID +InitChangeKeySeqDlg(HWND hDlg) +{ + TCHAR szHotkey[1 + 1], szLangHotkey[1 + 1], szLayoutHotkey[1 + 1]; + + if (!GetHotkeys(szHotkey, szLangHotkey, szLayoutHotkey)) + return; + + if (_tcscmp(szLangHotkey, _T("3")) == 0) + { + SendDlgItemMessage(hDlg, IDC_CTRL_LANG, BM_SETCHECK, 1, 1); + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LANG), FALSE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LANG), FALSE); + } + else + { + SendDlgItemMessage(hDlg, IDC_SWITCH_INPUT_LANG_CB, BM_SETCHECK, 1, 1); + + if (_tcscmp(szLangHotkey, _T("1")) == 0) + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LANG, BM_SETCHECK, 1, 1); + else + SendDlgItemMessage(hDlg, IDC_CTRL_LANG, BM_SETCHECK, 1, 1); + } + + if (_tcscmp(szLayoutHotkey, _T("3")) == 0) + { + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LAYOUT, BM_SETCHECK, 1, 1); + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LAYOUT), FALSE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LAYOUT), FALSE); + } + else + { + SendDlgItemMessage(hDlg, IDC_SWITCH_KBLAYOUTS_CB, BM_SETCHECK, 1, 1); + + if (_tcscmp(szLayoutHotkey, _T("1")) == 0) + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LAYOUT, BM_SETCHECK, 1, 1); + else + SendDlgItemMessage(hDlg, IDC_CTRL_LAYOUT, BM_SETCHECK, 1, 1); + } +} INT_PTR CALLBACK ChangeKeySeqDlgProc(HWND hDlg, @@ -40,11 +103,76 @@ switch (message) { case WM_INITDIALOG: + InitChangeKeySeqDlg(hDlg); break; case WM_COMMAND: switch (LOWORD(wParam)) { + case IDC_SWITCH_INPUT_LANG_CB: + if (HIWORD(wParam) == BN_CLICKED) + { + if (SendDlgItemMessage(hDlg, IDC_SWITCH_INPUT_LANG_CB, BM_GETCHECK, 0, 0) == BST_CHECKED) + { + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LANG), TRUE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LANG), TRUE); + } + else + { + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LANG), FALSE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LANG), FALSE); + } + } + break; + + case IDC_SWITCH_KBLAYOUTS_CB: + if (HIWORD(wParam) == BN_CLICKED) + { + if (SendDlgItemMessage(hDlg, IDC_SWITCH_KBLAYOUTS_CB, BM_GETCHECK, 0, 0) == BST_CHECKED) + { + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LAYOUT), TRUE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LAYOUT), TRUE); + } + else + { + EnableWindow(GetDlgItem(hDlg, IDC_CTRL_LAYOUT), FALSE); + EnableWindow(GetDlgItem(hDlg, IDC_LEFT_ALT_LAYOUT), FALSE); + } + } + break; + + case IDC_CTRL_LANG: + if (HIWORD(wParam) == BN_CLICKED) + { + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LAYOUT, BM_SETCHECK, 1, 1); + SendDlgItemMessage(hDlg, IDC_CTRL_LAYOUT, BM_SETCHECK, 0, 0); + } + break; + + case IDC_LEFT_ALT_LANG: + if (HIWORD(wParam) == BN_CLICKED) + { + SendDlgItemMessage(hDlg, IDC_CTRL_LAYOUT, BM_SETCHECK, 1, 1); + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LAYOUT, BM_SETCHECK, 0, 0); + } + break; + + case IDC_CTRL_LAYOUT: + if (HIWORD(wParam) == BN_CLICKED) + { + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LANG, BM_SETCHECK, 1, 1); + SendDlgItemMessage(hDlg, IDC_CTRL_LANG, BM_SETCHECK, 0, 0); + } + break; + + case IDC_LEFT_ALT_LAYOUT: + if (HIWORD(wParam) == BN_CLICKED) + { + SendDlgItemMessage(hDlg, IDC_CTRL_LANG, BM_SETCHECK, 1, 1); + SendDlgItemMessage(hDlg, IDC_LEFT_ALT_LANG, BM_SETCHECK, 0, 0); + } + break; + case IDOK: break; Modified: trunk/reactos/dll/cpl/input/input.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/input.h?rev=…
============================================================================== --- trunk/reactos/dll/cpl/input/input.h [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/input.h [iso-8859-1] Thu May 15 07:38:12 2008 @@ -59,6 +59,8 @@ /* changekeyseq.c */ INT_PTR CALLBACK ChangeKeySeqDlgProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam); +BOOL +GetHotkeys(LPTSTR szHotkey, LPTSTR szLangHotkey, LPTSTR szLayoutHotkey); void ShowLastWin32Error(HWND hWndOwner); Modified: trunk/reactos/dll/cpl/input/keysettings.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/keysettings.…
============================================================================== --- trunk/reactos/dll/cpl/input/keysettings.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/keysettings.c [iso-8859-1] Thu May 15 07:38:12 2008 @@ -3,7 +3,7 @@ * PROJECT: input.dll * FILE: dll/win32/input/keysettings.c * PURPOSE: input.dll - * PROGRAMMER: Dmitry Chapyshev (lentind(a)yandex.ru) + * PROGRAMMER: Dmitry Chapyshev (dmitry(a)reactos.org) * Colin Finck * UPDATE HISTORY: * 06-09-2007 Created @@ -11,6 +11,86 @@ #include "resource.h" #include "input.h" + +static VOID +AddListColumn(HWND hDlg) +{ + LV_COLUMN column; + HWND hList = GetDlgItem(hDlg, IDC_KEY_LISTVIEW); + + ZeroMemory(&column, sizeof(LV_COLUMN)); + column.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; + + column.fmt = LVCFMT_LEFT; + column.iSubItem = 0; + column.pszText = _T(""); + column.cx = 210; + (VOID) ListView_InsertColumn(hList, 0, &column); + + column.fmt = LVCFMT_RIGHT; + column.cx = 145; + column.iSubItem = 1; + column.pszText = _T(""); + (VOID) ListView_InsertColumn(hList, 1, &column); +} + +static DWORD +GetAttributes() +{ + DWORD dwValue, dwType, dwSize; + HKEY hKey; + + if (RegOpenKeyEx(HKEY_CURRENT_USER, _T("Keyboard Layout"), 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS) + return 0x0; + + dwType = REG_DWORD; + dwSize = sizeof(DWORD); + + if (RegQueryValueEx(hKey, _T("Attributes"), NULL, &dwType, (LPBYTE)&dwValue, &dwSize) != ERROR_SUCCESS) + { + RegCloseKey(hKey); + return 0x0; + } + + RegCloseKey(hKey); + return dwValue; +} + +static VOID +InitKeySettingsDlg(HWND hDlg) +{ + TCHAR szHotkey[1 + 1], szLangHotkey[1 + 1], szLayoutHotkey[1 + 1], + szTitle[MAX_PATH], szText[MAX_PATH]; + LV_ITEM item = {0}; + HWND hHotkeyList = GetDlgItem(hDlg, IDC_KEY_LISTVIEW); + INT i; + + if (GetAttributes() != 0x0) + SendDlgItemMessage(hDlg, IDC_PRESS_SHIFT_KEY_RB, BM_SETCHECK, 1, 1); + else + SendDlgItemMessage(hDlg, IDC_PRESS_CL_KEY_RB, BM_SETCHECK, 1, 1); + + if (!GetHotkeys(szHotkey, szLangHotkey, szLayoutHotkey)) + return; + + if (!LoadString(hApplet, IDS_SWITCH_BET_INLANG, szTitle, sizeof(szTitle) / sizeof(TCHAR))) + return; + + if (_tcscmp(szLangHotkey, _T("2")) == 0) + LoadString(hApplet, IDS_CTRL_SHIFT, szText, sizeof(szText) / sizeof(TCHAR)); + else + LoadString(hApplet, IDS_LEFT_ALT_SHIFT, szText, sizeof(szText) / sizeof(TCHAR)); + + item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE; + item.pszText = szTitle; + item.iItem = 0; + i = ListView_InsertItem(hHotkeyList, &item); + + ListView_SetItemText(hHotkeyList, i, 1, szText); + + (VOID) ListView_SetHotItem(hHotkeyList, i); + ListView_SetItemState(hHotkeyList, i, LVIS_SELECTED, LVIS_OVERLAYMASK); +} INT_PTR CALLBACK KeySettingsDlgProc(HWND hDlg, @@ -23,6 +103,10 @@ switch (message) { case WM_INITDIALOG: + AddListColumn(hDlg); + (VOID) ListView_SetExtendedListViewStyle(GetDlgItem(hDlg, IDC_KEY_LISTVIEW), + LVS_EX_FULLROWSELECT); + InitKeySettingsDlg(hDlg); break; case WM_COMMAND: Modified: trunk/reactos/dll/cpl/input/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/bg-BG.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/bg-BG.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Áúðçè êëàâèøè çà åçèöèòå íà âúâåæäàíå", -1, 7, 37, 258, 95 LTEXT "Äåéñòâèå", -1, 14, 47, 60, 9 RTEXT "Êëàâèøíè &ñú÷åòàíèÿ", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "Ïðî&ìÿíà íà êëàâèøíîòî ñú÷åòàíèå", IDC_CHANGE_KEY_SEQ_BTN, 128, 113, 130, 14, WS_GROUP DEFPUSHBUTTON "Äîáðå", IDOK, 66, 140, 70, 14 PUSHBUTTON "Îòêàç", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Îòêàç", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Ïðîìÿíà íà êëàâèøíàòà ïîñëåäîâàòåëíîñò" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "Ïðåâ&êëþ÷âàíå íà êëàâèaòóðíèòå ïîäðåäáè", IDC_USE_SK, 12, 17, 165, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Ëÿâ A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "Äîáðå", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Îòêàç", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/de-DE.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/de-DE.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Schnelltasten für Eingabesprachen", -1, 7, 37, 258, 95 LTEXT "Aktion", -1, 14, 47, 60, 9 RTEXT "Tasten&kombination", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "Tastenkombination änder&n...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Abbrechen", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Abbrechen", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Tastenkombination ändern" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "Tastaturlayout &wechseln", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&STRG", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "A< links", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Abbrechen", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -90,6 +94,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/el-GR.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/el-GR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/el-GR.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "ÐëÞêôñá ðñüóâáóçò ãéá ãëþóóåò åéóáãùãÞò", -1, 7, 37, 258, 95 LTEXT "ÅíÝñãåéá", -1, 14, 47, 60, 9 RTEXT "&Áêïëïõèßá ðëÞêôñùí", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&ÁëëáãÞ áêïëïõèßáò ðëÞêôñùí...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "¢êõñï", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "¢êõñï", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "ÁëëáãÞ áêïëïõèßáò ðëÞêôñùí" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "Å&íáëëáãÞ äéÜôáîçò ðëçêôñïëïãßïõ", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Áñéóôåñü A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "¢êõñï", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/en-US.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/en-US.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Hot keys for input languages", -1, 7, 37, 258, 95 LTEXT "Action", -1, 14, 47, 60, 9 RTEXT "&Key sequence", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&Change Key Sequence...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Cancel", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Cancel", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Change Key Sequence" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "S&witch keyboard layouts", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 136, 70, 50, 14 + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/es-ES.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/es-ES.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -31,7 +31,7 @@ GROUPBOX "Teclas de acceso rápido para idiomas de dispositivo de entrada ", -1, 7, 37, 258, 95 LTEXT "Acción", -1, 14, 47, 60, 9 RTEXT "&Secuencia de teclas", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&Cambiar secuencia de teclas...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "Aceptar", IDOK, 66, 140, 70, 14 PUSHBUTTON "Cancelar", IDCANCEL, 146, 140, 70, 14 @@ -50,20 +50,24 @@ PUSHBUTTON "Cancelar", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Cambiar secuencia de teclas" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "Camb&iar la distribución del teclado", IDC_USE_SK, 12, 17, 131, 8 - CTEXT "Mayús", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "A< Izq", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "Aceptar", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Cancelar", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -94,6 +98,9 @@ IDS_CONFIRMATION "Confirmación" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/fr-FR.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/fr-FR.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Touches de raccourci pour la saisie des langues", -1, 7, 37, 258, 95 LTEXT "Action", -1, 14, 47, 60, 9 RTEXT "Séquence de touches", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&Changer la séquence de touches...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Annuler", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Annuler", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Change Key Sequence" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "S&witch keyboard layouts", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 136, 70, 50, 14 + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END /* FIXME : To improve/complete */ Modified: trunk/reactos/dll/cpl/input/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/it-IT.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/it-IT.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Tasti attivi per le lingue di digitazione", -1, 7, 37, 258, 95 LTEXT "Azione", -1, 14, 47, 60, 9 RTEXT "&Sequenza dei tasti", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&Modifica della sequenza dei tasti...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Annulla", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Annulla", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Modifica sequenza tasti" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "&Commutazione tra disposizioni di tastiera", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "A< sinistro", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Annulla", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Conferma" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/pl-PL.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/pl-PL.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -33,7 +33,7 @@ GROUPBOX "Klawisze skrótu jêzyków", -1, 7, 37, 258, 95 LTEXT "Akcja", -1, 14, 47, 60, 9 RTEXT "&Sekwencja klawiszy", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "Z&mieñ sekwencjê klawiszy...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Anuluj", IDCANCEL, 146, 140, 70, 14 @@ -52,20 +52,24 @@ PUSHBUTTON "Anuluj", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 -STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Zmiana sekwencji klawiszy" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "&Prze³¹cz uk³ad klawiatury", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Lewy A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Anuluj", IDCANCEL, 136, 70, 50, 14 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "Change Key Sequence" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -96,6 +100,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/ru-RU.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/ru-RU.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -26,7 +26,7 @@ GROUPBOX "Ñî÷åòàíèÿ êëàâèø äëÿ ÿçûêîâ ââîäà", -1, 7, 37, 258, 95 LTEXT "Äåéñòâèå", -1, 14, 47, 60, 9 RTEXT "&Ñî÷åòàíèå êëàâèø", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "Ñì&åíà ñî÷åòàíèÿ êëàâèø...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Îòìåíà", IDCANCEL, 146, 140, 70, 14 @@ -45,20 +45,24 @@ PUSHBUTTON "Îòìåíà", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Ñìåíà ñî÷åòàíèÿ êëàâèø" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "&Èñïîëüçîâàòü ñî÷åòàíèå êëàâèø", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Alt ñ&ëåâà", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Îòìåíà", IDCANCEL, 136, 70, 50, 14 + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "Ïåðåêëþ÷àòü &ÿçûêè ââîäà", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Alt ñ&ëåâà", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "Ïåðåêëþ÷àòü ðàñêëàäêè &êëàâèàòóðû", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Alt ñë&åâà", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "ÎÊ", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Îòìåíà", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -89,6 +93,9 @@ IDS_CONFIRMATION "Ïîäòâåðæäåíèå" IDS_LAYOUT_EXISTS "Òàêàÿ ðàñêëàäêà óæå ñóùåñòâóåò." IDS_LAYOUT_EXISTS2 "Òàêàÿ ðàñêëàäêà óæå ñóùåñòâóåò è íå ìîæåò áûòü äîáàâëåíà." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Alt ñëåâà+Shift" + IDS_SWITCH_BET_INLANG "Ïåðåêëþ÷åíèå ìåæäó ÿçûêàìè ââîäà" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/sk-SK.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/sk-SK.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -30,7 +30,7 @@ GROUPBOX "Klávesové skratky pre vstupné jazyky", -1, 7, 37, 258, 95 LTEXT "Akcia", -1, 14, 47, 60, 9 RTEXT "&Postupnos klávesov", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "&Zmeni postupnos klávesov...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Zrui", IDCANCEL, 146, 140, 70, 14 @@ -49,20 +49,24 @@ PUSHBUTTON "Zrui", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Change Key Sequence" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "S&witch keyboard layouts", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Zrui", IDCANCEL, 136, 70, 50, 14 + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -93,6 +97,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/uk-UA.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/lang/uk-UA.rc [iso-8859-1] Thu May 15 07:38:12 2008 @@ -34,7 +34,7 @@ GROUPBOX "Ñïîëó÷åííÿ êëàâ³ø äëÿ ìîâ ââîäó", -1, 7, 37, 258, 95 LTEXT "ijÿ", -1, 14, 47, 60, 9 RTEXT "&Ñïîëó÷åííÿ êëàâ³ø", -1, 177, 47, 79, 9 - LISTBOX IDC_KEY_LISTBOX, 14, 57, 244, 52, LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "", IDC_KEY_LISTVIEW, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_AUTOARRANGE | LVS_SINGLESEL, 14, 57, 244, 52, WS_EX_CLIENTEDGE PUSHBUTTON "Ç&ì³íà ñïîëó÷åííÿ êëàâ³ø...", IDC_CHANGE_KEY_SEQ_BTN, 152, 113, 106, 14, WS_GROUP DEFPUSHBUTTON "OK", IDOK, 66, 140, 70, 14 PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 146, 140, 70, 14 @@ -53,20 +53,24 @@ PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 169, 68, 50, 14 END -IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 194, 89 +IDD_CHANGE_KEY_SEQ DIALOGEX 5, 100, 230, 125 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "Change Key Sequence" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "", 1240, 4, 5, 186, 10 - GROUPBOX "", -1, 7, 16, 179, 48 - AUTOCHECKBOX "S&witch keyboard layouts", IDC_USE_SK, 12, 17, 135, 8 - CTEXT "SHIFT", -1, 68, 37, 27, 12 - CTEXT "+", -1, 57, 37, 8, 9 - AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", -1, 24, 45, 50, 12, NOT WS_TABSTOP - DEFPUSHBUTTON "OK", IDOK, 83, 70, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 136, 70, 50, 14 + GROUPBOX "", -1, 9, 5, 155, 110 + AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CB, 15, 15, 105, 12 + LTEXT "Shift", -1, 73, 37, 27, 12 + CTEXT "+", -1, 62, 37, 8, 9 + AUTORADIOBUTTON "&Ctrl", IDC_CTRL_LANG, 29, 31, 30, 11 + AUTORADIOBUTTON "Left &ALT", IDC_LEFT_ALT_LANG, 29, 45, 46, 12 + AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KBLAYOUTS_CB, 16, 65, 141, 12 + LTEXT "Shift", -1, 74, 87, 27, 12 + CTEXT "+", -1, 63, 87, 8, 9 + AUTORADIOBUTTON "C&trl", IDC_CTRL_LAYOUT, 30, 81, 30, 11 + AUTORADIOBUTTON "Left A<", IDC_LEFT_ALT_LAYOUT, 30, 95, 44, 12 + DEFPUSHBUTTON "OK", IDOK, 172, 9, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, 172, 27, 50, 14 END IDD_INPUT_LANG_PROP DIALOGEX 20, 20, 227, 75 @@ -98,6 +102,9 @@ IDS_CONFIRMATION "Confirmation" IDS_LAYOUT_EXISTS "This layout already exists." IDS_LAYOUT_EXISTS2 "This layout already exists and can not be added." + IDS_CTRL_SHIFT "Ctrl+Shift" + IDS_LEFT_ALT_SHIFT "Left Alt+Shift" + IDS_SWITCH_BET_INLANG "Switch between input languages" END STRINGTABLE Modified: trunk/reactos/dll/cpl/input/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/resource.h?r…
============================================================================== --- trunk/reactos/dll/cpl/input/resource.h [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/resource.h [iso-8859-1] Thu May 15 07:38:12 2008 @@ -32,13 +32,19 @@ #define IDC_KEY_SET_BTN 1005 #define IDC_PRESS_CL_KEY_RB 1006 #define IDC_PRESS_SHIFT_KEY_RB 1007 -#define IDC_KEY_LISTBOX 1008 +#define IDC_KEY_LISTVIEW 1008 #define IDC_CHANGE_KEY_SEQ_BTN 1009 #define IDC_INPUT_LANG_COMBO 1010 #define IDC_KEYBOARD_LO_COMBO 1011 #define IDC_USE_SK 1012 #define IDC_KB_LAYOUT_IME_COMBO 1013 #define IDC_INPUT_LANG_STR 1014 +#define IDC_SWITCH_INPUT_LANG_CB 1015 +#define IDC_SWITCH_KBLAYOUTS_CB 1016 +#define IDC_CTRL_LANG 1017 +#define IDC_CTRL_LAYOUT 1018 +#define IDC_LEFT_ALT_LANG 1019 +#define IDC_LEFT_ALT_LAYOUT 1020 /* IDS */ #define IDS_CPLSYSTEMNAME 1 @@ -54,6 +60,9 @@ #define IDS_CONFIRMATION 11 #define IDS_LAYOUT_EXISTS 12 #define IDS_LAYOUT_EXISTS2 13 +#define IDS_CTRL_SHIFT 14 +#define IDS_LEFT_ALT_SHIFT 15 +#define IDS_SWITCH_BET_INLANG 16 /* Layouts */ #define IDS_US_LAYOUT 5000
16 years, 8 months
1
0
0
0
[jimtabor] 33524: Add Client and Color transform objects.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu May 15 06:38:46 2008 New Revision: 33524 URL:
http://svn.reactos.org/svn/reactos?rev=33524&view=rev
Log: Add Client and Color transform objects. Modified: trunk/reactos/subsystems/win32/win32k/include/color.h trunk/reactos/subsystems/win32/win32k/include/gdiobj.h trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c Modified: trunk/reactos/subsystems/win32/win32k/include/color.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/color.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/color.h [iso-8859-1] Thu May 15 06:38:46 2008 @@ -25,6 +25,12 @@ #define COLORSPACEOBJ_LockCS(hCS) ((PCOLORSPACE)GDIOBJ_LockObj((HGDIOBJ)hCS, GDI_OBJECT_TYPE_COLORSPACE)) #define COLORSPACEOBJ_UnlockCS(pCS) GDIOBJ_UnlockObjByPtr((POBJ)pCS) +typedef struct _COLORTRANSFORMOBJ +{ + BASEOBJECT BaseObject; + HANDLE hColorTransform; +} GDICLRXFORM, COLORTRANSFORMOBJ, *PCOLORTRANSFORMOBJ; + extern HCOLORSPACE hStockColorSpace; const PALETTEENTRY* FASTCALL COLOR_GetSystemPaletteTemplate (VOID); Modified: trunk/reactos/subsystems/win32/win32k/include/gdiobj.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/gdiobj.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/gdiobj.h [iso-8859-1] Thu May 15 06:38:46 2008 @@ -47,6 +47,11 @@ PW32THREAD Tid; } BASEOBJECT, *POBJ; +typedef struct _CLIENTOBJ +{ + BASEOBJECT BaseObject; +} CLIENTOBJ, *PCLIENTOBJ; + enum BASEFLAGS { BASEFLAG_LOOKASIDE = 0x80 Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] Thu May 15 06:38:46 2008 @@ -56,15 +56,15 @@ {1, 0, 0, NULL}, /* 03 UNUSED2 */ {1, sizeof(ROSRGNDATA), TAG_REGION, REGION_Cleanup}, /* 04 RGN */ {1, sizeof(BITMAPOBJ), TAG_SURFACE, BITMAP_Cleanup}, /* 05 SURFACE */ - {0, sizeof(DC), TAG_CLIENTOBJ, GDI_CleanupDummy}, /* 06 CLIENTOBJ: METADC,... FIXME: don't use DC struct */ + {1, sizeof(CLIENTOBJ), TAG_CLIENTOBJ, GDI_CleanupDummy}, /* 06 CLIENTOBJ: METADC,... */ {0, 0, TAG_PATH, NULL}, /* 07 PATH, unused */ {1, sizeof(PALGDI), TAG_PALETTE, PALETTE_Cleanup}, /* 08 PAL */ - {1, sizeof(COLORSPACE), TAG_ICMLCS, GDI_CleanupDummy}, /* 09 ICMLCS, unused */ + {1, sizeof(COLORSPACE), TAG_ICMLCS, GDI_CleanupDummy}, /* 09 ICMLCS, */ {1, sizeof(TEXTOBJ), TAG_LFONT, GDI_CleanupDummy}, /* 0a LFONT */ {0, 0, TAG_RFONT, NULL}, /* 0b RFONT, unused */ {0, 0, TAG_PFE, NULL}, /* 0c PFE, unused */ {0, 0, TAG_PFT, NULL}, /* 0d PFT, unused */ - {0, 0, TAG_ICMCXF, NULL}, /* 0e ICMCXF, unused */ + {0, sizeof(GDICLRXFORM), TAG_ICMCXF, GDI_CleanupDummy}, /* 0e ICMCXF, */ {0, 0, TAG_SPRITE, NULL}, /* 0f SPRITE, unused */ {1, sizeof(GDIBRUSHOBJ), TAG_BRUSH, BRUSH_Cleanup}, /* 10 BRUSH, PEN, EXTPEN */ {0, 0, TAG_UMPD, NULL}, /* 11 UMPD, unused */
16 years, 8 months
1
0
0
0
[dchapyshev] 33523: - Don't show applets on taskbar
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Thu May 15 00:43:01 2008 New Revision: 33523 URL:
http://svn.reactos.org/svn/reactos?rev=33523&view=rev
Log: - Don't show applets on taskbar Modified: trunk/reactos/dll/cpl/access/access.c trunk/reactos/dll/cpl/appwiz/appwiz.c trunk/reactos/dll/cpl/console/console.c trunk/reactos/dll/cpl/desk/desk.c trunk/reactos/dll/cpl/input/input.c trunk/reactos/dll/cpl/intl/intl.c trunk/reactos/dll/cpl/main/keyboard.c trunk/reactos/dll/cpl/main/mouse.c trunk/reactos/dll/cpl/mmsys/mmsys.c trunk/reactos/dll/cpl/ncpa/ncpa.c trunk/reactos/dll/cpl/powercfg/powercfg.c trunk/reactos/dll/cpl/sysdm/sysdm.c trunk/reactos/dll/cpl/telephon/telephon.c trunk/reactos/dll/cpl/timedate/timedate.c trunk/reactos/dll/cpl/usrmgr/usrmgr.c Modified: trunk/reactos/dll/cpl/access/access.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/access.c?re…
============================================================================== --- trunk/reactos/dll/cpl/access/access.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/access/access.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -20,6 +20,7 @@ LONG CALLBACK SystemApplet(VOID); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ APPLET Applets[NUM_APPLETS] = @@ -193,7 +194,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLACCESS)); psh.pszCaption = Caption; @@ -222,8 +223,6 @@ LPARAM lParam2) { INT i = (INT)lParam1; - - UNREFERENCED_PARAMETER(hwndCPl); switch (uMsg) { @@ -244,6 +243,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/appwiz/appwiz.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/appwiz.c?re…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/appwiz.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/appwiz/appwiz.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -36,6 +36,7 @@ INT_PTR CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK ComputerPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ @@ -69,7 +70,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); psh.pszCaption = Caption; @@ -94,8 +95,6 @@ CPLINFO *CPlInfo; DWORD i; - UNREFERENCED_PARAMETER(hwndCPl); - i = (DWORD)lParam1; switch (uMsg) { @@ -114,6 +113,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/console/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/console.c?…
============================================================================== --- trunk/reactos/dll/cpl/console/console.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/console/console.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -229,7 +229,7 @@ psh.pszCaption = pConInfo->szProcessName; } - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON)); psh.pszCaption = 0; Modified: trunk/reactos/dll/cpl/desk/desk.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/desk.c?rev=33…
============================================================================== --- trunk/reactos/dll/cpl/desk/desk.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/desk/desk.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -22,6 +22,7 @@ UINT CALLBACK SettingsPageCallbackProc(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ APPLET Applets[NUM_APPLETS] = @@ -136,7 +137,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_USECALLBACK | PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_DESK_ICON)); psh.pszCaption = Caption; @@ -198,6 +199,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(hwndCPl, uMsg, lParam1, lParam2); break; } Modified: trunk/reactos/dll/cpl/input/input.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/input.c?rev=…
============================================================================== --- trunk/reactos/dll/cpl/input/input.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/input/input.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -17,6 +17,7 @@ LONG CALLBACK SystemApplet(VOID); HINSTANCE hApplet = 0; HANDLE hProcessHeap; +HWND hCPLWindow; /* Applets */ APPLET Applets[NUM_APPLETS] = @@ -51,7 +52,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); psh.pszCaption = Caption; @@ -73,8 +74,6 @@ CPLINFO *CPlInfo; DWORD i; - UNREFERENCED_PARAMETER(hwndCPl); - i = (DWORD)lParam1; switch (uMsg) { @@ -93,6 +92,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/intl/intl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/intl/intl.c?rev=33…
============================================================================== --- trunk/reactos/dll/cpl/intl/intl.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/intl/intl.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -40,6 +40,7 @@ HINSTANCE hApplet = 0; +HWND hCPLWindow; HINF hSetupInf = INVALID_HANDLE_VALUE; DWORD IsUnattendedSetupEnabled = 0; DWORD UnattendLCID = 0; @@ -142,7 +143,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON)); psh.pszCaption = Caption; @@ -188,6 +189,7 @@ case CPL_DBLCLK: { UINT uAppIndex = (UINT)lParam1; + hCPLWindow = hwndCpl; Applets[uAppIndex].AppletProc(hwndCpl, uMsg, lParam1, lParam2); break; } Modified: trunk/reactos/dll/cpl/main/keyboard.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/keyboard.c?re…
============================================================================== --- trunk/reactos/dll/cpl/main/keyboard.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/main/keyboard.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -312,7 +312,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON_2)); psh.pszCaption = szCaption; Modified: trunk/reactos/dll/cpl/main/mouse.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/mouse.c?rev=3…
============================================================================== --- trunk/reactos/dll/cpl/main/mouse.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/main/mouse.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -1837,7 +1837,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON_1)); psh.pszCaption = Caption; Modified: trunk/reactos/dll/cpl/mmsys/mmsys.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/mmsys/mmsys.c?rev=…
============================================================================== --- trunk/reactos/dll/cpl/mmsys/mmsys.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/mmsys/mmsys.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -103,7 +103,6 @@ UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(uMsg); - UNREFERENCED_PARAMETER(hwnd); LoadString(hApplet, IDS_CPLNAME, @@ -112,7 +111,7 @@ psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLICON)); Modified: trunk/reactos/dll/cpl/ncpa/ncpa.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/ncpa/ncpa.c?rev=33…
============================================================================== --- trunk/reactos/dll/cpl/ncpa/ncpa.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/ncpa/ncpa.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -82,6 +82,7 @@ void DisplayTCPIPProperties(HWND hParent,IP_ADAPTER_INFO *pInfo); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ static APPLET Applets[] = @@ -1030,7 +1031,7 @@ psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); psh.pszCaption = Caption; @@ -1077,6 +1078,7 @@ case CPL_DBLCLK: { + hCPLWindow = hwndCPl; Applets[(int)lParam1].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/powercfg/powercfg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/powercfg/powercfg.…
============================================================================== --- trunk/reactos/dll/cpl/powercfg/powercfg.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/powercfg/powercfg.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -84,7 +84,6 @@ SYSTEM_POWER_CAPABILITIES spc; LONG ret; - UNREFERENCED_PARAMETER(hwnd); UNREFERENCED_PARAMETER(uMsg); UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(lParam); @@ -95,7 +94,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON_1)); psh.pszCaption = Caption; Modified: trunk/reactos/dll/cpl/sysdm/sysdm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/sysdm.c?rev=…
============================================================================== --- trunk/reactos/dll/cpl/sysdm/sysdm.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/sysdm/sysdm.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -11,6 +11,7 @@ LONG CALLBACK SystemApplet(VOID); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ APPLET Applets[NUM_APPLETS] = @@ -112,7 +113,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); psh.pszCaption = MAKEINTRESOURCE(IDS_CPLSYSTEMNAME); @@ -176,6 +177,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/telephon/telephon.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/telephon/telephon.…
============================================================================== --- trunk/reactos/dll/cpl/telephon/telephon.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/telephon/telephon.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -32,6 +32,7 @@ LONG CALLBACK SystemApplet(VOID); HINSTANCE hApplet = 0; +HWND hCPLWindow; /* Applets */ @@ -53,7 +54,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hCPLWindow; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM)); psh.pszCaption = Caption; @@ -75,8 +76,6 @@ CPLINFO *CPlInfo; DWORD i; - UNREFERENCED_PARAMETER(hwndCPl); - i = (DWORD)lParam1; switch (uMsg) { @@ -95,6 +94,7 @@ break; case CPL_DBLCLK: + hCPLWindow = hwndCPl; Applets[i].AppletProc(); break; } Modified: trunk/reactos/dll/cpl/timedate/timedate.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/timedate/timedate.…
============================================================================== --- trunk/reactos/dll/cpl/timedate/timedate.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/timedate/timedate.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -76,7 +76,6 @@ WCHAR Caption[256]; LONG Ret = 0; - UNREFERENCED_PARAMETER(hwnd); UNREFERENCED_PARAMETER(uMsg); UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(lParam); @@ -89,7 +88,7 @@ ZeroMemory(&psh, sizeof(PROPSHEETHEADERW)); psh.dwSize = sizeof(PROPSHEETHEADERW); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCEW(IDC_CPLICON)); psh.pszCaption = Caption; Modified: trunk/reactos/dll/cpl/usrmgr/usrmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/usrmgr/usrmgr.c?re…
============================================================================== --- trunk/reactos/dll/cpl/usrmgr/usrmgr.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/usrmgr/usrmgr.c [iso-8859-1] Thu May 15 00:43:01 2008 @@ -51,14 +51,13 @@ UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(uMsg); - UNREFERENCED_PARAMETER(hwnd); LoadString(hApplet, IDS_CPLNAME, Caption, sizeof(Caption) / sizeof(TCHAR)); ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE; - psh.hwndParent = NULL; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_USRMGR_ICON)); psh.pszCaption = Caption;
16 years, 8 months
1
0
0
0
[jimtabor] 33522: Implement Delete/CreateColorSpace and Get/SetColorSpace.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Wed May 14 21:15:10 2008 New Revision: 33522 URL:
http://svn.reactos.org/svn/reactos?rev=33522&view=rev
Log: Implement Delete/CreateColorSpace and Get/SetColorSpace. Added: trunk/reactos/dll/win32/gdi32/objects/icm.c (with props) Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild trunk/reactos/dll/win32/gdi32/misc/stubs.c trunk/reactos/dll/win32/gdi32/misc/stubsa.c trunk/reactos/dll/win32/gdi32/misc/stubsw.c trunk/reactos/include/psdk/wingdi.h trunk/reactos/subsystems/win32/win32k/include/color.h trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c trunk/reactos/subsystems/win32/win32k/objects/icm.c Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.rbui…
============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.rbuild [iso-8859-1] Wed May 14 21:15:10 2008 @@ -39,6 +39,7 @@ <file>eng.c</file> <file>enhmfile.c</file> <file>font.c</file> + <file>icm.c</file> <file>linedda.c</file> <file>metafile.c</file> <file>painting.c</file> Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -636,34 +636,6 @@ return FALSE; } - -/* - * @unimplemented - */ -HCOLORSPACE -STDCALL -GetColorSpace(HDC hDc) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - - -/* - * @unimplemented - */ -HCOLORSPACE -STDCALL -SetColorSpace( - HDC a0, - HCOLORSPACE a1 - ) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; -} /* * @implemented Modified: trunk/reactos/dll/win32/gdi32/misc/stubsa.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubsa.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubsa.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -82,21 +82,6 @@ UNIMPLEMENTED; SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; -} - - -/* - * @unimplemented - */ -HCOLORSPACE -STDCALL -CreateColorSpaceA( - LPLOGCOLORSPACEA a0 - ) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; } Modified: trunk/reactos/dll/win32/gdi32/misc/stubsw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubsw.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubsw.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -46,20 +46,6 @@ UNIMPLEMENTED; SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return FALSE; -} - -/* - * @unimplemented - */ -HCOLORSPACE -STDCALL -CreateColorSpaceW( - LPLOGCOLORSPACEW a0 - ) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; } Added: trunk/reactos/dll/win32/gdi32/objects/icm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/ic…
============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/icm.c (added) +++ trunk/reactos/dll/win32/gdi32/objects/icm.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -1,0 +1,130 @@ +#include "precomp.h" + +#define NDEBUG +#include <debug.h> + + +HCOLORSPACE +FASTCALL +IntCreateColorSpaceW( + LPLOGCOLORSPACEW lplcpw, + BOOL Ascii + ) +{ + LOGCOLORSPACEEXW lcpeexw; + + if ((lplcpw->lcsSignature != LCS_SIGNATURE) || + (lplcpw->lcsVersion != 0x400) || + (lplcpw->lcsSize != sizeof(LOGCOLORSPACEW))) + { + SetLastError(ERROR_INVALID_COLORSPACE); + return NULL; + } + RtlCopyMemory(&lcpeexw.lcsColorSpace, lplcpw, sizeof(LOGCOLORSPACEW)); + + return NtGdiCreateColorSpace(&lcpeexw); +} + +/* + * @implemented + */ +HCOLORSPACE +STDCALL +CreateColorSpaceW( + LPLOGCOLORSPACEW lplcpw + ) +{ + return IntCreateColorSpaceW(lplcpw, FALSE); +} + + +/* + * @implemented + */ +HCOLORSPACE +STDCALL +CreateColorSpaceA( + LPLOGCOLORSPACEA lplcpa + ) +{ + LOGCOLORSPACEW lcpw; + + if ((lplcpa->lcsSignature != LCS_SIGNATURE) || + (lplcpa->lcsVersion != 0x400) || + (lplcpa->lcsSize != sizeof(LOGCOLORSPACEA))) + { + SetLastError(ERROR_INVALID_COLORSPACE); + return NULL; + } + + lcpw.lcsSignature = lplcpa->lcsSignature; + lcpw.lcsVersion = lplcpa->lcsVersion; + lcpw.lcsSize = sizeof(LOGCOLORSPACEW); + lcpw.lcsCSType = lplcpa->lcsCSType; + lcpw.lcsIntent = lplcpa->lcsIntent; + lcpw.lcsEndpoints = lplcpa->lcsEndpoints; + lcpw.lcsGammaRed = lplcpa->lcsGammaRed; + lcpw.lcsGammaGreen = lplcpa->lcsGammaGreen; + lcpw.lcsGammaBlue = lplcpa->lcsGammaBlue; + + RtlMultiByteToUnicodeN( lcpw.lcsFilename, + MAX_PATH, + NULL, + lplcpa->lcsFilename, + strlen(lplcpa->lcsFilename) + 1); + + return IntCreateColorSpaceW(&lcpw, FALSE); +} + +/* + * @implemented + */ +HCOLORSPACE +STDCALL +GetColorSpace(HDC hDC) +{ + PDC_ATTR pDc_Attr; + + if (!GdiGetHandleUserData(hDC, GDI_OBJECT_TYPE_DC, (PVOID)&pDc_Attr)) + { + SetLastError(ERROR_INVALID_HANDLE); + return NULL; + } + return pDc_Attr->hColorSpace; +} + + +/* + * @implemented + */ +HCOLORSPACE +STDCALL +SetColorSpace( + HDC hDC, + HCOLORSPACE hCS + ) +{ + HCOLORSPACE rhCS = GetColorSpace(hDC); + + if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_DC) + { + if (NtGdiSetColorSpace(hDC, hCS)) return rhCS; + } +#if 0 + if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_METADC) + { + PLDC pLDC = GdiGetLDC(hDC); + if ( !pLDC ) + { + SetLastError(ERROR_INVALID_HANDLE); + return NULL; + } + if (pLDC->iType == LDC_EMFLDC) + { + return NULL; + } + } +#endif + return NULL; +} + Propchange: trunk/reactos/dll/win32/gdi32/objects/icm.c ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/include/psdk/wingdi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wingdi.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/wingdi.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/wingdi.h [iso-8859-1] Wed May 14 21:15:10 2008 @@ -966,6 +966,10 @@ #define LCS_GM_BUSINESS 1 #define LCS_GM_GRAPHICS 2 #define LCS_GM_IMAGES 4 +#define LCS_GM_ABS_COLORIMETRIC 8 +#define LCS_SIGNATURE 0x50534F43 // 'PSOC' +#define LCS_sRGB 'sRGB' +#define LCS_WINDOWS_COLOR_SPACE 'Win ' #define RASTER_FONTTYPE 1 #define DEVICE_FONTTYPE 2 #define TRUETYPE_FONTTYPE 4 Modified: trunk/reactos/subsystems/win32/win32k/include/color.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/color.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/color.h [iso-8859-1] Wed May 14 21:15:10 2008 @@ -10,10 +10,29 @@ #define NB_RESERVED_COLORS 20 /* number of fixed colors in system palette */ +typedef struct _COLORSPACE +{ + BASEOBJECT BaseObject; + LOGCOLORSPACEW lcsColorSpace; + DWORD dwFlags; +} COLORSPACE, *PCOLORSPACE; + + +#define COLORSPACEOBJ_AllocCS() ((PCOLORSPACE) GDIOBJ_AllocObj(GDIObjType_ICMLCS_TYPE)) +#define COLORSPACEOBJ_AllocCSWithHandle() ((PCOLORSPACE) GDIOBJ_AllocObjWithHandle (GDI_OBJECT_TYPE_COLORSPACE)) +#define COLORSPACEOBJ_FreeCS(pCS) GDIOBJ_FreeObj((POBJ)pCS, GDIObjType_ICMLCS_TYPE) +#define COLORSPACEOBJ_FreeCSByHandle(hCS) GDIOBJ_FreeObjByHandle((HGDIOBJ)hCS, GDI_OBJECT_TYPE_COLORSPACE) +#define COLORSPACEOBJ_LockCS(hCS) ((PCOLORSPACE)GDIOBJ_LockObj((HGDIOBJ)hCS, GDI_OBJECT_TYPE_COLORSPACE)) +#define COLORSPACEOBJ_UnlockCS(pCS) GDIOBJ_UnlockObjByPtr((POBJ)pCS) + +extern HCOLORSPACE hStockColorSpace; + const PALETTEENTRY* FASTCALL COLOR_GetSystemPaletteTemplate (VOID); COLORREF STDCALL COLOR_LookupNearestColor (PALETTEENTRY* palPalEntry, INT size, COLORREF color); INT STDCALL COLOR_PaletteLookupExactIndex (PALETTEENTRY* palPalEntry, INT size, COLORREF col); INT STDCALL COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, XLATEOBJ *XlateObj, COLORREF col, BOOL skipReserved); UINT FASTCALL IntGdiRealizePalette (HDC); +HCOLORSPACE FASTCALL IntGdiCreateColorSpace(PLOGCOLORSPACEEXW); +BOOL FASTCALL IntGdiDeleteColorSpace(HCOLORSPACE); #endif /* _WIN32K_COLOR_H */ Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -59,7 +59,7 @@ {0, sizeof(DC), TAG_CLIENTOBJ, GDI_CleanupDummy}, /* 06 CLIENTOBJ: METADC,... FIXME: don't use DC struct */ {0, 0, TAG_PATH, NULL}, /* 07 PATH, unused */ {1, sizeof(PALGDI), TAG_PALETTE, PALETTE_Cleanup}, /* 08 PAL */ - {0, 0, TAG_ICMLCS, NULL}, /* 09 ICMLCS, unused */ + {1, sizeof(COLORSPACE), TAG_ICMLCS, GDI_CleanupDummy}, /* 09 ICMLCS, unused */ {1, sizeof(TEXTOBJ), TAG_LFONT, GDI_CleanupDummy}, /* 0a LFONT */ {0, 0, TAG_RFONT, NULL}, /* 0b RFONT, unused */ {0, 0, TAG_PFE, NULL}, /* 0c PFE, unused */ Modified: trunk/reactos/subsystems/win32/win32k/objects/icm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/icm.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/icm.c [iso-8859-1] Wed May 14 21:15:10 2008 @@ -16,20 +16,75 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id$ */ #include <w32k.h> #define NDEBUG #include <debug.h> + +HCOLORSPACE hStockColorSpace = NULL; + + +HCOLORSPACE +FASTCALL +IntGdiCreateColorSpace( + PLOGCOLORSPACEEXW pLogColorSpace) +{ + PCOLORSPACE pCS; + HCOLORSPACE hCS; + + pCS = COLORSPACEOBJ_AllocCSWithHandle(); + hCS = pCS->BaseObject.hHmgr; + + pCS->lcsColorSpace = pLogColorSpace->lcsColorSpace; + pCS->dwFlags = pLogColorSpace->dwFlags; + + COLORSPACEOBJ_UnlockCS(pCS); + return hCS; +} + +BOOL +FASTCALL +IntGdiDeleteColorSpace( + HCOLORSPACE hColorSpace) +{ + BOOL Ret = FALSE; + + if ( hColorSpace != hStockColorSpace ) + { + Ret = COLORSPACEOBJ_FreeCSByHandle(hColorSpace); + if ( !Ret ) SetLastWin32Error(ERROR_INVALID_PARAMETER); + } + return Ret; +} HANDLE APIENTRY NtGdiCreateColorSpace( IN PLOGCOLORSPACEEXW pLogColorSpace) { - UNIMPLEMENTED; - return 0; + LOGCOLORSPACEEXW Safelcs; + NTSTATUS Status = STATUS_SUCCESS; + + _SEH_TRY + { + ProbeForRead( pLogColorSpace, + sizeof(LOGCOLORSPACEEXW), + 1); + RtlCopyMemory(&Safelcs, pLogColorSpace, sizeof(LOGCOLORSPACEEXW)); + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if (!NT_SUCCESS(Status)) + { + SetLastNtError(Status); + return NULL; + } + return IntGdiCreateColorSpace(&Safelcs); } BOOL @@ -37,8 +92,7 @@ NtGdiDeleteColorSpace( IN HANDLE hColorSpace) { - UNIMPLEMENTED; - return FALSE; + return IntGdiDeleteColorSpace(hColorSpace); } BOOL @@ -136,8 +190,43 @@ NtGdiSetColorSpace(IN HDC hdc, IN HCOLORSPACE hColorSpace) { - UNIMPLEMENTED; - return 0; + PDC pDC; + PDC_ATTR pDc_Attr; + PCOLORSPACE pCS; + + pDC = DC_LockDc(hdc); + if (!pDC) + { + SetLastWin32Error(ERROR_INVALID_HANDLE); + return FALSE; + } + pDc_Attr = pDC->pDc_Attr; + if(!pDc_Attr) pDc_Attr = &pDC->Dc_Attr; + + if (pDc_Attr->hColorSpace == hColorSpace) + { + DC_UnlockDc(pDC); + return TRUE; + } + + pCS = COLORSPACEOBJ_LockCS(hColorSpace); + if (!pCS) + { + SetLastWin32Error(ERROR_INVALID_HANDLE); + return FALSE; + } + + if (pDC->DcLevel.pColorSpace) + { + GDIOBJ_ShareUnlockObjByPtr((POBJ) pDC->DcLevel.pColorSpace); + } + + pDC->DcLevel.pColorSpace = pCS; + pDc_Attr->hColorSpace = hColorSpace; + + COLORSPACEOBJ_UnlockCS(pCS); + DC_UnlockDc(pDC); + return TRUE; } BOOL
16 years, 8 months
1
0
0
0
[fireball] 33521: Stefan Ginsberg <stefan__100__@hotmail.com> - Spelling fixes. - Remove deprecated and unused HalReleaseDisplayOwnership prototype. - Fix handle leak in NtCreateProfile. - Don't miss an OBTRACE debug print in ObpCloseHandle in STATUS_SUCCESS case.
by fireball@svn.reactos.org
Author: fireball Date: Wed May 14 15:59:43 2008 New Revision: 33521 URL:
http://svn.reactos.org/svn/reactos?rev=33521&view=rev
Log: Stefan Ginsberg <stefan__100__(a)hotmail.com> - Spelling fixes. - Remove deprecated and unused HalReleaseDisplayOwnership prototype. - Fix handle leak in NtCreateProfile. - Don't miss an OBTRACE debug print in ObpCloseHandle in STATUS_SUCCESS case. Modified: trunk/reactos/ntoskrnl/config/cmsysini.c trunk/reactos/ntoskrnl/ex/i386/ioport.S trunk/reactos/ntoskrnl/ex/profile.c (contents, props changed) trunk/reactos/ntoskrnl/ex/shutdown.c trunk/reactos/ntoskrnl/io/iomgr/driver.c (contents, props changed) trunk/reactos/ntoskrnl/ob/obhandle.c trunk/reactos/ntoskrnl/ob/oblink.c Modified: trunk/reactos/ntoskrnl/config/cmsysini.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/cmsysini.c…
============================================================================== --- trunk/reactos/ntoskrnl/config/cmsysini.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/config/cmsysini.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -1046,7 +1046,7 @@ RtlAppendStringToString((PSTRING)&RegName, (PSTRING)&TempName); } - /* Now Add tge rest if the file name */ + /* Now add the rest of the file name */ RtlInitUnicodeString(&TempName, CmpMachineHiveList[i].Name); FileName.Length = FileStart; RtlAppendStringToString((PSTRING)&FileName, (PSTRING)&TempName); @@ -1062,7 +1062,7 @@ &CmpMachineHiveList[i].Allocate, 0); if (!(NT_SUCCESS(Status)) || - (!(CmHive->FileHandles[HFILE_TYPE_LOG]) && !(CmpMiniNTBoot))) // hak + (!(CmHive->FileHandles[HFILE_TYPE_LOG]) && !(CmpMiniNTBoot))) // HACK { /* We failed or couldn't get a log file, raise a hard error */ ErrorParameters = &FileName; Modified: trunk/reactos/ntoskrnl/ex/i386/ioport.S URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/i386/ioport.S?…
============================================================================== --- trunk/reactos/ntoskrnl/ex/i386/ioport.S [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/i386/ioport.S [iso-8859-1] Wed May 14 15:59:43 2008 @@ -167,7 +167,7 @@ /* Flush posted write buffers */ lock or [esp+4], ecx - /* Restole volatiles and return */ + /* Restore volatiles and return */ mov edi, edx mov esi, eax ret 12 @@ -189,7 +189,7 @@ /* Flush posted write buffers */ lock or [esp+4], ecx - /* Restole volatiles and return */ + /* Restore volatiles and return */ mov edi, edx mov esi, eax ret 12 @@ -211,7 +211,7 @@ /* Flush posted write buffers */ lock or [esp+4], ecx - /* Restole volatiles and return */ + /* Restore volatiles and return */ mov edi, edx mov esi, eax ret 12 Modified: trunk/reactos/ntoskrnl/ex/profile.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/profile.c?rev=…
============================================================================== --- trunk/reactos/ntoskrnl/ex/profile.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/profile.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -216,7 +216,14 @@ 0, sizeof(EPROFILE) + sizeof(KPROFILE), (PVOID*)&Profile); - if (!NT_SUCCESS(Status)) return(Status); + if (!NT_SUCCESS(Status)) + { + /* Dereference the process object if it was specified */ + if (Process) ObDereferenceObject(Process); + + /* Return Status */ + return Status; + } /* Initialize it */ Profile->RangeBase = RangeBase; Propchange: trunk/reactos/ntoskrnl/ex/profile.c ------------------------------------------------------------------------------ --- svn:needs-lock (original) +++ svn:needs-lock (removed) @@ -1,1 +1,0 @@ -* Modified: trunk/reactos/ntoskrnl/ex/shutdown.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/shutdown.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/ex/shutdown.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/shutdown.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -13,14 +13,6 @@ #include <internal/debug.h> /* FUNCTIONS *****************************************************************/ - -/* ROS Internal. Please deprecate */ -NTHALAPI -VOID -NTAPI -HalReleaseDisplayOwnership( - VOID -); VOID STDCALL KiHaltProcessorDpcRoutine(IN PKDPC Dpc, Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -1379,7 +1379,7 @@ NTAPI IoDeleteDriver(IN PDRIVER_OBJECT DriverObject) { - /* Simply derefence the Object */ + /* Simply dereference the Object */ ObDereferenceObject(DriverObject); } Propchange: trunk/reactos/ntoskrnl/io/iomgr/driver.c ------------------------------------------------------------------------------ --- svn:needs-lock (original) +++ svn:needs-lock (removed) @@ -1,1 +1,0 @@ -* Modified: trunk/reactos/ntoskrnl/ob/obhandle.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/obhandle.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/ob/obhandle.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ob/obhandle.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -1048,7 +1048,7 @@ ObjectHeader->HandleCount, ObjectHeader->PointerCount); - /* Lock the object type */ + /* Lock the object */ ObpAcquireObjectLock(ObjectHeader); /* Charge quota and remove the creator info flag */ @@ -1714,7 +1714,7 @@ /* Detach and return success */ if (AttachedToProcess) KeUnstackDetachProcess(&ApcState); - return STATUS_SUCCESS; + Status = STATUS_SUCCESS; } else { Modified: trunk/reactos/ntoskrnl/ob/oblink.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/oblink.c?rev=3…
============================================================================== --- trunk/reactos/ntoskrnl/ob/oblink.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ob/oblink.c [iso-8859-1] Wed May 14 15:59:43 2008 @@ -548,7 +548,7 @@ } _SEH_END; - /* Unlock the object and reference the object */ + /* Unlock and dereference the object */ ObpReleaseObjectLock(OBJECT_TO_OBJECT_HEADER(SymlinkObject)); ObDereferenceObject(SymlinkObject); }
16 years, 8 months
1
0
0
0
[fireball] 33520: Stefan Ginsberg <stefan__100__@hotmail.com> - Remove deprecated NEW_SCHEDULER define. - Remove empty addition arc subdirectory in include/reactos/arc
by fireball@svn.reactos.org
Author: fireball Date: Wed May 14 15:57:19 2008 New Revision: 33520 URL:
http://svn.reactos.org/svn/reactos?rev=33520&view=rev
Log: Stefan Ginsberg <stefan__100__(a)hotmail.com> - Remove deprecated NEW_SCHEDULER define. - Remove empty addition arc subdirectory in include/reactos/arc Removed: trunk/reactos/include/reactos/arc/arc/ Modified: trunk/reactos/include/ndk/asm.h Modified: trunk/reactos/include/ndk/asm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/asm.h?rev=3352…
============================================================================== --- trunk/reactos/include/ndk/asm.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/asm.h [iso-8859-1] Wed May 14 15:57:19 2008 @@ -19,8 +19,6 @@ #ifndef _ASM_H #define _ASM_H - -#define NEW_SCHEDULER // // PCR Access
16 years, 8 months
1
0
0
0
← Newer
1
...
24
25
26
27
28
29
30
...
59
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
Results per page:
10
25
50
100
200