- use FriendlyTypeName key for retrieving the specialized file description

- retrieve string for CLSID_ControlPanel
- translate folder string in browser
- fix displaying file description type
- display FileExt-File for file extension w/o file description, i.e. XML-File

svn path=/trunk/; revision=32966
This commit is contained in:
Johannes Anderwald 2008-04-14 20:55:14 +00:00
parent ec3a4f8f54
commit f7f80466e3
33 changed files with 74 additions and 14 deletions

View file

@ -104,6 +104,12 @@ BOOL HCR_MapTypeToValueA(LPCSTR szExtension, LPSTR szFileType, LONG len, BOOL bP
return FALSE;
}
if (RegLoadMUIStringA(hkey, "FriendlyTypeName", szFileType, len, NULL, 0, NULL) == ERROR_SUCCESS)
{
RegCloseKey(hkey);
return FALSE;
}
if (RegQueryValueA(hkey, NULL, szFileType, &len))
{
RegCloseKey(hkey);
@ -375,6 +381,12 @@ BOOL HCR_GetClassNameW(REFIID riid, LPWSTR szDest, DWORD len)
if(LoadStringW(shell32_hInstance, IDS_RECYCLEBIN_FOLDER_NAME, szDest, buflen))
ret = TRUE;
}
else if (IsEqualIID(riid, &CLSID_ControlPanel))
{
if(LoadStringW(shell32_hInstance, IDS_CONTROLPANEL, szDest, buflen))
ret = TRUE;
}
}
TRACE("-- %s\n", debugstr_w(szDest));
return ret;

View file

@ -665,6 +665,7 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -663,4 +663,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -546,13 +546,13 @@ END
IDD_PICK_ICON_DIALOG DIALOGEX 0, 0, 237, 204
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION
CAPTION "Change Icon"
CAPTION "Anderes Symbol"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
LTEXT "Filename:", -1, 7, 14, 208, 10
LTEXT "Dateiname:", -1, 7, 14, 208, 10
PUSHBUTTON "Browse...",IDC_BUTTON_PATH, 148, 24,67,14
EDITTEXT IDC_EDIT_PATH, 6, 24, 135, 15, ES_AUTOHSCROLL
LTEXT "Icons:", -1, 7, 47, 208, 10
LTEXT "Symbole:", -1, 7, 47, 208, 10
LISTBOX IDC_PICKICON_LIST,7,57,208,119,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,WS_EX_STATICEDGE
DEFPUSHBUTTON "OK",IDOK, 107, 181,50, 14
PUSHBUTTON "Cancel",IDCANCEL, 167, 181, 50, 14
@ -660,6 +660,7 @@ BEGIN
IDS_RECYCLEBIN_LOCATION "Papierkorbpfad"
IDS_RECYCLEBIN_DISKSPACE "freier Speicher"
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_PICK_ICON_FILTER "Symboldateien(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Programme\0*.exe\0"
IDS_DIRECTORY "Dateiordner"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -664,4 +664,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Seleccione un icono"
IDS_PICK_ICON_FILTER "Archivos de iconos(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -666,4 +666,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choisir une icône"
IDS_PICK_ICON_FILTER "Fichiers d'icônes (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Fichiers exécutables\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -665,4 +665,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -663,4 +663,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -668,4 +668,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Wybierz ikonê"
IDS_PICK_ICON_FILTER "Pliki ikon(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Programy\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -664,5 +664,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -664,4 +664,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -660,4 +660,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Âûáðàòü çíà÷îê"
IDS_PICK_ICON_FILTER "Ôàéëû çíà÷êîâ(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -668,4 +668,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -663,4 +663,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -662,4 +662,5 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END

View file

@ -663,6 +663,7 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END
#pragma code_page(default)

View file

@ -663,6 +663,7 @@ BEGIN
IDS_PICK_ICON_TITLE "Choose Icon"
IDS_PICK_ICON_FILTER "Icon Files(*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0"
IDS_OPEN_WITH_FILTER "Executable Files\0*.exe\0"
IDS_DIRECTORY "Folder"
END
#pragma code_page(default)

View file

@ -44,6 +44,7 @@
#include "undocshell.h"
#include "shell32_main.h"
#include "shlwapi.h"
#include "shresdef.h"
#include "pidl.h"
#include "wine/debug.h"
@ -2229,24 +2230,42 @@ BOOL _ILGetExtension (LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize)
*/
void _ILGetFileType(LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize)
{
char sType[64];
if(_ILIsValue(pidl))
{
char sTemp[64];
if(uOutSize > 0)
pOut[0] = 0;
if (_ILGetExtension (pidl, sTemp, 64))
if (_ILGetExtension (pidl, sType, 64))
{
if (!( HCR_MapTypeToValueA(sTemp, sTemp, 64, TRUE)
&& HCR_MapTypeToValueA(sTemp, pOut, uOutSize, FALSE )))
if (HCR_MapTypeToValueA(sType, sTemp, 64, TRUE))
{
lstrcpynA (pOut, sTemp, uOutSize - 6);
strcat (pOut, "-file");
/* retrieve description */
if(HCR_MapTypeToValueA(sTemp, pOut, uOutSize, FALSE ))
return;
}
/* display Ext-file as description */
strcpy(pOut, sType);
strupr(pOut);
/* load localized file string */
sTemp[0] = '\0';
if(LoadStringA(shell32_hInstance, IDS_SHV_COLUMN1, sTemp, 64))
{
sTemp[63] = '\0';
strcat(pOut, "-");
strcat(pOut, sTemp);
}
}
}
else
lstrcpynA(pOut, "Folder", uOutSize);
{
pOut[0] = '\0';
LoadStringA(shell32_hInstance, IDS_DIRECTORY, pOut, uOutSize);
/* make sure its null terminated */
pOut[uOutSize-1] = '\0';
}
}
/*************************************************************************

View file

@ -116,7 +116,7 @@
#define IDS_RECYCLEBIN_LOCATION 153
#define IDS_RECYCLEBIN_DISKSPACE 154
#define IDS_OPEN_WITH_FILTER 155
#define IDS_DIRECTORY 156
/* Note: this string is referenced from the registry */
#define IDS_RECYCLEBIN_FOLDER_NAME 8964