diff --git a/dll/win32/shell32/dialogs/folder_options.cpp b/dll/win32/shell32/dialogs/folder_options.cpp index cffee8bee11..29320702a6a 100644 --- a/dll/win32/shell32/dialogs/folder_options.cpp +++ b/dll/win32/shell32/dialogs/folder_options.cpp @@ -37,6 +37,10 @@ typedef struct WCHAR FileDescription[100]; WCHAR ClassKey[MAX_PATH]; DWORD EditFlags; + WCHAR AppName[64]; + HICON hIconLarge; + HICON hIconSmall; + WCHAR ProgramPath[MAX_PATH]; } FOLDER_FILE_TYPE_ENTRY, *PFOLDER_FILE_TYPE_ENTRY; // uniquely-defined icon entry for Advanced Settings @@ -174,6 +178,34 @@ Create24BppBitmap(HDC hDC, INT cx, INT cy) return hbm; } +static HBITMAP BitmapFromIcon(HICON hIcon, INT cx, INT cy) +{ + HDC hDC = CreateCompatibleDC(NULL); + if (!hDC) + return NULL; + + HBITMAP hbm = Create24BppBitmap(hDC, cx, cy); + if (!hbm) + { + DeleteDC(hDC); + return NULL; + } + + HGDIOBJ hbmOld = SelectObject(hDC, hbm); + { + RECT rc = { 0, 0, cx, cy }; + FillRect(hDC, &rc, HBRUSH(COLOR_3DFACE + 1)); + if (hIcon) + { + DrawIconEx(hDC, 0, 0, hIcon, cx, cy, 0, NULL, DI_NORMAL); + } + } + SelectObject(hDC, hbmOld); + DeleteDC(hDC); + + return hbm; +} + static HBITMAP CreateCheckImage(HDC hDC, BOOL bCheck, BOOL bEnabled = TRUE) { @@ -1338,44 +1370,148 @@ InitializeFileTypesListCtrlColumns(HWND hDlgCtrl) SendMessage(hDlgCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyle); } -INT -FindItem(HWND hDlgCtrl, WCHAR * ItemName) -{ - LVFINDINFOW findInfo; - ZeroMemory(&findInfo, sizeof(LVFINDINFOW)); - - findInfo.flags = LVFI_STRING; - findInfo.psz = ItemName; - return ListView_FindItem(hDlgCtrl, 0, &findInfo); -} - static BOOL DeleteExt(HWND hwndDlg, LPCWSTR pszExt) { if (*pszExt != L'.') return FALSE; + // open ".ext" key HKEY hKey; - LONG nResult = RegOpenKeyExW(HKEY_CLASSES_ROOT, pszExt, 0, KEY_READ, &hKey); - if (nResult != ERROR_SUCCESS) + if (RegOpenKeyExW(HKEY_CLASSES_ROOT, pszExt, 0, KEY_READ, &hKey) != ERROR_SUCCESS) return FALSE; - WCHAR szValue[64]; + // query "extfile" key name + WCHAR szValue[64] = { 0 }; DWORD cbValue = sizeof(szValue); - nResult = RegQueryValueExW(hKey, NULL, NULL, NULL, LPBYTE(szValue), &cbValue); + RegQueryValueExW(hKey, NULL, NULL, NULL, LPBYTE(szValue), &cbValue); RegCloseKey(hKey); - if (nResult != ERROR_SUCCESS) - return FALSE; + // delete "extfile" key (if any) if (szValue[0]) SHDeleteKeyW(HKEY_CLASSES_ROOT, szValue); + // delete ".ext" key return SHDeleteKeyW(HKEY_CLASSES_ROOT, pszExt) == ERROR_SUCCESS; } -static -VOID -InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile) +static inline HICON +DoExtractIcon(PFOLDER_FILE_TYPE_ENTRY Entry, LPCWSTR IconPath, + INT iIndex = 0, BOOL bSmall = FALSE) +{ + HICON hIcon = NULL; + + if (iIndex < 0) + { + // A negative value will be interpreted as a negated resource ID. + iIndex = -iIndex; + + INT cx, cy; + HINSTANCE hDLL = LoadLibraryExW(IconPath, NULL, LOAD_LIBRARY_AS_DATAFILE); + if (bSmall) + { + cx = GetSystemMetrics(SM_CXSMICON); + cy = GetSystemMetrics(SM_CYSMICON); + } + else + { + cx = GetSystemMetrics(SM_CXICON); + cy = GetSystemMetrics(SM_CYICON); + } + hIcon = HICON(LoadImageW(hDLL, MAKEINTRESOURCEW(iIndex), IMAGE_ICON, + cx, cy, 0)); + FreeLibrary(hDLL); + } + else + { + // A positive value is icon index. + if (bSmall) + ExtractIconExW(IconPath, iIndex, NULL, &hIcon, 1); + else + ExtractIconExW(IconPath, iIndex, &hIcon, NULL, 1); + } + return hIcon; +} + +static void +DoFileTypeIconLocation(PFOLDER_FILE_TYPE_ENTRY Entry, LPCWSTR IconLocation) +{ + // Expand the REG_EXPAND_SZ string by environment variables + WCHAR szLocation[MAX_PATH + 32]; + if (!ExpandEnvironmentStringsW(IconLocation, szLocation, _countof(szLocation))) + { + return; + } + + INT nIndex = PathParseIconLocationW(szLocation); + Entry->hIconLarge = DoExtractIcon(Entry, szLocation, nIndex, FALSE); + Entry->hIconSmall = DoExtractIcon(Entry, szLocation, nIndex, TRUE); +} + +static BOOL +GetFileTypeIconsEx(PFOLDER_FILE_TYPE_ENTRY Entry, LPCWSTR IconLocation) +{ + Entry->hIconLarge = Entry->hIconSmall = NULL; + + if (lstrcmpiW(Entry->FileExtension, L".exe") == 0 || + lstrcmpiW(Entry->FileExtension, L".scr") == 0) + { + // It's an executable + Entry->hIconLarge = LoadIconW(shell32_hInstance, MAKEINTRESOURCEW(IDI_SHELL_EXE)); + Entry->hIconSmall = HICON(LoadImageW(shell32_hInstance, MAKEINTRESOURCEW(IDI_SHELL_EXE), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0)); + } + else if (lstrcmpW(IconLocation, L"%1") == 0) + { + return FALSE; // self icon + } + else + { + DoFileTypeIconLocation(Entry, IconLocation); + } + + return Entry->hIconLarge && Entry->hIconSmall; +} + +static BOOL +GetFileTypeIconsByKey(HKEY hKey, PFOLDER_FILE_TYPE_ENTRY Entry) +{ + Entry->hIconLarge = Entry->hIconSmall = NULL; + + // Open the "DefaultIcon" registry key + HKEY hDefIconKey; + LONG nResult = RegOpenKeyExW(hKey, L"DefaultIcon", 0, KEY_READ, &hDefIconKey); + if (nResult != ERROR_SUCCESS) + return FALSE; + + // Get the icon location + WCHAR szLocation[MAX_PATH + 32] = { 0 }; + DWORD dwSize = sizeof(szLocation); + nResult = RegQueryValueExW(hDefIconKey, NULL, NULL, NULL, LPBYTE(szLocation), &dwSize); + + RegCloseKey(hDefIconKey); + + if (nResult != ERROR_SUCCESS || szLocation[0] == 0) + return FALSE; + + return GetFileTypeIconsEx(Entry, szLocation); +} + +static BOOL +QueryFileDescription(LPCWSTR ProgramPath, LPWSTR pszName, INT cchName) +{ + SHFILEINFOW FileInfo = { 0 }; + if (SHGetFileInfoW(ProgramPath, 0, &FileInfo, sizeof(FileInfo), SHGFI_DISPLAYNAME)) + { + StringCchCopyW(pszName, cchName, FileInfo.szDisplayName); + return TRUE; + } + + return !!GetFileTitleW(ProgramPath, pszName, cchName); +} + +static BOOL +InsertFileType(HWND hListView, LPCWSTR szName, INT iItem, LPCWSTR szFile) { PFOLDER_FILE_TYPE_ENTRY Entry; HKEY hKey; @@ -1386,20 +1522,23 @@ InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile) if (szName[0] != L'.') { /* FIXME handle URL protocol handlers */ - return; + return FALSE; } + // get imagelists of listview + HIMAGELIST himlLarge = ListView_GetImageList(hListView, LVSIL_NORMAL); + HIMAGELIST himlSmall = ListView_GetImageList(hListView, LVSIL_SMALL); + /* allocate file type entry */ Entry = (PFOLDER_FILE_TYPE_ENTRY)HeapAlloc(GetProcessHeap(), 0, sizeof(FOLDER_FILE_TYPE_ENTRY)); - if (!Entry) - return; + return FALSE; /* open key */ if (RegOpenKeyExW(HKEY_CLASSES_ROOT, szName, 0, KEY_READ, &hKey) != ERROR_SUCCESS) { HeapFree(GetProcessHeap(), 0, Entry); - return; + return FALSE; } /* FIXME check for duplicates */ @@ -1443,20 +1582,54 @@ InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile) RegQueryValueExW(hKey, L"EditFlags", NULL, NULL, (LPBYTE)&Entry->EditFlags, &dwSize); } + /* convert extension to upper case */ + wcscpy(Entry->FileExtension, szName); + _wcsupr(Entry->FileExtension); + + /* get icon */ + if (!GetFileTypeIconsByKey(hKey, Entry)) + { + // set default icon + Entry->hIconLarge = LoadIconW(shell32_hInstance, MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPTIONS)); + INT cxSmall = GetSystemMetrics(SM_CXSMICON); + INT cySmall = GetSystemMetrics(SM_CYSMICON); + Entry->hIconSmall = HICON(LoadImageW(shell32_hInstance, MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPTIONS), + IMAGE_ICON, cxSmall, cySmall, 0)); + } + /* close key */ RegCloseKey(hKey); + // get program path and app name + DWORD cch = _countof(Entry->ProgramPath); + if (S_OK == AssocQueryStringW(ASSOCF_INIT_IGNOREUNKNOWN, ASSOCSTR_EXECUTABLE, + Entry->FileExtension, NULL, Entry->ProgramPath, &cch)) + { + QueryFileDescription(Entry->ProgramPath, Entry->AppName, _countof(Entry->AppName)); + } + else + { + Entry->ProgramPath[0] = Entry->AppName[0] = 0; + } + + // add icon to imagelist + INT iLargeImage = -1, iSmallImage = -1; + if (Entry->hIconLarge && Entry->hIconSmall) + { + iLargeImage = ImageList_AddIcon(himlLarge, Entry->hIconLarge); + iSmallImage = ImageList_AddIcon(himlSmall, Entry->hIconSmall); + ASSERT(iLargeImage == iSmallImage); + } + /* Do not add excluded entries */ if (Entry->EditFlags & 0x00000001) //FTA_Exclude { + DestroyIcon(Entry->hIconLarge); + DestroyIcon(Entry->hIconSmall); HeapFree(GetProcessHeap(), 0, Entry); - return; + return FALSE; } - /* convert extension to upper case */ - wcscpy(Entry->FileExtension, szName); - _wcsupr(Entry->FileExtension); - if (!Entry->FileDescription[0]) { /* construct default 'FileExtensionFile' by formatting the uppercase extension @@ -1466,21 +1639,22 @@ InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile) } ZeroMemory(&lvItem, sizeof(LVITEMW)); - lvItem.mask = LVIF_TEXT | LVIF_PARAM; + lvItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE; lvItem.iSubItem = 0; lvItem.pszText = &Entry->FileExtension[1]; - lvItem.iItem = *iItem; + lvItem.iItem = iItem; lvItem.lParam = (LPARAM)Entry; - (void)SendMessageW(hDlgCtrl, LVM_INSERTITEMW, 0, (LPARAM)&lvItem); + lvItem.iImage = iSmallImage; + SendMessageW(hListView, LVM_INSERTITEMW, 0, (LPARAM)&lvItem); ZeroMemory(&lvItem, sizeof(LVITEMW)); lvItem.mask = LVIF_TEXT; lvItem.pszText = Entry->FileDescription; - lvItem.iItem = *iItem; + lvItem.iItem = iItem; lvItem.iSubItem = 1; - ListView_SetItem(hDlgCtrl, &lvItem); + ListView_SetItem(hListView, &lvItem); - (*iItem)++; + return TRUE; } static @@ -1512,8 +1686,19 @@ InitializeFileTypesListCtrl(HWND hwndDlg) DWORD dwName; LVITEMW lvItem; INT iItem = 0; + HIMAGELIST himlLarge, himlSmall; + + // create imagelists + himlLarge = ImageList_Create(GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), + ILC_COLOR32 | ILC_MASK, 256, 20); + himlSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), + ILC_COLOR32 | ILC_MASK, 256, 20); + + // set imagelists to listview. + hDlgCtrl = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); + ListView_SetImageList(hDlgCtrl, himlLarge, LVSIL_NORMAL); + ListView_SetImageList(hDlgCtrl, himlSmall, LVSIL_SMALL); - hDlgCtrl = GetDlgItem(hwndDlg, 14000); InitializeFileTypesListCtrlColumns(hDlgCtrl); szFile[0] = 0; @@ -1528,7 +1713,8 @@ InitializeFileTypesListCtrl(HWND hwndDlg) while (RegEnumKeyExW(HKEY_CLASSES_ROOT, dwIndex++, szName, &dwName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { - InsertFileType(hDlgCtrl, szName, &iItem, szFile); + if (InsertFileType(hDlgCtrl, szName, iItem, szFile)) + ++iItem; dwName = _countof(szName); } @@ -1553,30 +1739,21 @@ InitializeFileTypesListCtrl(HWND hwndDlg) return (PFOLDER_FILE_TYPE_ENTRY)lvItem.lParam; } -static +static inline PFOLDER_FILE_TYPE_ENTRY -FindSelectedItem( - HWND hDlgCtrl) +GetListViewEntry(HWND hListView, INT iItem = -1) { - UINT Count, Index; - LVITEMW lvItem; - - Count = ListView_GetItemCount(hDlgCtrl); - - for (Index = 0; Index < Count; Index++) + if (iItem == -1) { - ZeroMemory(&lvItem, sizeof(LVITEM)); - lvItem.mask = LVIF_PARAM | LVIF_STATE; - lvItem.iItem = Index; - lvItem.stateMask = (UINT) - 1; - - if (ListView_GetItem(hDlgCtrl, &lvItem)) - { - if (lvItem.state & LVIS_SELECTED) - return (PFOLDER_FILE_TYPE_ENTRY)lvItem.lParam; - } + iItem = ListView_GetNextItem(hListView, -1, LVNI_SELECTED); + if (iItem == -1) + return NULL; } + LV_ITEMW lvItem = { LVIF_PARAM, iItem }; + if (ListView_GetItem(hListView, &lvItem)) + return (PFOLDER_FILE_TYPE_ENTRY)lvItem.lParam; + return NULL; } @@ -1879,11 +2056,11 @@ FileTypesDlg_AddExt(HWND hwndDlg, LPCWSTR pszExt, LPCWSTR pszFileType) szFile[_countof(szFileFormat) - 1] = 0; StringCchPrintfW(szFile, _countof(szFile), szFileFormat, &szExt[1]); - // Insert an item to listview + // Insert an item to the listview HWND hListView = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW); INT iItem = ListView_GetItemCount(hListView); - INT iItemCopy = iItem; - InsertFileType(hListView, szExt, &iItemCopy, szFile); + if (!InsertFileType(hListView, szExt, iItem, szFile)) + return FALSE; LV_ITEM item; ZeroMemory(&item, sizeof(item)); @@ -1917,12 +2094,54 @@ FileTypesDlg_RemoveExt(HWND hwndDlg) ListView_GetItemText(hListView, iItem, 0, &szExt[1], _countof(szExt) - 1); CharLowerW(szExt); - if (DeleteExt(hwndDlg, szExt)) + DeleteExt(hwndDlg, szExt); + ListView_DeleteItem(hListView, iItem); + return TRUE; +} + +static void +FileTypesDlg_OnItemChanging(HWND hwndDlg, PFOLDER_FILE_TYPE_ENTRY pEntry) +{ + WCHAR Buffer[255]; + static HBITMAP s_hbmProgram = NULL; + + // format buffer and set groupbox text + CStringW strFormat(MAKEINTRESOURCEW(IDS_FILE_DETAILS)); + StringCchPrintfW(Buffer, _countof(Buffer), strFormat, &pEntry->FileExtension[1]); + SetDlgItemTextW(hwndDlg, IDC_FILETYPES_DETAILS_GROUPBOX, Buffer); + + // format buffer and set description + strFormat.LoadString(IDS_FILE_DETAILSADV); + StringCchPrintfW(Buffer, _countof(Buffer), strFormat, + &pEntry->FileExtension[1], pEntry->FileDescription, + pEntry->FileDescription); + SetDlgItemTextW(hwndDlg, IDC_FILETYPES_DESCRIPTION, Buffer); + + // delete previous program image + if (s_hbmProgram) { - ListView_DeleteItem(hListView, iItem); - return TRUE; + DeleteObject(s_hbmProgram); + s_hbmProgram = NULL; } - return FALSE; + + // set program image + HICON hIconSm = NULL; + ExtractIconExW(pEntry->ProgramPath, 0, NULL, &hIconSm, 1); + s_hbmProgram = BitmapFromIcon(hIconSm, 16, 16); + DestroyIcon(hIconSm); + SendDlgItemMessageW(hwndDlg, IDC_FILETYPES_ICON, STM_SETIMAGE, IMAGE_BITMAP, LPARAM(s_hbmProgram)); + + // set program name + if (pEntry->AppName[0]) + SetDlgItemTextW(hwndDlg, IDC_FILETYPES_APPNAME, pEntry->AppName); + else + SetDlgItemTextW(hwndDlg, IDC_FILETYPES_APPNAME, L"ReactOS"); + + /* Enable the Delete button */ + if (pEntry->EditFlags & 0x00000010) // FTA_NoRemove + EnableWindow(GetDlgItem(hwndDlg, IDC_FILETYPES_DELETE), FALSE); + else + EnableWindow(GetDlgItem(hwndDlg, IDC_FILETYPES_DELETE), TRUE); } // IDD_FOLDER_OPTIONS_FILETYPES dialog @@ -1935,8 +2154,6 @@ FolderOptionsFileTypesDlg( LPARAM lParam) { LPNMLISTVIEW lppl; - LVITEMW lvItem; - WCHAR Buffer[255], FormatBuffer[255]; PFOLDER_FILE_TYPE_ENTRY pItem; OPENASINFO Info; NEWEXT_DIALOG newext; @@ -1974,7 +2191,7 @@ FolderOptionsFileTypesDlg( } break; case IDC_FILETYPES_CHANGE: - pItem = FindSelectedItem(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); + pItem = GetListViewEntry(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); if (pItem) { Info.oaifInFlags = OAIF_ALLOW_REGISTRATION | OAIF_REGISTER_EXT; @@ -1987,54 +2204,36 @@ FolderOptionsFileTypesDlg( case WM_NOTIFY: lppl = (LPNMLISTVIEW) lParam; - - if (lppl->hdr.code == LVN_ITEMCHANGING) + switch (lppl->hdr.code) { - ZeroMemory(&lvItem, sizeof(LVITEM)); - lvItem.mask = LVIF_PARAM; - lvItem.iItem = lppl->iItem; - if (!SendMessageW(lppl->hdr.hwndFrom, LVM_GETITEMW, 0, (LPARAM)&lvItem)) - return TRUE; + case LVN_DELETEALLITEMS: + return FALSE; // send LVN_DELETEITEM - pItem = (PFOLDER_FILE_TYPE_ENTRY)lvItem.lParam; - if (!pItem) - return TRUE; - - if (!(lppl->uOldState & LVIS_FOCUSED) && (lppl->uNewState & LVIS_FOCUSED)) - { - /* new focused item */ - if (!LoadStringW(shell32_hInstance, IDS_FILE_DETAILS, FormatBuffer, sizeof(FormatBuffer) / sizeof(WCHAR))) + case LVN_DELETEITEM: + pItem = GetListViewEntry(lppl->hdr.hwndFrom, lppl->iItem); + if (pItem) { - /* use default english format string */ - wcscpy(FormatBuffer, L"Details for '%s' extension"); + DestroyIcon(pItem->hIconLarge); + DestroyIcon(pItem->hIconSmall); + HeapFree(GetProcessHeap(), 0, pItem); } + return FALSE; - /* format buffer */ - swprintf(Buffer, FormatBuffer, &pItem->FileExtension[1]); - /* update dialog */ - SetDlgItemTextW(hwndDlg, IDC_FILETYPES_DETAILS_GROUPBOX, Buffer); + case LVN_ITEMCHANGING: + pItem = GetListViewEntry(lppl->hdr.hwndFrom, lppl->iItem); + if (!pItem) + return TRUE; - if (!LoadStringW(shell32_hInstance, IDS_FILE_DETAILSADV, FormatBuffer, sizeof(FormatBuffer) / sizeof(WCHAR))) + if (!(lppl->uOldState & LVIS_FOCUSED) && (lppl->uNewState & LVIS_FOCUSED)) { - /* use default english format string */ - wcscpy(FormatBuffer, L"Files with extension '%s' are of type '%s'. To change settings that affect all '%s' files, click Advanced."); + FileTypesDlg_OnItemChanging(hwndDlg, pItem); } - /* format buffer */ - swprintf(Buffer, FormatBuffer, &pItem->FileExtension[1], &pItem->FileDescription[0], &pItem->FileDescription[0]); - /* update dialog */ - SetDlgItemTextW(hwndDlg, IDC_FILETYPES_DESCRIPTION, Buffer); + break; - /* Enable the Delete button */ - if (pItem->EditFlags & 0x00000010) // FTA_NoRemove - EnableWindow(GetDlgItem(hwndDlg, IDC_FILETYPES_DELETE), FALSE); - else - EnableWindow(GetDlgItem(hwndDlg, IDC_FILETYPES_DELETE), TRUE); - } - } - else if (lppl->hdr.code == PSN_SETACTIVE) - { - /* On page activation, set the focus to the listview */ - SetFocus(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); + case PSN_SETACTIVE: + /* On page activation, set the focus to the listview */ + SetFocus(GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW)); + break; } break; } diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 94daa0323b8..d6b3d0023e2 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "Из&триване", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Подробности за разширение '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Отваряне с:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Име на приложение", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Име на приложение", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Про&мяна...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 32 PUSHBUTTON "Раз&ширени", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index 53c5ebacfb1..7b4d4defb09 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index c7494ebf332..f4d3515946f 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -463,8 +463,8 @@ BEGIN PUSHBUTTON "O&dstranit", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Podrobnosti pro typ souborů '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Otevírat v:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Změnit...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "&Pokročilé", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc index 501648452cd..87010cbcb3c 100644 --- a/dll/win32/shell32/lang/da-DK.rc +++ b/dll/win32/shell32/lang/da-DK.rc @@ -463,8 +463,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc index 5bf042e98f4..ab0ff0db71b 100644 --- a/dll/win32/shell32/lang/de-DE.rc +++ b/dll/win32/shell32/lang/de-DE.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Löschen", IDC_FILETYPES_DELETE, 200, 140, 55, 14, WS_TABSTOP GROUPBOX "Details zum Dateityp '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 170, 249, 70 LTEXT "Öffnen mit:", -1, 12, 180, 40, 10 - //ICON - LTEXT "Name", IDC_FILETYPES_APPNAME, 100, 180, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Name", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Än&dern...", IDC_FILETYPES_CHANGE, 200, 180, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 195, 160, 30 PUSHBUTTON "&Erweitert", IDC_FILETYPES_ADVANCED, 200, 215, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc index 635fce0c1f1..7e288bd3776 100644 --- a/dll/win32/shell32/lang/el-GR.rc +++ b/dll/win32/shell32/lang/el-GR.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc index 4cd9e85dcce..338628a052c 100644 --- a/dll/win32/shell32/lang/en-GB.rc +++ b/dll/win32/shell32/lang/en-GB.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc index 5d327f02f36..2d15ab52a0f 100644 --- a/dll/win32/shell32/lang/en-US.rc +++ b/dll/win32/shell32/lang/en-US.rc @@ -458,8 +458,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc index 4d86e8c8651..d82117f568c 100644 --- a/dll/win32/shell32/lang/es-ES.rc +++ b/dll/win32/shell32/lang/es-ES.rc @@ -459,8 +459,8 @@ BEGIN PUSHBUTTON "Eli&minar", IDC_FILETYPES_DELETE, 230, 110, 50, 14, WS_TABSTOP GROUPBOX "Detalles para el tipo de archivo «%s»", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 279, 100 LTEXT "Se abre con:", -1, 12, 140, 50, 10 - //ICON - LTEXT "Aplicación", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Aplicación", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Cam&biar...", IDC_FILETYPES_CHANGE, 230, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 165, 220, 30 PUSHBUTTON "Opciones avanza&das", IDC_FILETYPES_ADVANCED, 190, 213, 90, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc index 7fe739bcf23..e8782c9a443 100644 --- a/dll/win32/shell32/lang/et-EE.rc +++ b/dll/win32/shell32/lang/et-EE.rc @@ -465,8 +465,8 @@ BEGIN PUSHBUTTON "&Kustuta", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Failitüübi '%s' üksikasjad", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Avamisprogramm:", -1, 12, 140, 60, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Muuda...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "&Täpsemalt", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc index df2a16de1bd..5f3c1d07077 100644 --- a/dll/win32/shell32/lang/fi-FI.rc +++ b/dll/win32/shell32/lang/fi-FI.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc index a1d20cbba33..b819825c508 100644 --- a/dll/win32/shell32/lang/fr-FR.rc +++ b/dll/win32/shell32/lang/fr-FR.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "Supprimer", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Détails concernant l'extension '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Ouvrir avec :", -1, 12, 140, 40, 10 - //ICON - LTEXT "Nom de l'application", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Nom de l'application", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Modifier...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "A&vancé", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc index 85a108337b2..d09efde7821 100644 --- a/dll/win32/shell32/lang/he-IL.rc +++ b/dll/win32/shell32/lang/he-IL.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc index 38521334e21..5c7f7c3311d 100644 --- a/dll/win32/shell32/lang/hu-HU.rc +++ b/dll/win32/shell32/lang/hu-HU.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc index 82feea8e7a6..69d937088ec 100644 --- a/dll/win32/shell32/lang/it-IT.rc +++ b/dll/win32/shell32/lang/it-IT.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Cancella", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Dettagli per l'estensione '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Apri con:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Nome", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Nome", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Cambia...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "A&vanzate", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc index e21a079cc75..4468fe73ad4 100644 --- a/dll/win32/shell32/lang/ja-JP.rc +++ b/dll/win32/shell32/lang/ja-JP.rc @@ -457,7 +457,7 @@ BEGIN PUSHBUTTON "削除(&D)", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "拡張子 '%s' の詳細", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "開くプログラム:", -1, 12, 140, 80, 10 - //ICON + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 LTEXT "アプリ名", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "変更(&C)...", IDC_FILETYPES_CHANGE, 180, 140, 75, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 165, 40 diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc index fa1c1b97d24..7d4ee74b811 100644 --- a/dll/win32/shell32/lang/ko-KR.rc +++ b/dll/win32/shell32/lang/ko-KR.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc index 1e46a4c924d..e0968c2f9a7 100644 --- a/dll/win32/shell32/lang/nl-NL.rc +++ b/dll/win32/shell32/lang/nl-NL.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc index 223977332a1..2fc75b45fd2 100644 --- a/dll/win32/shell32/lang/no-NO.rc +++ b/dll/win32/shell32/lang/no-NO.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Slett", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Detailjer for '%s' utvidelser", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Åpne med:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Endre...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Av&ansert", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc index e3a06f24875..82d94ab242a 100644 --- a/dll/win32/shell32/lang/pl-PL.rc +++ b/dll/win32/shell32/lang/pl-PL.rc @@ -462,8 +462,8 @@ BEGIN PUSHBUTTON "&Usuń", IDC_FILETYPES_DELETE, 195, 110, 60, 14, WS_TABSTOP GROUPBOX "Szczegóły dla rozszerzenia '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Otwiera z:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Nazwa Aplikacji", IDC_FILETYPES_APPNAME, 50, 140, 80, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Nazwa Aplikacji", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Z&mień", IDC_FILETYPES_CHANGE, 190, 140, 60, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Zaawa&nsowane", IDC_FILETYPES_ADVANCED, 190, 175, 60, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc index 19c7f068ba3..0a14d662358 100644 --- a/dll/win32/shell32/lang/pt-BR.rc +++ b/dll/win32/shell32/lang/pt-BR.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Apagar", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Detalhes para extensão '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Abrir com:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Alt&erar...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "A&vançado", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc index d15c6912cee..a7da71e7a50 100644 --- a/dll/win32/shell32/lang/pt-PT.rc +++ b/dll/win32/shell32/lang/pt-PT.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Apagar", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Detalhes para '%s' extensão", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Abre com:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appnome", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appnome", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Mudar...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "A&vançado", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index 54b0ebf0b8e..3243fc20812 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -459,8 +459,8 @@ BEGIN PUSHBUTTON "&Elimină", IDC_FILETYPES_DELETE, 200, 110, 50, 14, WS_TABSTOP GROUPBOX "Detalii pentru extensia „%s”", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Va fi deschis cu:", -1, 22, 140, 50, 10 - //ICON - LTEXT "Nume aplicație", IDC_FILETYPES_APPNAME, 100, 140, 75, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Nume aplicație", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "Spe&cificare…", IDC_FILETYPES_CHANGE, 190, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 22, 155, 160, 35 PUSHBUTTON "A&vansate…", IDC_FILETYPES_ADVANCED, 190, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc index e924f7b5720..2e7c8e5afc2 100644 --- a/dll/win32/shell32/lang/ru-RU.rc +++ b/dll/win32/shell32/lang/ru-RU.rc @@ -459,8 +459,8 @@ BEGIN PUSHBUTTON "&Удалить", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Описание расширения '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Открывать с:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Приложение", IDC_FILETYPES_APPNAME, 100, 140, 45, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Приложение", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Изменить...", IDC_FILETYPES_CHANGE, 180, 140, 65, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "До&полнительно", IDC_FILETYPES_ADVANCED, 180, 175, 65, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc index acc1f325791..c06885070cc 100644 --- a/dll/win32/shell32/lang/sk-SK.rc +++ b/dll/win32/shell32/lang/sk-SK.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "O&dstrániť", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Zmeniť...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc index 8beba1374dc..d1c20fddbde 100644 --- a/dll/win32/shell32/lang/sl-SI.rc +++ b/dll/win32/shell32/lang/sl-SI.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - ICON IDI_SHELL_PROGRAMS_FOLDER2, IDC_STATIC, 20, 20, 21, 20 - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc index 93e14c424ff..8c8a17b8f59 100644 --- a/dll/win32/shell32/lang/sq-AL.rc +++ b/dll/win32/shell32/lang/sq-AL.rc @@ -461,8 +461,8 @@ BEGIN PUSHBUTTON "&Fshi", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Detaje për '%s' zgjerim", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Hap me:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Emriapp", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Emriapp", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Ndrysho...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Avancuar", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc index fd0f1234c48..1b73e3e5d13 100644 --- a/dll/win32/shell32/lang/sv-SE.rc +++ b/dll/win32/shell32/lang/sv-SE.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "&Ta bort", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Detaljer för filändelsen '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Öppnas med:", -1, 12, 140, 50, 10 - //ICON - LTEXT "Programnamn", IDC_FILETYPES_APPNAME, 100, 140, 46, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Programnamn", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Ändra...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "A&vancerat", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc index d54c399302e..ac07ccfd685 100644 --- a/dll/win32/shell32/lang/tr-TR.rc +++ b/dll/win32/shell32/lang/tr-TR.rc @@ -459,8 +459,8 @@ BEGIN PUSHBUTTON "&Sil", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX """%s"" Uzantısı İçin Ayrıntılar", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Birlikte Açılır:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Uygulama Adı", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Uygulama Adı", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Değiştir...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "&Gelişmiş", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc index 1ff6fba8c8a..7e662ab1d5b 100644 --- a/dll/win32/shell32/lang/uk-UA.rc +++ b/dll/win32/shell32/lang/uk-UA.rc @@ -457,8 +457,8 @@ BEGIN PUSHBUTTON "В&идалити", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Подробиці для розширення '%s'", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Відкривати у:", -1, 12, 140, 48, 10 - ICON IDI_SHELL_PROGRAMS_FOLDER2, IDC_STATIC, 20, 20, 21, 20 - LTEXT "Додаток", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Додаток", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Змінити...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 40 PUSHBUTTON "&Додатково", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc index c32e28828c8..73759bc46e9 100644 --- a/dll/win32/shell32/lang/zh-CN.rc +++ b/dll/win32/shell32/lang/zh-CN.rc @@ -467,8 +467,8 @@ BEGIN PUSHBUTTON "删除(&D)", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "'%S' 扩展的详细信息", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "打开方式:", -1, 12, 140, 40, 10 - //ICON - LTEXT "应用程序名称", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "应用程序名称", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "更改...(&C)", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "高级(&V)", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc index 60aa2e7eb8e..d9c982fdc7d 100644 --- a/dll/win32/shell32/lang/zh-TW.rc +++ b/dll/win32/shell32/lang/zh-TW.rc @@ -465,8 +465,8 @@ BEGIN PUSHBUTTON "&Delete", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP GROUPBOX "Details for '%s' extension", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "Opens with:", -1, 12, 140, 40, 10 - //ICON - LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 40, 10 + CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 + LTEXT "Appname", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "&Change...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "Ad&vanced", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h index 0014ec2bfae..6e8d624533a 100644 --- a/dll/win32/shell32/shresdef.h +++ b/dll/win32/shell32/shresdef.h @@ -356,6 +356,7 @@ #define IDC_FILETYPES_CHANGE 14006 #define IDC_FILETYPES_DESCRIPTION 14007 #define IDC_FILETYPES_ADVANCED 14008 +#define IDC_FILETYPES_ICON 14009 /* Control IDs for IDD_NEWEXTENSION dialog */ #define IDC_NEWEXT_EDIT 14001