https://git.reactos.org/?p=reactos.git;a=commitdiff;h=82a5983504b955d5639a58d64022ec5cd9ece8b3

commit 82a5983504b955d5639a58d64022ec5cd9ece8b3
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Sat May 19 23:12:11 2018 +0900
Commit:     Hermès BÉLUSCA - MAÏTO <[email protected]>
CommitDate: Sat May 19 16:12:11 2018 +0200

    [SHELL32] Allow deleting a file type/extension (#553)
    
    CORE-12906
---
 dll/win32/shell32/dialogs/folder_options.cpp | 62 ++++++++++++++++++++++++++++
 dll/win32/shell32/lang/bg-BG.rc              |  2 +
 dll/win32/shell32/lang/ca-ES.rc              |  2 +
 dll/win32/shell32/lang/cs-CZ.rc              |  2 +
 dll/win32/shell32/lang/da-DK.rc              |  2 +
 dll/win32/shell32/lang/de-DE.rc              |  2 +
 dll/win32/shell32/lang/el-GR.rc              |  2 +
 dll/win32/shell32/lang/en-GB.rc              |  2 +
 dll/win32/shell32/lang/en-US.rc              |  2 +
 dll/win32/shell32/lang/es-ES.rc              |  2 +
 dll/win32/shell32/lang/et-EE.rc              |  2 +
 dll/win32/shell32/lang/fi-FI.rc              |  2 +
 dll/win32/shell32/lang/fr-FR.rc              |  2 +
 dll/win32/shell32/lang/he-IL.rc              |  2 +
 dll/win32/shell32/lang/hu-HU.rc              |  2 +
 dll/win32/shell32/lang/it-IT.rc              |  2 +
 dll/win32/shell32/lang/ja-JP.rc              |  2 +
 dll/win32/shell32/lang/ko-KR.rc              |  2 +
 dll/win32/shell32/lang/nl-NL.rc              |  2 +
 dll/win32/shell32/lang/no-NO.rc              |  2 +
 dll/win32/shell32/lang/pl-PL.rc              |  2 +
 dll/win32/shell32/lang/pt-BR.rc              |  2 +
 dll/win32/shell32/lang/pt-PT.rc              |  2 +
 dll/win32/shell32/lang/ro-RO.rc              |  2 +
 dll/win32/shell32/lang/ru-RU.rc              |  2 +
 dll/win32/shell32/lang/sk-SK.rc              |  2 +
 dll/win32/shell32/lang/sl-SI.rc              |  2 +
 dll/win32/shell32/lang/sq-AL.rc              |  2 +
 dll/win32/shell32/lang/sv-SE.rc              |  2 +
 dll/win32/shell32/lang/tr-TR.rc              |  2 +
 dll/win32/shell32/lang/uk-UA.rc              |  2 +
 dll/win32/shell32/lang/zh-CN.rc              |  2 +
 dll/win32/shell32/lang/zh-TW.rc              |  2 +
 dll/win32/shell32/shresdef.h                 |  2 +
 34 files changed, 128 insertions(+)

diff --git a/dll/win32/shell32/dialogs/folder_options.cpp 
b/dll/win32/shell32/dialogs/folder_options.cpp
index b53dd8ce0d..cffee8bee1 100644
--- a/dll/win32/shell32/dialogs/folder_options.cpp
+++ b/dll/win32/shell32/dialogs/folder_options.cpp
@@ -1349,6 +1349,30 @@ FindItem(HWND hDlgCtrl, WCHAR * ItemName)
     return ListView_FindItem(hDlgCtrl, 0, &findInfo);
 }
 
+static BOOL
+DeleteExt(HWND hwndDlg, LPCWSTR pszExt)
+{
+    if (*pszExt != L'.')
+        return FALSE;
+
+    HKEY hKey;
+    LONG nResult = RegOpenKeyExW(HKEY_CLASSES_ROOT, pszExt, 0, KEY_READ, 
&hKey);
+    if (nResult != ERROR_SUCCESS)
+        return FALSE;
+
+    WCHAR szValue[64];
+    DWORD cbValue = sizeof(szValue);
+    nResult = RegQueryValueExW(hKey, NULL, NULL, NULL, LPBYTE(szValue), 
&cbValue);
+    RegCloseKey(hKey);
+    if (nResult != ERROR_SUCCESS)
+        return FALSE;
+
+    if (szValue[0])
+        SHDeleteKeyW(HKEY_CLASSES_ROOT, szValue);
+
+    return SHDeleteKeyW(HKEY_CLASSES_ROOT, pszExt) == ERROR_SUCCESS;
+}
+
 static
 VOID
 InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile)
@@ -1749,6 +1773,12 @@ NewExtDlg_OnOK(HWND hwndDlg, NEWEXT_DIALOG *pNewExt)
             return FALSE;
         }
 
+        // Delete the extension
+        CStringW strExt(L".");
+        strExt += find.psz;
+        strExt.MakeLower();
+        DeleteExt(hwndDlg, strExt);
+
         // Delete the item
         ListView_DeleteItem(pNewExt->hwndLV, iItem);
     }
@@ -1873,6 +1903,28 @@ FileTypesDlg_AddExt(HWND hwndDlg, LPCWSTR pszExt, 
LPCWSTR pszFileType)
     return TRUE;
 }
 
+static BOOL
+FileTypesDlg_RemoveExt(HWND hwndDlg)
+{
+    HWND hListView = GetDlgItem(hwndDlg, IDC_FILETYPES_LISTVIEW);
+
+    INT iItem = ListView_GetNextItem(hListView, -1, LVNI_SELECTED);
+    if (iItem == -1)
+        return FALSE;
+
+    WCHAR szExt[20];
+    szExt[0] = L'.';
+    ListView_GetItemText(hListView, iItem, 0, &szExt[1], _countof(szExt) - 1);
+    CharLowerW(szExt);
+
+    if (DeleteExt(hwndDlg, szExt))
+    {
+        ListView_DeleteItem(hListView, iItem);
+        return TRUE;
+    }
+    return FALSE;
+}
+
 // IDD_FOLDER_OPTIONS_FILETYPES dialog
 INT_PTR
 CALLBACK
@@ -1911,6 +1963,16 @@ FolderOptionsFileTypesDlg(
                         FileTypesDlg_AddExt(hwndDlg, newext.szExt, 
newext.szFileType);
                     }
                     break;
+                case IDC_FILETYPES_DELETE:
+                    {
+                        CStringW 
strRemoveExt(MAKEINTRESOURCEW(IDS_REMOVE_EXT));
+                        CStringW strTitle(MAKEINTRESOURCEW(IDS_FILE_TYPES));
+                        if (MessageBoxW(hwndDlg, strRemoveExt, strTitle, 
MB_ICONQUESTION | MB_YESNO) == IDYES)
+                        {
+                            FileTypesDlg_RemoveExt(hwndDlg);
+                        }
+                    }
+                    break;
                 case IDC_FILETYPES_CHANGE:
                     pItem = FindSelectedItem(GetDlgItem(hwndDlg, 
IDC_FILETYPES_LISTVIEW));
                     if (pItem)
diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc
index e1434cc693..94daa0323b 100644
--- a/dll/win32/shell32/lang/bg-BG.rc
+++ b/dll/win32/shell32/lang/bg-BG.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc
index 5e132b5a23..53c5ebacfb 100644
--- a/dll/win32/shell32/lang/ca-ES.rc
+++ b/dll/win32/shell32/lang/ca-ES.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc
index 88341dee0f..c7494ebf33 100644
--- a/dll/win32/shell32/lang/cs-CZ.rc
+++ b/dll/win32/shell32/lang/cs-CZ.rc
@@ -885,4 +885,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc
index 499a764aaf..501648452c 100644
--- a/dll/win32/shell32/lang/da-DK.rc
+++ b/dll/win32/shell32/lang/da-DK.rc
@@ -905,4 +905,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc
index 7413b005ac..5bf042e98f 100644
--- a/dll/win32/shell32/lang/de-DE.rc
+++ b/dll/win32/shell32/lang/de-DE.rc
@@ -900,4 +900,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc
index b52405c547..635fce0c1f 100644
--- a/dll/win32/shell32/lang/el-GR.rc
+++ b/dll/win32/shell32/lang/el-GR.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc
index 75807f8a95..4cd9e85dcc 100644
--- a/dll/win32/shell32/lang/en-GB.rc
+++ b/dll/win32/shell32/lang/en-GB.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc
index 36620174d5..5d327f02f3 100644
--- a/dll/win32/shell32/lang/en-US.rc
+++ b/dll/win32/shell32/lang/en-US.rc
@@ -900,4 +900,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc
index 560c3bc11d..4d86e8c865 100644
--- a/dll/win32/shell32/lang/es-ES.rc
+++ b/dll/win32/shell32/lang/es-ES.rc
@@ -901,4 +901,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc
index d7e7f5f7da..7fe739bcf2 100644
--- a/dll/win32/shell32/lang/et-EE.rc
+++ b/dll/win32/shell32/lang/et-EE.rc
@@ -907,4 +907,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc
index 9c047596fb..df2a16de1b 100644
--- a/dll/win32/shell32/lang/fi-FI.rc
+++ b/dll/win32/shell32/lang/fi-FI.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc
index 94934f332a..a1d20cbba3 100644
--- a/dll/win32/shell32/lang/fr-FR.rc
+++ b/dll/win32/shell32/lang/fr-FR.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc
index 21adbdaca7..85a108337b 100644
--- a/dll/win32/shell32/lang/he-IL.rc
+++ b/dll/win32/shell32/lang/he-IL.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc
index 8cfc2a4fda..38521334e2 100644
--- a/dll/win32/shell32/lang/hu-HU.rc
+++ b/dll/win32/shell32/lang/hu-HU.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc
index a676af71b6..82feea8e7a 100644
--- a/dll/win32/shell32/lang/it-IT.rc
+++ b/dll/win32/shell32/lang/it-IT.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc
index afc51ab142..e21a079cc7 100644
--- a/dll/win32/shell32/lang/ja-JP.rc
+++ b/dll/win32/shell32/lang/ja-JP.rc
@@ -896,4 +896,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc
index 19a06e0183..fa1c1b97d2 100644
--- a/dll/win32/shell32/lang/ko-KR.rc
+++ b/dll/win32/shell32/lang/ko-KR.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc
index ba0280cd18..1e46a4c924 100644
--- a/dll/win32/shell32/lang/nl-NL.rc
+++ b/dll/win32/shell32/lang/nl-NL.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc
index 9a06724890..223977332a 100644
--- a/dll/win32/shell32/lang/no-NO.rc
+++ b/dll/win32/shell32/lang/no-NO.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc
index 4040c421fe..e3a06f2487 100644
--- a/dll/win32/shell32/lang/pl-PL.rc
+++ b/dll/win32/shell32/lang/pl-PL.rc
@@ -904,4 +904,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "Musisz podać rozszerzenie."
     IDS_NEWEXT_ALREADY_ASSOC "Rozszerzenie %s jest już związane z typem plików 
%s. Czy chcesz usunąć powiązanie %s z %s i utworzyć dla niego nowy typ plików?"
     IDS_NEWEXT_EXT_IN_USE "Rozszerzenie jest w użyciu"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc
index e7da10ffee..19c7f068ba 100644
--- a/dll/win32/shell32/lang/pt-BR.rc
+++ b/dll/win32/shell32/lang/pt-BR.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc
index f0df0caf9d..d15c6912ce 100644
--- a/dll/win32/shell32/lang/pt-PT.rc
+++ b/dll/win32/shell32/lang/pt-PT.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc
index 213d1c654e..54b0ebf0b8 100644
--- a/dll/win32/shell32/lang/ro-RO.rc
+++ b/dll/win32/shell32/lang/ro-RO.rc
@@ -901,4 +901,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc
index 9999c34582..e924f7b572 100644
--- a/dll/win32/shell32/lang/ru-RU.rc
+++ b/dll/win32/shell32/lang/ru-RU.rc
@@ -901,4 +901,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc
index e43686755c..acc1f32579 100644
--- a/dll/win32/shell32/lang/sk-SK.rc
+++ b/dll/win32/shell32/lang/sk-SK.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc
index b31654d02e..8beba1374d 100644
--- a/dll/win32/shell32/lang/sl-SI.rc
+++ b/dll/win32/shell32/lang/sl-SI.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc
index 0b24962ea8..93e14c424f 100644
--- a/dll/win32/shell32/lang/sq-AL.rc
+++ b/dll/win32/shell32/lang/sq-AL.rc
@@ -903,4 +903,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc
index 1ffa90923f..fd0f1234c4 100644
--- a/dll/win32/shell32/lang/sv-SE.rc
+++ b/dll/win32/shell32/lang/sv-SE.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc
index 8bfc5be38f..d54c399302 100644
--- a/dll/win32/shell32/lang/tr-TR.rc
+++ b/dll/win32/shell32/lang/tr-TR.rc
@@ -901,4 +901,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc
index e821dde925..1ff6fba8c8 100644
--- a/dll/win32/shell32/lang/uk-UA.rc
+++ b/dll/win32/shell32/lang/uk-UA.rc
@@ -899,4 +899,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc
index e51e1b01e2..c32e28828c 100644
--- a/dll/win32/shell32/lang/zh-CN.rc
+++ b/dll/win32/shell32/lang/zh-CN.rc
@@ -909,4 +909,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc
index e0bb30c924..60aa2e7eb8 100644
--- a/dll/win32/shell32/lang/zh-TW.rc
+++ b/dll/win32/shell32/lang/zh-TW.rc
@@ -907,4 +907,6 @@ BEGIN
     IDS_NEWEXT_SPECIFY_EXT "You must specify an extension."
     IDS_NEWEXT_ALREADY_ASSOC "Extension %s is already associated with File 
Type %s. Do you want to un-associate %s with %s and create a new File Type for 
it?"
     IDS_NEWEXT_EXT_IN_USE "Extension is in use"
+
+    IDS_REMOVE_EXT "If you remove a registered file name extension, you will 
not be able to open files with this extension by double-clicking their 
icons.\n\nAre you sure you want to remove this extension?"
 END
diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h
index decbc120fc..0014ec2bfa 100644
--- a/dll/win32/shell32/shresdef.h
+++ b/dll/win32/shell32/shresdef.h
@@ -266,6 +266,8 @@
 #define IDS_NEWEXT_ALREADY_ASSOC                    30520
 #define IDS_NEWEXT_EXT_IN_USE                       30521
 
+#define IDS_REMOVE_EXT                              30522
+
 /* Dialogs */
 
 /* Run dialog */

Reply via email to