Remove old leftovers from the time when shell32 was still synchronized with Wine
authorColin Finck <colin@reactos.org>
Thu, 15 May 2008 13:55:26 +0000 (13:55 +0000)
committerColin Finck <colin@reactos.org>
Thu, 15 May 2008 13:55:26 +0000 (13:55 +0000)
svn path=/trunk/; revision=33527

reactos/dll/win32/shell32/Makefile.in [deleted file]
reactos/dll/win32/shell32/shell32_ros.diff [deleted file]

diff --git a/reactos/dll/win32/shell32/Makefile.in b/reactos/dll/win32/shell32/Makefile.in
deleted file mode 100644 (file)
index a1cb903..0000000
+++ /dev/null
@@ -1,97 +0,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:
diff --git a/reactos/dll/win32/shell32/shell32_ros.diff b/reactos/dll/win32/shell32/shell32_ros.diff
deleted file mode 100644 (file)
index 2d7617f..0000000
+++ /dev/null
@@ -1,1516 +0,0 @@
-Index: autocomplete.c\r
-===================================================================\r
---- autocomplete.c     (revision 29513)\r
-+++ autocomplete.c     (working copy)\r
-@@ -38,7 +38,7 @@\r
- #include <stdarg.h>\r
- #include <stdlib.h>\r
- #include <string.h>\r
--\r
-+#include <stdio.h>\r
- #define COBJMACROS\r
\r
- #include "wine/debug.h"\r
-Index: changenotify.c\r
-===================================================================\r
---- changenotify.c     (revision 29513)\r
-+++ changenotify.c     (working copy)\r
-@@ -178,7 +178,7 @@\r
\r
-     LeaveCriticalSection(&SHELL32_ChangenotifyCS);\r
\r
--    DeleteCriticalSection(&SHELL32_ChangenotifyCS);\r
-+    // DeleteCriticalSection(&SHELL32_ChangenotifyCS); // static\r
- }\r
\r
- /*************************************************************************\r
-Index: control.c\r
-===================================================================\r
---- control.c  (revision 29513)\r
-+++ control.c  (working copy)\r
-@@ -464,6 +464,7 @@\r
- void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst,\r
-                                 LPCSTR cmdline, INT cmdshow )\r
- {\r
-+#if !defined(__CYGWIN__) && !defined (__MINGW32__) && !defined(_MSC_VER)\r
-     WORD args[5];\r
-     SEGPTR cmdline_seg;\r
\r
-@@ -478,6 +479,10 @@\r
-     args[0] = cmdshow;\r
-     WOWCallback16Ex( proc, WCB16_PASCAL, sizeof(args), args, NULL );\r
-     UnMapLS( cmdline_seg );\r
-+#else\r
-+    FIXME( "proc %lx hwnd %p inst %p cmdline %s cmdshow %d\n",\r
-+           proc, hwnd, inst, debugstr_a(cmdline), cmdshow );\r
-+#endif\r
- }\r
\r
- /*************************************************************************\r
-Index: iconcache.c\r
-===================================================================\r
---- iconcache.c        (revision 29513)\r
-+++ iconcache.c        (working copy)\r
-@@ -306,9 +306,23 @@\r
-       HICON   hiconLargeShortcut;\r
-       HICON   hiconSmallShortcut;\r
\r
--        PrivateExtractIconsW( sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, 0, 1, 0 );\r
--        PrivateExtractIconsW( sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, 0, 1, 0 );\r
-+#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER)\r
-+      static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL;\r
\r
-+      if (!PrivateExtractIconExW) {\r
-+          HMODULE hUser32 = GetModuleHandleA("user32");\r
-+          PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW");\r
-+      }\r
-+\r
-+        if (PrivateExtractIconExW)\r
-+          PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, &hiconSmall, 1);\r
-+      else\r
-+#endif\r
-+      {\r
-+          PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, NULL, 1, 0);\r
-+          PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, NULL, 1, 0);\r
-+      }\r
-+\r
-       if ( !hiconLarge ||  !hiconSmall)\r
-       {\r
-         WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall);\r
-@@ -458,7 +472,7 @@\r
-       ShellBigIconList = 0;\r
\r
-       LeaveCriticalSection(&SHELL32_SicCS);\r
--      DeleteCriticalSection(&SHELL32_SicCS);\r
-+      //DeleteCriticalSection(&SHELL32_SicCS); //static\r
- }\r
\r
- /*****************************************************************************\r
-@@ -672,6 +686,19 @@\r
-  */\r
- UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons)\r
- {\r
-+      /* get entry point of undocumented function PrivateExtractIconExW() in user32 */\r
-+#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER)\r
-+      static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL;\r
-+\r
-+      if (!PrivateExtractIconExW) {\r
-+          HMODULE hUser32 = GetModuleHandleA("user32");\r
-+          PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW");\r
-+\r
-+          if (!PrivateExtractIconExW)\r
-+              return 0;\r
-+      }\r
-+#endif\r
-+\r
-       TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons);\r
\r
-       return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);\r
-Index: regsvr.c\r
-===================================================================\r
---- regsvr.c   (revision 29513)\r
-+++ regsvr.c   (working copy)\r
-@@ -669,6 +669,7 @@\r
- static const WCHAR wszRecycleBin[] = { 'T','r','a','s','h', 0 };\r
\r
- static struct regsvr_namespace const namespace_extensions_list[] = {\r
-+#if 0\r
-     {   \r
-         &CLSID_UnixDosFolder,\r
-         wszDesktop,\r
-@@ -684,6 +685,7 @@\r
-         wszDesktop,\r
-         wszRecycleBin\r
-     },\r
-+#endif\r
-     { NULL }\r
- };\r
\r
-Index: shell32.spec\r
-===================================================================\r
---- shell32.spec       (revision 29513)\r
-+++ shell32.spec       (working copy)\r
-@@ -247,7 +247,7 @@\r
-  654 stdcall @(long long) shell32_654 # ReadCabinetState@8\r
\r
-  660 stdcall -noname FileIconInit(long)\r
-- 680 stdcall -noname IsUserAdmin()\r
-+ 680 stdcall IsUserAnAdmin()\r
\r
-  714 stdcall @(ptr) SHELL32_714 # PathIsTemporaryW\r
-  730 stdcall -noname RestartDialogEx(long wstr long long)\r
-@@ -368,7 +368,7 @@\r
- @ stdcall SHQueryRecycleBinA(str ptr)\r
- @ stdcall SHQueryRecycleBinW(wstr ptr)\r
- @ stdcall SHSetLocalizedName(wstr wstr long)\r
--@ stdcall SHUpdateRecycleBinIcon()\r
-+@ stub SHUpdateRecycleBinIcon\r
- @ stdcall SheChangeDirA(str)\r
- @ stub SheChangeDirExA\r
- @ stub SheChangeDirExW\r
-Index: shell32_De.rc\r
-===================================================================\r
---- shell32_De.rc      (revision 29513)\r
-+++ shell32_De.rc      (working copy)\r
-@@ -128,7 +128,7 @@\r
-  ICON "", 1088, 10, 10, 14, 16\r
-  LTEXT "", 100, 30, 10, 137, 10\r
-  LTEXT "", 101, 30, 22, 137, 10\r
-- LTEXT "WINE wurde für Sie gekeltert von:", 98, 8, 55, 137, 10\r
-+ LTEXT "ReactOS wurde Ihnen zur Verfügung gestellt von:", 98, 8, 55, 170, 10\r
- }\r
\r
- SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95\r
-@@ -137,14 +137,178 @@\r
- FONT 8, "MS Shell Dlg"\r
- {\r
-  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE\r
-- 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\r
-- LTEXT "Ö&ffnen:", 12305, 7, 39, 24, 10\r
-+ LTEXT "Geben Sie den Namen eines Programms, eines Ordners, eines Dokuments oder einer Internetressource an.", 12289, 36, 11, 182, 18\r
-+ LTEXT "&Öffnen:", 12305, 7, 39, 24, 10\r
-  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100\r
-  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP\r
-  PUSHBUTTON "Abbrechen", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP\r
-  PUSHBUTTON "&Durchsuchen...", 12288, 170, 63, 50, 14, WS_TABSTOP\r
- }\r
\r
-+SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Verknüpfung"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE\r
-+ LTEXT "Zeiltyp:", 14004, 10, 30, 50, 10\r
-+ LTEXT "", 14005, 70, 30, 150, 10\r
-+ LTEXT "Zielpfad:", 14006, 10, 40, 70, 10\r
-+ LTEXT "", 14007, 70, 40, 150, 10\r
-+ LTEXT "Ziel:", 14008, 10, 55, 45, 10\r
-+ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT\r
-+ LTEXT "&Starten in:",14010, 10, 65, 45, 10\r
-+ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT\r
-+ LTEXT "&Tastenkombination:", 14014, 10, 80, 45, 10\r
-+ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT\r
-+ LTEXT "Ausführen:", 14016, 10, 90, 45, 10\r
-+ EDITTEXT 14017, 70, 90, 150, 10\r
-+ LTEXT "K&ommentar:", 14018, 10, 100, 45, 10\r
-+ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT\r
-+ PUSHBUTTON "&Ziel finden...", 14020, 10, 115, 60, 14, ES_LEFT\r
-+ PUSHBUTTON "I&con wechseln...", 14021, 80, 115, 60, 14, ES_LEFT\r
-+ PUSHBUTTON "Er&weitert...", 14022, 150, 115, 60, 14, ES_LEFT\r
-+}\r
-+\r
-+SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 230, 150\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-+CAPTION "Erweiterte Einstellungen"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+LTEXT "Wählen Sie die erweiterten Einstellungen für diese Verknüpfung.", -1, 5, 30, 190, 10\r
-+  CHECKBOX "Als anderer Benutzer ausführen", 14000, 30, 50, 150, 10\r
-+  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\r
-+  CHECKBOX "In getrennten Speicherbereich ausführen", 14001, 30, 100, 90, 10, WS_DISABLED\r
-+  PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE\r
-+  PUSHBUTTON "Abbrechen", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE\r
-+}\r
-+\r
-+SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Allgemein"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE\r
-+ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY\r
-+ LTEXT "Dateityp:", 14004, 10, 30, 50, 10\r
-+ LTEXT "Datei", 14005, 70, 30, 150, 10\r
-+ LTEXT "Öffnen mit:", 14006, 10, 40, 50, 10\r
-+ LTEXT "", 14007, 70, 40, 150, 10\r
-+ LTEXT "Pfad:", 14008, 10, 55, 45, 10\r
-+ LTEXT "", 14009, 70, 55, 200, 10\r
-+ LTEXT "Größe:",14010, 10, 65, 45, 10\r
-+ LTEXT "", 14011, 70, 65, 150, 10\r
-+ LTEXT "Erstellt:", 14014, 10, 80, 45, 10\r
-+ LTEXT "", 14015, 70, 80, 150, 10\r
-+ LTEXT "Geändert:", 14016, 10, 90, 45, 10\r
-+ LTEXT "", 14017, 70, 90, 150, 10\r
-+ LTEXT "Zugegriffen:", 14018, 10, 100, 45, 10\r
-+ LTEXT "", 14019, 70, 100, 150, 10\r
-+ LTEXT "Attribute:", 14020, 10, 115, 45, 10\r
-+ CHECKBOX "&Schreibgeschützt", 14021, 70, 115, 45, 10\r
-+ CHECKBOX "&Versteckt", 14022, 130, 115, 50, 10\r
-+ CHECKBOX "&Archiv", 14023, 180, 115, 45, 10\r
-+}\r
-+\r
-+SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Version"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  LTEXT "Dateiversion: ", 14000, 10, 10, 45, 10\r
-+  LTEXT "", 14001, 70, 10, 150, 10\r
-+  LTEXT "Beschreibung: ", 14002, 10, 20, 45, 10\r
-+  LTEXT "", 14003, 70, 20, 150, 10\r
-+  LTEXT "Copyright: ", 14004, 10, 30, 45, 10\r
-+  LTEXT "", 14005, 70, 30, 150, 10\r
-+  GROUPBOX "Weitere Versionsinformationen: ", 14006, 10, 45, 220, 90\r
-+  LTEXT "Elementname: ", 14007, 20, 55, 50, 10\r
-+  LTEXT "Wert: ", 14008, 130, 55, 45, 10\r
-+  LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY\r
-+  EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY\r
-+\r
-+}\r
-+\r
-+DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Allgemein"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP\r
-+  LTEXT "Typ:", -1, 15, 55, 40, 10\r
-+  LTEXT "", 14002, 110, 55, 100, 10\r
-+\r
-+\r
-+  LTEXT "Dateisystem:", -1, 15, 70, 100, 10\r
-+  LTEXT "", 14003, 110, 70, 100, 10\r
-+\r
-+  CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10\r
-+  LTEXT "Belegter Speicher:", -1, 25, 90, 120, 10\r
-+  LTEXT "", 14004, 110, 90, 120, 10\r
-+  LTEXT "", 14005, 200, 90, 40, 10\r
-+\r
-+  CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10\r
-+  LTEXT "Freier Speicher:", -1, 25, 105, 70, 10\r
-+  LTEXT "", 14006, 110, 105, 120, 10\r
-+  LTEXT "", 14007, 200, 105, 40, 10\r
-+\r
-+  LTEXT "Speicherkapazität:", -1, 25, 125, 80, 10\r
-+  LTEXT "", 14008, 110, 125, 120, 10\r
-+  LTEXT "", 14009, 200, 125, 40, 10\r
-+\r
-+  CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20\r
-+\r
-+  LTEXT "Laufwerk %s", 14010, 100, 170, 40, 10\r
-+  PUSHBUTTON "Bereinigen", 14011, 180, 175, 50, 15, WS_TABSTOP\r
-+  CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14012, 15, 205, 165, 10, WS_DISABLED\r
-+  CHECKBOX "Laufwerk für schnelle Dateisuche indizieren", 14012, 15, 220, 165, 10, WS_DISABLED\r
-+}\r
-+\r
-+DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Extras"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  GROUPBOX "Fehlerüberprüfung", -1, 5, 5, 230, 60\r
-+  LTEXT "Bei Wahl dieser Option wird das Volume\nauf Fehler überprüft.", -1, 40, 25, 160, 20\r
-+  PUSHBUTTON "Jetzt &prüfen", 14000, 130, 45, 90, 15, WS_TABSTOP\r
-+  GROUPBOX "Defragmentierung", -1, 5, 65, 230, 60\r
-+  LTEXT "Bei Wahl dieser Option werden die Dateien auf\ndem Volume defragmentiert.", -1, 40, 85, 160, 20\r
-+  PUSHBUTTON "Jetzt &defragmentieren", 14001, 130, 105, 90, 15, WS_TABSTOP\r
-+  GROUPBOX "Sicherung", -1, 5, 130, 230, 60\r
-+  LTEXT "Bei Wahl dieser Option werden die auf dem\nVolume gespeicherten Dateien gesichert.", -1, 40, 150, 160, 20\r
-+  PUSHBUTTON "Jetzt &sichern", 14002, 130, 170, 90, 15, WS_TABSTOP\r
-+}\r
-+\r
-+DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 230\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Hardware"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+}\r
-+\r
-+RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Ausführen als"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+   LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10\r
-+   CHECKBOX "Aktueller Benutzer %s", 14000, 5, 45, 150, 10\r
-+   LTEXT "Computer vor unauthorisierten Programmaktiviäten schützen", -1, 40, 65, 150, 10, WS_DISABLED\r
-+   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\r
-+   CHECKBOX "Folgender Benutzer:", 14002, 5, 100, 90, 10\r
-+   LTEXT "Benutzername:", -1, 15, 115, 60, 10\r
-+   COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP\r
-+\r
-+   PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP\r
-+   LTEXT "Passwort:", -1, 15, 140, 60, 10\r
-+   EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP\r
-+   PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP\r
-+   PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP\r
-+   PUSHBUTTON "Abbrechen", 14008, 140, 170, 60, 15, WS_TABSTOP\r
-+}\r
-+\r
-+\r
- STRINGTABLE DISCARDABLE\r
- {\r
-         /* columns in the shellview */\r
-@@ -194,10 +358,10 @@\r
-           "the folder?"\r
\r
-         /* message box strings */\r
--        IDS_RESTART_TITLE       "Neustarten"\r
--        IDS_RESTART_PROMPT      "Möchten Sie, dass ein simulierter Windows Neustart durchgeführt wird ?"\r
--        IDS_SHUTDOWN_TITLE      "Anhalten"\r
--        IDS_SHUTDOWN_PROMPT     "Möchten Sie die aktuelle Wine Sitzung beenden ?"\r
-+        IDS_RESTART_TITLE       "Neu starten"\r
-+        IDS_RESTART_PROMPT      "Möchten Sie das System neu starten?"\r
-+        IDS_SHUTDOWN_TITLE      "Herunterfahren"\r
-+        IDS_SHUTDOWN_PROMPT     "Möchten Sie das System herunterfahren?"\r
\r
-         /* shell folder path default values */\r
-       IDS_PROGRAMS            "Startmenü\\Programme"\r
-@@ -227,4 +391,7 @@\r
-       IDS_COMMON_PICTURES     "Dokumente\\Eigene Bilder"\r
-       IDS_COMMON_VIDEO        "Dokumente\\Eigene Videos"\r
-       IDS_CDBURN_AREA         "Lokale Einstellungen\\Anwendungsdaten\\Microsoft\\CD Burning"\r
-+        IDS_DRIVE_FIXED         "Lokaler Datenträger"\r
-+        IDS_DRIVE_CDROM         "CD-Laufwerk"\r
-+        IDS_DRIVE_NETWORK       "Netzwerklaufwerk"\r
- }\r
-Index: shell32_En.rc\r
-===================================================================\r
---- shell32_En.rc      (revision 29513)\r
-+++ shell32_En.rc      (working copy)\r
-@@ -16,7 +16,7 @@\r
-  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
-  */\r
\r
--LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT\r
-+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r
\r
- MENU_001 MENU DISCARDABLE\r
- BEGIN\r
-@@ -145,7 +145,7 @@\r
-  ICON "", 1088, 10, 10, 14, 16\r
-  LTEXT "", 100, 30, 10, 137, 10\r
-  LTEXT "", 101, 30, 22, 137, 10\r
-- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10\r
-+ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10\r
- }\r
\r
- SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95\r
-@@ -154,7 +154,7 @@\r
- FONT 8, "MS Shell Dlg"\r
- {\r
-  ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE\r
-- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18\r
-+ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18\r
-  LTEXT "&Open:", 12305, 7, 39, 24, 10\r
-  CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100\r
-  DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP\r
-@@ -162,6 +162,172 @@\r
-  PUSHBUTTON "&Browse...", 12288, 170, 63, 50, 14, WS_TABSTOP\r
- }\r
\r
-+SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Shortcut"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE\r
-+ LTEXT "Target type:", 14004, 10, 30, 50, 10\r
-+ LTEXT "", 14005, 70, 30, 150, 10\r
-+ LTEXT "Target location:", 14006, 10, 40, 70, 10\r
-+ LTEXT "", 14007, 70, 40, 150, 10\r
-+ LTEXT "Target:", 14008, 10, 55, 45, 10\r
-+ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT\r
-+ LTEXT "&Start in:",14010, 10, 65, 45, 10\r
-+ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT\r
-+ LTEXT "Shortcut &key:", 14014, 10, 80, 45, 10\r
-+ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT\r
-+ LTEXT "Run:", 14016, 10, 90, 45, 10\r
-+ EDITTEXT 14017, 70, 90, 150, 10\r
-+ LTEXT "C&omment:", 14018, 10, 100, 45, 10\r
-+ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT\r
-+ PUSHBUTTON "&Find Target...", 14020, 10, 115, 60, 14, ES_LEFT\r
-+ PUSHBUTTON "&Change Icon...", 14021, 80, 115, 60, 14, ES_LEFT\r
-+ PUSHBUTTON "A&dvanced...", 14022, 150, 115, 60, 14, ES_LEFT\r
-+}\r
-+\r
-+SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 260, 150\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION\r
-+CAPTION "Extended Properties"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  LTEXT "Choose the advanced properties you want for this shortcut.", -1, 5, 30, 190, 10\r
-+  CHECKBOX "Run with different credentials", 14000, 30, 50, 150, 10\r
-+  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\r
-+  CHECKBOX "Run in seperate memory space", 14001, 30, 100, 90, 10, WS_DISABLED\r
-+  PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE\r
-+  PUSHBUTTON "Abort", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE\r
-+}\r
-+\r
-+SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "General"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE\r
-+ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY\r
-+ LTEXT "Type of file:", 14004, 10, 30, 50, 10\r
-+ LTEXT "File", 14005, 70, 30, 150, 10\r
-+ LTEXT "Opens with:", 14006, 10, 40, 50, 10\r
-+ LTEXT "", 14007, 70, 40, 150, 10\r
-+ LTEXT "Location:", 14008, 10, 55, 45, 10\r
-+ LTEXT "", 14009, 70, 55, 200, 10\r
-+ LTEXT "Size:",14010, 10, 65, 45, 10\r
-+ LTEXT "", 14011, 70, 65, 150, 10\r
-+ LTEXT "Created:", 14014, 10, 80, 45, 10\r
-+ LTEXT "", 14015, 70, 80, 150, 10\r
-+ LTEXT "Modified:", 14016, 10, 90, 45, 10\r
-+ LTEXT "", 14017, 70, 90, 150, 10\r
-+ LTEXT "Accessed:", 14018, 10, 100, 45, 10\r
-+ LTEXT "", 14019, 70, 100, 150, 10\r
-+ LTEXT "Attributes:", 14020, 10, 115, 45, 10\r
-+ CHECKBOX "&Read-only", 14021, 70, 115, 45, 10\r
-+ CHECKBOX "&Hidden", 14022, 130, 115, 50, 10\r
-+ CHECKBOX "&Archive", 14023, 180, 115, 45, 10\r
-+}\r
-+\r
-+SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Version"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  LTEXT "File version: ", 14000, 10, 10, 45, 10\r
-+  LTEXT "", 14001, 70, 10, 150, 10\r
-+  LTEXT "Description: ", 14002, 10, 20, 45, 10\r
-+  LTEXT "", 14003, 70, 20, 150, 10\r
-+  LTEXT "Copyright: ", 14004, 10, 30, 45, 10\r
-+  LTEXT "", 14005, 70, 30, 150, 10\r
-+  GROUPBOX "Other version information: ", 14006, 10, 45, 220, 90\r
-+  LTEXT "Item name: ", 14007, 20, 55, 50, 10\r
-+  LTEXT "Value: ", 14008, 130, 55, 45, 10\r
-+  LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY\r
-+  EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY\r
-+\r
-+}\r
-+\r
-+DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "General"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP\r
-+  LTEXT "Type:", -1, 15, 55, 40, 10\r
-+  LTEXT "", 14002, 110, 55, 100, 10\r
-+\r
-+\r
-+  LTEXT "File system:", -1, 15, 70, 100, 10\r
-+  LTEXT "", 14003, 110, 70, 100, 10\r
-+\r
-+  CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10\r
-+  LTEXT "Used space:", -1, 25, 90, 120, 10\r
-+  LTEXT "", 14004, 110, 90, 120, 10\r
-+  LTEXT "", 14005, 200, 90, 40, 10\r
-+\r
-+  CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10\r
-+  LTEXT "Free space:", -1, 25, 105, 70, 10\r
-+  LTEXT "", 14006, 110, 105, 120, 10\r
-+  LTEXT "", 14007, 200, 105, 40, 10\r
-+\r
-+  LTEXT "Capacity:", -1, 25, 125, 80, 10\r
-+  LTEXT "", 14008, 110, 125, 120, 10\r
-+  LTEXT "", 14009, 200, 125, 40, 10\r
-+\r
-+  CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20\r
-+\r
-+  LTEXT "Drive %s", 14010, 100, 170, 40, 10\r
-+  PUSHBUTTON "Disk Cleanup", 14011, 180, 175, 50, 15, WS_TABSTOP\r
-+  CHECKBOX "Compress drive to save disk space", 14012, 15, 205, 165, 10, WS_DISABLED\r
-+  CHECKBOX "Allow Indexing Service to index this disk for fast file searching", 14012, 15, 220, 200, 10, WS_DISABLED\r
-+}\r
-+\r
-+DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Tools"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+  GROUPBOX "Error-checking", -1, 5, 5, 230, 60\r
-+  LTEXT "This option will check the volume for\nerrors.", -1, 40, 25, 160, 20\r
-+  PUSHBUTTON "Check Now...", 14000, 130, 45, 90, 15, WS_TABSTOP\r
-+  GROUPBOX "Defragmentation", -1, 5, 65, 230, 60\r
-+  LTEXT "This option will defragment files on the volume", -1, 40, 85, 160, 20\r
-+  PUSHBUTTON "Defragment Now...", 14001, 130, 105, 90, 15, WS_TABSTOP\r
-+  GROUPBOX "Backup", -1, 5, 130, 230, 60\r
-+  LTEXT "This option will back up files on the volume.", -1, 40, 150, 160, 20\r
-+  PUSHBUTTON "Backup Now...", 14002, 130, 170, 90, 15, WS_TABSTOP\r
-+}\r
-+\r
-+\r
-+\r
-+DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 130\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Hardware"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+}\r
-+\r
-+RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190\r
-+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION\r
-+CAPTION "Run As"\r
-+FONT 8, "MS Shell Dlg", 0, 0, 0x0\r
-+{\r
-+   LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10\r
-+   CHECKBOX "Current User %s", 14000, 5, 45, 150, 10\r
-+   LTEXT "Protect my computer and data from unauthorized program activity", -1, 40, 65, 150, 10, WS_DISABLED\r
-+   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\r
-+   CHECKBOX "The following user:", 14002, 5, 100, 90, 10\r
-+   LTEXT "User name:", -1, 15, 115, 60, 10\r
-+   COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP\r
-+\r
-+   PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP\r
-+   LTEXT "Password:", -1, 15, 140, 60, 10\r
-+   EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP\r
-+   PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP\r
-+   PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP\r
-+   PUSHBUTTON "Cancel", 14008, 140, 170, 60, 15, WS_TABSTOP\r
-+}\r
-+\r
-+\r
- STRINGTABLE DISCARDABLE\r
- {\r
-         /* columns in the shellview */\r
-@@ -211,10 +377,10 @@\r
-           "the folder?"\r
\r
-         /* message box strings */\r
--        IDS_RESTART_TITLE       "Restart"\r
--        IDS_RESTART_PROMPT      "Do you want to simulate a Windows reboot?"\r
--        IDS_SHUTDOWN_TITLE      "Shutdown"\r
--        IDS_SHUTDOWN_PROMPT     "Do you want to shutdown your Wine session?"\r
-+      IDS_RESTART_TITLE       "Restart"\r
-+      IDS_RESTART_PROMPT      "Do you want to restart the system?"\r
-+      IDS_SHUTDOWN_TITLE      "Shutdown"\r
-+      IDS_SHUTDOWN_PROMPT     "Do you want to shutdown?"\r
\r
-         /* shell folder path default values */\r
-       IDS_PROGRAMS                "Start Menu\\Programs"\r
-@@ -244,4 +410,7 @@\r
-       IDS_COMMON_PICTURES         "Documents\\My Pictures"\r
-       IDS_COMMON_VIDEO            "Documents\\My Video"\r
-       IDS_CDBURN_AREA             "Local Settings\\Application Data\\Microsoft\\CD Burning"\r
-+        IDS_DRIVE_FIXED             "Local Disk"\r
-+        IDS_DRIVE_CDROM             "CDROM"\r
-+        IDS_DRIVE_NETWORK           "Network Disk"\r
- }\r
-Index: shell32_main.h\r
-===================================================================\r
---- shell32_main.h     (revision 29513)\r
-+++ shell32_main.h     (working copy)\r
-@@ -239,4 +239,8 @@\r
- /* Detect Shell Links */\r
- BOOL SHELL_IsShortcut(LPCITEMIDLIST);\r
\r
-+INT_PTR CALLBACK SH_FileGeneralDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);\r
-+INT_PTR CALLBACK SH_FileVersionDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);\r
-+HPROPSHEETPAGE SH_CreatePropertySheetPage(LPSTR resname, DLGPROC dlgproc, LPARAM lParam);\r
-+BOOL SH_ShowDriveProperties(WCHAR * drive);\r
- #endif\r
-Index: shelllink.c\r
-===================================================================\r
---- shelllink.c        (revision 29513)\r
-+++ shelllink.c        (working copy)\r
-@@ -53,8 +53,9 @@\r
- #include "shlwapi.h"\r
- #include "msi.h"\r
- #include "appmgmt.h"\r
--\r
-+#include "prsht.h"\r
- #include "initguid.h"\r
-+#include "shresdef.h"\r
\r
- WINE_DEFAULT_DEBUG_CHANNEL(shell);\r
\r
-@@ -86,6 +87,7 @@\r
\r
- #define SHLINK_LOCAL  0\r
- #define SHLINK_REMOTE 1\r
-+#define MAX_PROPERTY_SHEET_PAGE 32\r
\r
- typedef struct _LOCATION_INFO\r
- {\r
-@@ -157,9 +159,11 @@\r
-       LPWSTR        sProduct;\r
-       LPWSTR        sComponent;\r
-       volume_info   volume;\r
--\r
-+    LPWSTR        sLinkPath;\r
-+    BOOL          bRunAs;\r
-       BOOL          bDirty;\r
-         INT           iIdOpen;  /* id of the "Open" entry in the context menu */\r
-+        INT           iIdProperties; /* id of the "Properties" entry in the context menu */\r
-       IUnknown      *site;\r
- } IShellLinkImpl;\r
\r
-@@ -304,6 +308,7 @@\r
-     HeapFree(GetProcessHeap(), 0, This->sWorkDir);\r
-     HeapFree(GetProcessHeap(), 0, This->sDescription);\r
-     HeapFree(GetProcessHeap(),0,This->sPath);\r
-+    HeapFree(GetProcessHeap(),0,This->sLinkPath);\r
\r
-     if (This->site)\r
-         IUnknown_Release( This->site );\r
-@@ -386,6 +391,8 @@\r
-         r = SHCreateStreamOnFileW(pszFileName, dwMode, &stm);\r
-         if( SUCCEEDED( r ) )\r
-         {\r
-+            HeapFree(GetProcessHeap(), 0, This->sLinkPath);\r
-+            This->sLinkPath = _wcsdup(pszFileName);\r
-             r = IPersistStream_Load(StreamThis, stm);\r
-             ShellLink_UpdatePath(This->sPathRel, pszFileName, This->sWorkDir, &This->sPath);\r
-             IStream_Release( stm );\r
-@@ -919,6 +926,15 @@\r
-         r = Stream_LoadAdvertiseInfo( stm, &This->sComponent );\r
-         TRACE("Component    -> %s\n",debugstr_w(This->sComponent));\r
-     }\r
-+    if( hdr.dwFlags & SLDF_RUNAS_USER )\r
-+    {\r
-+       This->bRunAs = TRUE;\r
-+    }\r
-+    else\r
-+    {\r
-+       This->bRunAs = FALSE;\r
-+    }\r
-+\r
-     if( FAILED( r ) )\r
-         goto end;\r
\r
-@@ -1089,6 +1105,8 @@\r
-         header.dwFlags |= SLDF_HAS_LOGO3ID;\r
-     if( This->sComponent )\r
-         header.dwFlags |= SLDF_HAS_DARWINID;\r
-+    if( This->bRunAs )\r
-+        header.dwFlags |= SLDF_RUNAS_USER;\r
\r
-     SystemTimeToFileTime ( &This->time1, &header.Time1 );\r
-     SystemTimeToFileTime ( &This->time2, &header.Time2 );\r
-@@ -1204,6 +1222,7 @@\r
-       sl->bDirty = FALSE;\r
-       sl->iIdOpen = -1;\r
-       sl->site = NULL;\r
-+    sl->bRunAs = FALSE;\r
\r
-       TRACE("(%p)->()\n",sl);\r
\r
-@@ -2452,6 +2471,7 @@\r
- {\r
-     IShellLinkImpl *This = impl_from_IContextMenu(iface);\r
-     static WCHAR szOpen[] = { 'O','p','e','n',0 };\r
-+    static WCHAR szProperties[] = { 'P','r','o','p','e','r','t','i','e','s',0 };\r
-     MENUITEMINFOW mii;\r
-     int id = 1;\r
\r
-@@ -2461,10 +2481,10 @@\r
-     if ( !hmenu )\r
-         return E_INVALIDARG;\r
\r
--    memset( &mii, 0, sizeof mii );\r
--    mii.cbSize = sizeof mii;\r
-+    memset( &mii, 0, sizeof(mii) );\r
-+    mii.cbSize = sizeof (mii);\r
-     mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE;\r
--    mii.dwTypeData = szOpen;\r
-+    mii.dwTypeData = (LPWSTR)szOpen;\r
-     mii.cch = strlenW( mii.dwTypeData );\r
-     mii.wID = idCmdFirst + id++;\r
-     mii.fState = MFS_DEFAULT | MFS_ENABLED;\r
-@@ -2473,6 +2493,18 @@\r
-         return E_FAIL;\r
-     This->iIdOpen = 0;\r
\r
-+    mii.fState = MFS_ENABLED;\r
-+    mii.dwTypeData = (LPWSTR)szProperties;\r
-+    mii.cch = strlenW( mii.dwTypeData );\r
-+    mii.wID = idCmdFirst + id++;\r
-+    if (!InsertMenuItemW( hmenu, idCmdLast, TRUE, &mii ))\r
-+    {\r
-+        TRACE("ShellLink_QueryContextMenu failed to insert item properties");\r
-+        return E_FAIL;\r
-+    }\r
-+    This->iIdProperties = 1;\r
-+    id++;\r
-+\r
-     return MAKE_HRESULT( SEVERITY_SUCCESS, 0, id );\r
- }\r
\r
-@@ -2500,7 +2532,223 @@\r
-     return path;\r
- }\r
\r
-+INT_PTR CALLBACK ExtendedShortcutProc(      \r
-+    HWND hwndDlg,\r
-+    UINT uMsg,\r
-+    WPARAM wParam,\r
-+    LPARAM lParam\r
-+)\r
-+{\r
-+   HWND hDlgCtrl;\r
-+\r
-+   switch(uMsg)\r
-+   {\r
-+   case WM_INITDIALOG:\r
-+       if (lParam)\r
-+       {\r
-+            hDlgCtrl = GetDlgItem(hwndDlg, 14000);\r
-+            SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0);\r
-+       }\r
-+       return TRUE;\r
-+   case WM_COMMAND:\r
-+        hDlgCtrl = GetDlgItem(hwndDlg, 14000);\r
-+              if (LOWORD(wParam) == IDOK)\r
-+        {\r
-+                 if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED )\r
-+                EndDialog(hwndDlg, 1);\r
-+           else\r
-+              EndDialog(hwndDlg, 0);\r
-+        }\r
-+        else if (LOWORD(wParam) == IDCANCEL)\r
-+        {\r
-+            EndDialog(hwndDlg, -1);\r
-+        }\r
-+        else if (LOWORD(wParam) == 14000)\r
-+        {\r
-+           if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED)\r
-+              SendMessage(hDlgCtrl, BM_SETCHECK, BST_UNCHECKED, 0);\r
-+           else\r
-+              SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0);\r
-+\r
-+        }\r
-+   }\r
-+   return FALSE;\r
-+}\r
-+\r
-+/**************************************************************************\r
-+ * SH_ShellLinkDlgProc\r
-+ *\r
-+ * dialog proc of the shortcut property dialog\r
-+ */\r
-+\r
-+INT_PTR \r
-+CALLBACK \r
-+SH_ShellLinkDlgProc(   \r
-+    HWND hwndDlg,\r
-+    UINT uMsg,\r
-+    WPARAM wParam,\r
-+    LPARAM lParam\r
-+)\r
-+{\r
-+    LPPROPSHEETPAGEW ppsp;\r
-+    LPPSHNOTIFY lppsn;\r
-+    IShellLinkImpl *This;\r
-+    HWND hDlgCtrl;\r
-+    WCHAR szBuffer[MAX_PATH];\r
-+    int IconIndex;\r
-+    INT_PTR result;\r
-+\r
-+    This = (IShellLinkImpl *)GetWindowLongPtr(hwndDlg, DWLP_USER);\r
-+\r
-+    switch(uMsg)\r
-+    {\r
-+    case WM_INITDIALOG:\r
-+        ppsp = (LPPROPSHEETPAGEW)lParam;\r
-+        if (ppsp == NULL)\r
-+            break;\r
-+     \r
-+        TRACE("ShellLink_DlgProc (WM_INITDIALOG hwnd %p lParam %p ppsplParam %x)\n",hwndDlg, lParam, ppsp->lParam);\r
-+\r
-+        This = (IShellLinkImpl *)ppsp->lParam;\r
-+        SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)This);\r
-+\r
-+              TRACE("sArgs: %S sComponent: %S sDescription: %S sIcoPath: %S sPath: %S sPathRel: %S sProduct: %S sWorkDir: %S\n", This->sArgs, This->sComponent ,This->sDescription,\r
-+                      This->sIcoPath, This->sPath, This->sPathRel, This->sProduct, This->sWorkDir);\r
-+\r
-+        /* target path */\r
-+        hDlgCtrl = GetDlgItem( hwndDlg, 14009 );\r
-+        if ( hDlgCtrl != NULL )\r
-+            SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sPath );\r
-+\r
-+       /* working dir */\r
-+       hDlgCtrl = GetDlgItem( hwndDlg, 14011 );\r
-+       if ( hDlgCtrl != NULL )\r
-+            SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sWorkDir );\r
-+\r
-+         /* description */\r
-+       hDlgCtrl = GetDlgItem( hwndDlg, 14019 );\r
-+       if ( hDlgCtrl != NULL )\r
-+            SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sDescription );\r
-+        return TRUE;\r
-+    case WM_NOTIFY:\r
-+       lppsn = (LPPSHNOTIFY) lParam; \r
-+       if ( lppsn->hdr.code == PSN_APPLY )\r
-+       {\r
-+            /* set working directory */\r
-+            hDlgCtrl = GetDlgItem( hwndDlg, 14011 );\r
-+            SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer );\r
-+            IShellLinkW_fnSetWorkingDirectory((IShellLinkW*)&This->lpvtblw, szBuffer);\r
-+            /* set link destination */\r
-+            hDlgCtrl = GetDlgItem( hwndDlg, 14009 );\r
-+            SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer);\r
-+            if ( !SHELL_ExistsFileW(szBuffer) )\r
-+            {\r
-+                MessageBoxW( hwndDlg, L"file not existing", szBuffer, MB_OK );\r
-+                SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE );\r
-+                return TRUE;\r
-+            }\r
-+            IShellLinkW_fnSetPath((IShellLinkW*)&This->lpvtblw, szBuffer);\r
-+\r
-+            TRACE("This %p sLinkPath %S\n", This, This->sLinkPath);\r
-+            IPersistFile_fnSave( (IPersistFile*)&This->lpvtblPersistFile, This->sLinkPath, TRUE );\r
-+            SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR );\r
-+            return TRUE;\r
-+       }\r
-+       break;\r
-+    case WM_COMMAND:\r
-+       switch(LOWORD(wParam))\r
-+       {\r
-+           case 14020:\r
-+               /// \r
-+               /// FIXME\r
-+               /// open target directory\r
-+               ///\r
-+               return TRUE;\r
-+           case 14021:\r
-+               if (PickIconDlg(hwndDlg, szBuffer, MAX_PATH, &IconIndex))\r
-+               {\r
-+                    IShellLinkW_fnSetIconLocation((IShellLinkW*)&This->lpvtblw, szBuffer, IconIndex);\r
-+                    ///\r
-+                    /// FIXME redraw icon\r
-+               }\r
-+               return TRUE;\r
-+           case 14022:\r
-+               result = DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(SHELL_EXTENDED_SHORTCUT_DLG), hwndDlg, ExtendedShortcutProc, (LPARAM)This->bRunAs);\r
-+               if (result == 1 || result == 0)\r
-+               {\r
-+                   if ( This->bRunAs != result )\r
-+                   {\r
-+                       PropSheet_Changed(GetParent(hwndDlg), hwndDlg);\r
-+                   }\r
-+\r
-+                   This->bRunAs = result;\r
-+               }\r
-+               return TRUE;\r
-+       }\r
-+       switch(HIWORD(wParam))\r
-+       {\r
-+           case EN_CHANGE:\r
-+              PropSheet_Changed(GetParent(hwndDlg), hwndDlg);\r
-+              break;\r
-+       }\r
-+       break;\r
-+    default:\r
-+        break;\r
-+   }\r
-+   return FALSE;\r
-+}\r
-+\r
-+/**************************************************************************\r
-+ * ShellLink_ShortcutDialog [Internal]\r
-+ *\r
-+ * creates a shortcut property dialog\r
-+ */\r
-+\r
- static HRESULT WINAPI\r
-+ShellLink_ShowProperties( IShellLinkImpl *This )\r
-+{\r
-+    PROPSHEETHEADERW pinfo;\r
-+    HPROPSHEETPAGE hppages[MAX_PROPERTY_SHEET_PAGE];\r
-+    HPROPSHEETPAGE hpage;\r
-+    UINT numpages = 0;\r
-+\r
-+    TRACE("ShellLink_ShortcutDialog entered\n");\r
-+\r
-+    memset(hppages, 0x0, sizeof(HPROPSHEETPAGE) * MAX_PROPERTY_SHEET_PAGE);\r
-+\r
-+    hpage = SH_CreatePropertySheetPage("SHELL_FILE_GENERAL_DLG", SH_FileGeneralDlgProc, (LPARAM)This->sLinkPath);\r
-+    if ( hpage == NULL )\r
-+        return E_FAIL;\r
-+    else\r
-+        hppages[numpages++] = hpage;\r
-+\r
-+      hpage = SH_CreatePropertySheetPage("SHELL_GENERAL_SHORTCUT_DLG", SH_ShellLinkDlgProc, (LPARAM)This);\r
-+      if ( hpage == NULL )\r
-+    {\r
-+        ERR("SH_CreatePropertySheetPage failed\n");\r
-+        DestroyPropertySheetPage(hppages[0]);\r
-+        return E_FAIL;\r
-+      }\r
-+    hppages[numpages++] = hpage;\r
-+\r
-+    ///FIXME\r
-+    /// load extensions\r
-+\r
-+    memset(&pinfo, 0x0, sizeof(PROPSHEETHEADERW));\r
-+    pinfo.dwSize = sizeof(PROPSHEETHEADERW);\r
-+    pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_PROPTITLE;\r
-+    pinfo.nPages = numpages;\r
-+      pinfo.u3.phpage = hppages;\r
-+    pinfo.pszCaption = This->sDescription;\r
-+    pinfo.u2.nStartPage = 1;\r
-+\r
-+    if ( PropertySheetW(&pinfo) < 0 )\r
-+        return E_FAIL;\r
-+      else\r
-+        return S_OK;\r
-+}\r
-+\r
-+static HRESULT WINAPI\r
- ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )\r
- {\r
-     IShellLinkImpl *This = impl_from_IContextMenu(iface);\r
-@@ -2516,6 +2764,12 @@\r
-     if ( lpici->cbSize < sizeof (CMINVOKECOMMANDINFO) )\r
-         return E_INVALIDARG;\r
\r
-+    if ( lpici->lpVerb == MAKEINTRESOURCEA(This->iIdProperties))\r
-+    {\r
-+        ShellLink_ShowProperties(This);\r
-+        return S_OK;\r
-+    }\r
-+\r
-     if ( lpici->lpVerb != MAKEINTRESOURCEA(This->iIdOpen) )\r
-     {\r
-         ERR("Unknown id %d != %d\n", (INT)lpici->lpVerb, This->iIdOpen );\r
-Index: shellole.c\r
-===================================================================\r
---- shellole.c (revision 29513)\r
-+++ shellole.c (working copy)\r
-@@ -69,11 +69,13 @@\r
-       {&CLSID_DragDropHelper, &IDropTargetHelper_Constructor},\r
-       {&CLSID_ControlPanel,   &IControlPanel_Constructor},\r
-       {&CLSID_AutoComplete,   &IAutoComplete_Constructor},\r
-+#if 0\r
-       {&CLSID_UnixFolder,     &UnixFolder_Constructor},\r
-       {&CLSID_UnixDosFolder,  &UnixDosFolder_Constructor},\r
-       {&CLSID_FolderShortcut, &FolderShortcut_Constructor},\r
-       {&CLSID_MyDocuments,    &MyDocuments_Constructor},\r
-       {&CLSID_RecycleBin,     &RecycleBin_Constructor},\r
-+#endif\r
-       {NULL,NULL}\r
- };\r
\r
-Index: shellord.c\r
-===================================================================\r
---- shellord.c (revision 29513)\r
-+++ shellord.c (working copy)\r
-@@ -1265,9 +1265,70 @@\r
-  * IsUserAdmin                                        [SHELL32.680] NT 4.0\r
-  *\r
-  */\r
--HRESULT WINAPI IsUserAdmin(void)\r
--{     FIXME("stub\n");\r
--      return TRUE;\r
-+\r
-+BOOL WINAPI IsUserAnAdmin(VOID)\r
-+{\r
-+    SID_IDENTIFIER_AUTHORITY Authority = {SECURITY_NT_AUTHORITY};\r
-+    HANDLE hToken;\r
-+    DWORD dwSize;\r
-+    PTOKEN_GROUPS lpGroups;\r
-+    PSID lpSid;\r
-+    DWORD i;\r
-+    BOOL bResult = FALSE;\r
-+\r
-+    TRACE("\n");\r
-+\r
-+    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))\r
-+    {\r
-+        return FALSE;\r
-+    }\r
-+\r
-+    if (!GetTokenInformation(hToken, TokenGroups, NULL, 0, &dwSize))\r
-+    {\r
-+        if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r
-+        {\r
-+            CloseHandle(hToken);\r
-+            return FALSE;\r
-+        }\r
-+    }\r
-+\r
-+    lpGroups = HeapAlloc(GetProcessHeap(), 0, dwSize);\r
-+    if (lpGroups == NULL)\r
-+    {\r
-+        CloseHandle(hToken);\r
-+        return FALSE;\r
-+    }\r
-+\r
-+    if (!GetTokenInformation(hToken, TokenGroups, lpGroups, dwSize, &dwSize))\r
-+    {\r
-+        HeapFree(GetProcessHeap(), 0, lpGroups);\r
-+        CloseHandle(hToken);\r
-+        return FALSE;\r
-+    }\r
-+\r
-+    CloseHandle(hToken);\r
-+\r
-+    if (!AllocateAndInitializeSid(&Authority, 2, SECURITY_BUILTIN_DOMAIN_RID,\r
-+                                  DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0,\r
-+                                  &lpSid))\r
-+    {\r
-+        HeapFree(GetProcessHeap(), 0, lpGroups);\r
-+        return FALSE;\r
-+    }\r
-+\r
-+    for (i = 0; i < lpGroups->GroupCount; i++)\r
-+    {\r
-+        if (EqualSid(lpSid, lpGroups->Groups[i].Sid))\r
-+        {\r
-+            bResult = TRUE;\r
-+            break;\r
-+        }\r
-+    }\r
-+\r
-+    FreeSid(lpSid);\r
-+    HeapFree(GetProcessHeap(), 0, lpGroups);\r
-+\r
-+    return bResult;\r
- }\r
\r
- /*************************************************************************\r
-@@ -1584,14 +1645,6 @@\r
- }\r
\r
- /*************************************************************************\r
-- *      SHCreatePropSheetExtArray     [SHELL32.168]\r
-- */\r
--HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface)\r
--{\r
--    return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL);\r
--}\r
--\r
--/*************************************************************************\r
-  *      SHCreatePropSheetExtArrayEx   [SHELL32.194]\r
-  */\r
- HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj)\r
-@@ -1695,6 +1748,15 @@\r
- }\r
\r
- /*************************************************************************\r
-+ *      SHCreatePropSheetExtArray     [SHELL32.168]\r
-+ */\r
-+HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface)\r
-+{\r
-+    return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL);\r
-+}\r
-+\r
-+\r
-+/*************************************************************************\r
-  *      SHReplaceFromPropSheetExtArray        [SHELL32.170]\r
-  */\r
- UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam)\r
-Index: shellpath.c\r
-===================================================================\r
---- shellpath.c        (revision 29513)\r
-+++ shellpath.c        (working copy)\r
-@@ -24,6 +24,7 @@\r
-  *\r
-  */\r
\r
-+#define symlink(A, B)\r
- #include "config.h"\r
- #include "wine/port.h"\r
\r
-@@ -1977,7 +1978,7 @@\r
-  \r
-     if (szBasePath[cLen-1] != '/') szBasePath[cLen++] = '/';\r
-  \r
--    if (!WideCharToMultiByte(CP_UNIXCP, 0, wszSubPath, -1, szBasePath + cLen,\r
-+    if (!WideCharToMultiByte(CP_ACP, 0, wszSubPath, -1, szBasePath + cLen,\r
-                              FILENAME_MAX - cLen, NULL, NULL))\r
-     {\r
-         return FALSE;\r
-@@ -1988,7 +1989,7 @@\r
-  \r
-     return TRUE;\r
- }\r
--\r
-+#if 0\r
- /******************************************************************************\r
-  * _SHCreateSymbolicLinks  [Internal]\r
-  * \r
-@@ -2040,7 +2041,7 @@\r
-             for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) {\r
-                 strcpy(szMyStuffTarget, szPersonalTarget);\r
-                 if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i])))\r
--                    mkdir(szMyStuffTarget, 0777);\r
-+                    mkdir(szMyStuffTarget);\r
-             }\r
-         } \r
-         else\r
-@@ -2061,7 +2062,7 @@\r
-         for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) {\r
-             strcpy(szMyStuffTarget, szPersonalTarget);\r
-             if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i])))\r
--                mkdir(szMyStuffTarget, 0777);\r
-+                mkdir(szMyStuffTarget);\r
-         }\r
-     }\r
\r
-@@ -2108,6 +2109,7 @@\r
-         }\r
-     }\r
- }\r
-+#endif\r
\r
- /* Register the default values in the registry, as some apps seem to depend\r
-  * on their presence.  The set registered was taken from Windows XP.\r
-@@ -2120,7 +2122,9 @@\r
-      * 'My Video', 'My Music' and 'Desktop' in advance, so that the\r
-      * _SHRegister*ShellFolders() functions will find everything nice and clean\r
-      * and thus will not attempt to create them in the profile directory. */\r
-+#if 0\r
-     _SHCreateSymbolicLinks();\r
-+#endif\r
-     \r
-     hr = _SHRegisterUserShellFolders(TRUE);\r
-     if (SUCCEEDED(hr))\r
-Index: shfldr_desktop.c\r
-===================================================================\r
---- shfldr_desktop.c   (revision 29513)\r
-+++ shfldr_desktop.c   (working copy)\r
-@@ -165,9 +165,11 @@\r
-     else if (PathGetDriveNumberW (lpszDisplayName) >= 0)\r
-     {\r
-         /* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */\r
-+#if 0\r
-         if (UNIXFS_is_rooted_at_desktop()) \r
-             pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder);\r
-         else\r
-+#endif\r
-             pidlTemp = _ILCreateMyComputer ();\r
-         szNext = lpszDisplayName;\r
-     }\r
-Index: shfldr_mycomp.c\r
-===================================================================\r
---- shfldr_mycomp.c    (revision 29513)\r
-+++ shfldr_mycomp.c    (working copy)\r
-@@ -695,20 +695,8 @@\r
\r
-     if (SUCCEEDED (hr))\r
-     {\r
--        /* Win9x always returns ANSI strings, NT always returns Unicode strings */\r
--        if (GetVersion() & 0x80000000)\r
--        {\r
--            strRet->uType = STRRET_CSTR;\r
--            if (!WideCharToMultiByte(CP_ACP, 0, pszPath, -1, strRet->u.cStr, MAX_PATH,\r
--                    NULL, NULL))\r
--                strRet->u.cStr[0] = '\0';\r
--            CoTaskMemFree(pszPath);\r
--        }\r
--        else\r
--        {\r
--            strRet->uType = STRRET_WSTR;\r
--            strRet->u.pOleStr = pszPath;\r
--        }\r
-+        strRet->uType = STRRET_WSTR;\r
-+        strRet->u.pOleStr = pszPath;\r
-     }\r
-     else\r
-         CoTaskMemFree(pszPath);\r
-Index: shlexec.c\r
-===================================================================\r
---- shlexec.c  (revision 29513)\r
-+++ shlexec.c  (working copy)\r
-@@ -1300,6 +1300,7 @@\r
-     static const WCHAR wFile[] = {'f','i','l','e',0};\r
-     static const WCHAR wHttp[] = {'h','t','t','p',':','/','/',0};\r
-     static const WCHAR wExplorer[] = {'e','x','p','l','o','r','e','r','.','e','x','e',0};\r
-+    static const WCHAR wProperties[] = { 'p','r','o','p','e','r','t','i','e','s',0 };\r
-     static const DWORD unsupportedFlags =\r
-         SEE_MASK_INVOKEIDLIST  | SEE_MASK_ICON         | SEE_MASK_HOTKEY |\r
-         SEE_MASK_CONNECTNETDRV | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_FLAG_NO_UI |\r
-@@ -1405,6 +1406,13 @@\r
-         return TRUE;\r
-     }\r
\r
-+    if (sei_tmp.lpVerb && !wcscmp(sei_tmp.lpVerb, wProperties))\r
-+    {\r
-+        SH_ShowPropertiesDialog(sei_tmp.lpFile);\r
-+        sei->hInstApp = (HINSTANCE) 33;\r
-+        return TRUE;\r
-+    }\r
-+\r
-     if (sei_tmp.fMask & SEE_MASK_CLASSALL)\r
-     {\r
-       /* launch a document by fileclass like 'WordPad.Document.1' */\r
-Index: shlfileop.c\r
-===================================================================\r
---- shlfileop.c        (revision 29513)\r
-+++ shlfileop.c        (working copy)\r
-@@ -1696,16 +1696,6 @@\r
- }\r
\r
- /***********************************************************************\r
-- *              SHPathPrepareForWriteA (SHELL32.@)\r
-- */\r
--HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags)\r
--{\r
--    WCHAR wpath[MAX_PATH];\r
--    MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH);\r
--    return SHPathPrepareForWriteW(hwnd, modless, wpath, flags);\r
--}\r
--\r
--/***********************************************************************\r
-  *              SHPathPrepareForWriteW (SHELL32.@)\r
-  */\r
- HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path, DWORD flags)\r
-@@ -1767,3 +1757,13 @@\r
-     else\r
-         return HRESULT_FROM_WIN32(ERROR_DIRECTORY);\r
- }\r
-+\r
-+/***********************************************************************\r
-+ *              SHPathPrepareForWriteA (SHELL32.@)\r
-+ */\r
-+HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags)\r
-+{\r
-+    WCHAR wpath[MAX_PATH];\r
-+    MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH);\r
-+    return SHPathPrepareForWriteW(hwnd, modless, wpath, flags);\r
-+}\r
-Index: shlview.c\r
-===================================================================\r
---- shlview.c  (revision 29513)\r
-+++ shlview.c  (working copy)\r
-@@ -68,6 +68,8 @@\r
\r
- WINE_DEFAULT_DEBUG_CHANNEL(shell);\r
\r
-+#undef SV_CLASS_NAME\r
-+\r
- static const WCHAR SV_CLASS_NAME[] = {'S','H','E','L','L','D','L','L','_','D','e','f','V','i','e','w',0};\r
\r
- typedef struct\r
-Index: shres.rc\r
-===================================================================\r
---- shres.rc   (revision 29513)\r
-+++ shres.rc   (working copy)\r
-@@ -35,88 +35,8 @@\r
-       VK_F5, FCIDM_SHVIEW_REFRESH, VIRTKEY\r
- END\r
\r
--/* @makedep: document.ico */\r
--IDI_SHELL_DOCUMENT ICON document.ico\r
\r
--/* @makedep: folder.ico */\r
--IDI_SHELL_FOLDER ICON folder.ico\r
\r
--/* @makedep: folder_open.ico */\r
--IDI_SHELL_FOLDER_OPEN ICON folder_open.ico\r
--\r
--/* FIXME: Following three resources are not yet added */\r
--/* @makedep: folder_open.ico */\r
--IDI_SHELL_FOLDER_OPEN_SMALL ICON folder_open.ico\r
--/* @makedep: folder_open.ico */\r
--IDI_SHELL_FOLDER_OPEN_LARGE ICON folder_open.ico\r
--/* @makedep: folder_open.ico */\r
--IDI_SHELL_FOLDER_SMALL_XP ICON folder_open.ico\r
--\r
--/* @makedep: floppy.ico */\r
--IDI_SHELL_FLOPPY ICON floppy.ico\r
--\r
--/* @makedep: drive.ico */\r
--IDI_SHELL_DRIVE ICON drive.ico\r
--\r
--/* @makedep: netdrive.ico */\r
--IDI_SHELL_NETDRIVE ICON netdrive.ico\r
--\r
--/* @makedep: netdrive2.ico */\r
--IDI_SHELL_NETDRIVE2 ICON netdrive2.ico\r
--\r
--/* @makedep: cdrom.ico */\r
--IDI_SHELL_CDROM ICON cdrom.ico\r
--\r
--/* @makedep: ramdisk.ico */\r
--IDI_SHELL_RAMDISK ICON ramdisk.ico\r
--\r
--/* @makedep: mycomputer.ico */\r
--IDI_SHELL_MY_COMPUTER ICON mycomputer.ico\r
--\r
--/* @makedep: printer.ico */\r
--IDI_SHELL_PRINTER ICON printer.ico\r
--\r
--/* @makedep: shortcut.ico */\r
--IDI_SHELL_SHORTCUT ICON shortcut.ico\r
--\r
--/* @makedep: desktop.ico */\r
--IDI_SHELL_DESKTOP ICON desktop.ico\r
--\r
--/* @makedep: trash_file.ico */\r
--IDI_SHELL_FULL_RECYCLE_BIN ICON trash_file.ico\r
--\r
--/* @makedep: trash_file.ico */\r
--IDI_SHELL_TRASH_FILE ICON trash_file.ico\r
--\r
--/* @makedep: delete.ico */\r
--IDI_SHELL_CONFIRM_DELETE ICON delete.ico\r
--\r
--/* @makedep: mydocs.ico */\r
--IDI_SHELL_MY_DOCUMENTS ICON mydocs.ico\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_SEARCHING AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_SEARCH AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_FILEMOVE AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_FILECOPY AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_FINDCOMPUTER AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_FILENUKE AVI searching.avi\r
--\r
--/* @makedep: searching.avi */\r
--IDR_AVI_FILEDELETE AVI searching.avi\r
--\r
--/*--------------------- END FIXME ------------------------*/\r
--\r
- /*\r
-  * Everything that does not depend on language,\r
-  * like textless bitmaps etc, go into the\r
-@@ -125,7 +45,20 @@\r
-  */\r
- #include "shell32_xx.rc"\r
\r
-+\r
-+\r
-+\r
- /*\r
-+ * This include a set of Shell32 icons, \r
-+ * bitmaps and avi files. Licence's can be\r
-+ * found in the corresponding directorys\r
-+ */\r
-+#include "icon_res.rc"\r
-+//#include "bitmap_res.rc"\r
-+#include "avi_res.rc"\r
-+\r
-+\r
-+/*\r
-  * Everything specific to any language goes\r
-  * in one of the specific files.\r
-  * Note that you can and may override resources\r
-Index: shresdef.h\r
-===================================================================\r
---- shresdef.h (revision 29513)\r
-+++ shresdef.h (working copy)\r
-@@ -78,6 +78,9 @@\r
- #define IDS_COMMON_PICTURES         69\r
- #define IDS_COMMON_VIDEO            70\r
- #define IDS_CDBURN_AREA             71\r
-+#define IDS_DRIVE_FIXED             72\r
-+#define IDS_DRIVE_CDROM             73\r
-+#define IDS_DRIVE_NETWORK           74\r
\r
- #define IDS_CREATEFOLDER_DENIED     128\r
- #define IDS_CREATEFOLDER_CAPTION    129\r
-@@ -109,6 +112,7 @@\r
- #define IDD_STATUS            0x3743\r
- #define IDD_TITLE             0x3742\r
- #define IDD_TREEVIEW          0x3741\r
-+#define SHELL_EXTENDED_SHORTCUT_DLG 0x4000\r
\r
- #define IDI_SHELL_DOCUMENT           1\r
- #define IDI_SHELL_FOLDER             4\r
-Index: shv_item_cmenu.c\r
-===================================================================\r
---- shv_item_cmenu.c   (revision 29513)\r
-+++ shv_item_cmenu.c   (working copy)\r
-@@ -38,6 +38,9 @@\r
\r
- WINE_DEFAULT_DEBUG_CHANNEL(shell);\r
\r
-+/* ugly hack for cut&paste files */\r
-+BOOL fileMoving = FALSE;\r
-+\r
- /**************************************************************************\r
- *  IContextMenu Implementation\r
- */\r
-@@ -254,6 +257,9 @@\r
-         if(uFlags & CMF_CANRENAME)\r
-           _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_RENAME, MFT_STRING, "&Rename", ISvItemCm_CanRenameItems(This) ? MFS_ENABLED : MFS_DISABLED);\r
\r
-+        _InsertMenuItem(hmenu, indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0);\r
-+        _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, "&Properties", MFS_ENABLED);\r
-+\r
-         return MAKE_HRESULT(SEVERITY_SUCCESS, 0, (FCIDM_SHVIEWLAST));\r
-       }\r
-       return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0);\r
-@@ -294,7 +300,7 @@\r
\r
-       ZeroMemory(&sei, sizeof(sei));\r
-       sei.cbSize = sizeof(sei);\r
--      sei.fMask = SEE_MASK_IDLIST | SEE_MASK_CLASSNAME;\r
-+      sei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_CLASSNAME;\r
-       sei.lpIDList = pidlFQ;\r
-       sei.lpClass = "Folder";\r
-       sei.hwnd = hwnd;\r
-@@ -382,6 +388,54 @@\r
-       }\r
-       return TRUE;\r
- }\r
-+static void DoProperties(\r
-+      IContextMenu2 *iface,\r
-+      HWND hwnd)\r
-+{\r
-+      ItemCmImpl *This = (ItemCmImpl *)iface;\r
-+      LPITEMIDLIST    pidlFQ = NULL;\r
-+      SHELLEXECUTEINFOA       sei;\r
-+\r
-+    if (_ILIsMyComputer(This->apidl[0]))\r
-+    {\r
-+        ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl", NULL, NULL, SW_SHOWNORMAL);\r
-+        return;\r
-+    }\r
-+    else if (_ILIsDesktop(This->apidl[0]))\r
-+    {\r
-+        ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL desk.cpl", NULL, NULL, SW_SHOWNORMAL);\r
-+        return;\r
-+    }\r
-+    else if (_ILIsDrive(This->apidl[0]))\r
-+    {\r
-+       WCHAR buffer[111];\r
-+       ILGetDisplayName(This->apidl[0], buffer);\r
-+       SH_ShowDriveProperties(buffer);\r
-+       return;\r
-+    }\r
-+    else\r
-+    {\r
-+        pidlFQ = ILCombine(This->pidl, This->apidl[0]);\r
-+    }\r
-+\r
-+      ZeroMemory(&sei, sizeof(sei));\r
-+      sei.cbSize = sizeof(sei);\r
-+      sei.fMask = SEE_MASK_INVOKEIDLIST;\r
-+      sei.lpIDList = pidlFQ;\r
-+      sei.hwnd = hwnd;\r
-+      sei.nShow = SW_SHOWNORMAL;\r
-+      sei.lpVerb = "properties";\r
-+\r
-+    TRACE("DoProperties before ShellExecuteEx\n");\r
-+      ShellExecuteExA(&sei);\r
-+    TRACE("DoProperties after ShellExecuteEx\n");\r
-+\r
-+    if (pidlFQ)\r
-+    {\r
-+         SHFree(pidlFQ);\r
-+    }\r
-+}\r
-+\r
- /**************************************************************************\r
- * ISvItemCm_fnInvokeCommand()\r
- */\r
-@@ -430,6 +484,10 @@\r
-             TRACE("Verb FCIDM_SHVIEW_CUT\n");\r
-             DoCopyOrCut(iface, lpcmi->hwnd, TRUE);\r
-             break;\r
-+        case FCIDM_SHVIEW_PROPERTIES:\r
-+            TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n");\r
-+            DoProperties(iface, lpcmi->hwnd);\r
-+            break;\r
-         default:\r
-             FIXME("Unhandled Verb %xl\n",LOWORD(lpcmi->lpVerb));\r
-         }\r