[SHELL32]
authorRafal Harabien <rafalh@reactos.org>
Mon, 19 Dec 2011 11:37:46 +0000 (11:37 +0000)
committerRafal Harabien <rafalh@reactos.org>
Mon, 19 Dec 2011 11:37:46 +0000 (11:37 +0000)
- Move "Open With" context menu handler registration to shell32
- Improve Polish translation

svn path=/trunk/; revision=54696

reactos/boot/bootdata/hivecls_i386.inf
reactos/dll/win32/shell32/lang/pl-PL.rc
reactos/dll/win32/shell32/openwithmenu.cpp
reactos/dll/win32/shell32/openwithmenu.h
reactos/dll/win32/shell32/res/rgs/openwithmenu.rgs [new file with mode: 0644]
reactos/dll/win32/shell32/rgs_res.rc
reactos/dll/win32/shell32/shresdef.h

index 60fc8d2..46a77d2 100644 (file)
@@ -4,10 +4,8 @@ Signature="$ReactOS$
 [AddReg]
 HKLM,"SOFTWARE\Classes",,0x00000010
 
-
 ; Default key
 HKCR,"*","",0x00000000,""
-HKCR,"*\shellex\ContextMenuHandlers\Open With","",0x00000000,"{09799AFB-AD67-11d1-ABCD-00C04FC30936}"
 
 ; Folders
 HKCR,"Folder","",0x00000000,"Folder"
@@ -333,10 +331,6 @@ HKCR,"CLSID\{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}\shell\RunAs\command","",0x000
 HKCR,"CLSID\{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}\ShellFolder","Attributes",0x00010001,0x00000000
 
 ; Open With shell extension
-HKCR,"CLSID\{09799AFB-AD67-11d1-ABCD-00C04FC30936}","",0x00000000,"Open With Context Menu Handler"
-HKCR,"CLSID\{09799AFB-AD67-11d1-ABCD-00C04FC30936}\InProcServer32","",0x00000000,"shell32.dll"
-HKCR,"CLSID\{09799AFB-AD67-11d1-ABCD-00C04FC30936}\InProcServer32","ThreadingModel",0x00000000,"Apartment"
-HKCR,"CLSID\{09799AFB-AD67-11d1-ABCD-00C04FC30936}\shellex\MayChangeDefaultMenu","",0x00000000,""
 HKCR,"SystemFileAssociations","",0x00000000,""
 HKCR,"Applications","",0x00000000,""
 
index fbb0682..0f6c0af 100644 (file)
@@ -721,7 +721,7 @@ BEGIN
        IDS_DRIVE_CDROM             "CDROM"
        IDS_DRIVE_NETWORK           "Dysk sieciowy"
 
-       IDS_OPEN_WITH               "Otwórz z"
+       IDS_OPEN_WITH               "Otwórz za pomocą"
        IDS_OPEN_WITH_CHOOSE        "Wybierz program..."
 
        IDS_SHELL_ABOUT_AUTHORS     "&Autorzy"
index f7e0a12..1055826 100644 (file)
@@ -1049,7 +1049,7 @@ COpenWithMenu::LoadOpenWithItems(IDataObject *pdtobj)
         return E_OUTOFMEMORY;
     }
     if (_ILIsDesktop(pidl) || _ILIsMyDocuments(pidl) || _ILIsControlPanel(pidl) || _ILIsNetHood(pidl) ||
-            _ILIsBitBucket(pidl) || _ILIsDrive(pidl) || _ILIsCPanelStruct(pidl) || _ILIsFolder(pidl))
+        _ILIsBitBucket(pidl) || _ILIsDrive(pidl) || _ILIsCPanelStruct(pidl) || _ILIsFolder(pidl))
     {
         TRACE("pidl is a folder\n");
         SHFree((void*)pidl);
@@ -1076,7 +1076,7 @@ COpenWithMenu::LoadOpenWithItems(IDataObject *pdtobj)
     pszExt = wcsrchr(szPath, L'.');
     if (pszExt && !_wcsicmp(pszExt, szShortCut))
     {
-        FIXME("pidl is a shortcut\n");
+        TRACE("pidl is a shortcut\n");
         return E_FAIL;
     }
 
@@ -1106,7 +1106,6 @@ SHOpenWithDialog(HWND hwndParent,
     if (poainfo->pcszClass == NULL && poainfo->pcszFile == NULL)
         return E_FAIL;
 
-
     hwnd = CreateDialogParam(shell32_hInstance, MAKEINTRESOURCE(OPEN_WITH_PROGRAMM_DLG), hwndParent, OpenWithProgrammDlg, (LPARAM)poainfo);
     if (hwnd == NULL)
     {
index cf96623..1f2abd9 100644 (file)
@@ -51,7 +51,7 @@ class COpenWithMenu :
         // IShellExtInit
         virtual HRESULT STDMETHODCALLTYPE Initialize(LPCITEMIDLIST pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID);
 
-        DECLARE_NO_REGISTRY()
+        DECLARE_REGISTRY_RESOURCEID(IDR_OPENWITHMENU)
         DECLARE_NOT_AGGREGATABLE(COpenWithMenu)
 
         DECLARE_PROTECT_FINAL_CONSTRUCT()
diff --git a/reactos/dll/win32/shell32/res/rgs/openwithmenu.rgs b/reactos/dll/win32/shell32/res/rgs/openwithmenu.rgs
new file mode 100644 (file)
index 0000000..da3babd
--- /dev/null
@@ -0,0 +1,34 @@
+HKCR\r
+{\r
+       NoRemove CLSID\r
+       {\r
+               ForceRemove {09799AFB-AD67-11d1-ABCD-00C04FC30936} = s 'Open With Context Menu Handler'\r
+               {\r
+                       val InfoTip = e '@%%SystemRoot%%\system32\SHELL32.dll,-22924'\r
+                       val LocalizedString = e '@%%SystemRoot%%\system32\SHELL32.dll,-22985'\r
+                       DefaultIcon = e '%%SystemRoot%%\system32\SHELL32.dll,-210'\r
+                       InprocServer32 = s '%MODULE%'\r
+                       {\r
+                               val ThreadingModel = s 'Apartment'\r
+                       }\r
+                       shellex\r
+                       {\r
+                               MayChangeDefaultMenu\r
+                               {\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+       NoRemove *\r
+       {\r
+               NoRemove shellex\r
+               {\r
+                       NoRemove ContextMenuHandlers\r
+                       {\r
+                               ForceRemove Open With = s '{09799AFB-AD67-11d1-ABCD-00C04FC30936}'\r
+                               {\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+}\r
index 6a37542..7cd2979 100644 (file)
@@ -20,3 +20,4 @@ IDR_SHELLDESKTOP         REGISTRY                "res\\rgs\\shelldesktop.rgs"
 IDR_SHELLFSFOLDER        REGISTRY                "res\\rgs\\shellfsfolder.rgs"
 IDR_SHELLLINK            REGISTRY                "res\\rgs\\shelllink.rgs"
 IDR_STARTMENU            REGISTRY                "res\\rgs\\startmenu.rgs"
+IDR_OPENWITHMENU         REGISTRY                "res\\rgs\\openwithmenu.rgs"
index 7882742..634c4de 100644 (file)
@@ -471,5 +471,6 @@ FIXME: Need to add them, but for now just let them use the same: searching.avi
 #define IDR_SHELLFSFOLDER       143
 #define IDR_SHELLLINK           144
 #define IDR_STARTMENU           145
+#define IDR_OPENWITHMENU        146
 
 #endif