https://git.reactos.org/?p=reactos.git;a=commitdiff;h=769fcd895bc21451177ca6daa8a6d3f6f4ed71ad

commit 769fcd895bc21451177ca6daa8a6d3f6f4ed71ad
Author:     Stanislav Motylkov <[email protected]>
AuthorDate: Sat Oct 15 20:44:03 2022 +0300
Commit:     Stanislav Motylkov <[email protected]>
CommitDate: Wed Oct 19 23:24:03 2022 +0300

    [DESK] Add desktop icon change feature
    
    - All functions now implemented, except no support for themes.
    - Fixed listview height to avoid vertical scrollbar in Windows.
    - Refactored existing code for show/hide desktop icons.
    
    CORE-3567 CORE-8427
---
 dll/cpl/desk/background.c  |   8 +-
 dll/cpl/desk/desk.h        |  22 +++-
 dll/cpl/desk/desktop.c     | 286 +++++++++++++++++++++++++++++++++++++++++++--
 dll/cpl/desk/lang/bg-BG.rc |   2 +-
 dll/cpl/desk/lang/cs-CZ.rc |   2 +-
 dll/cpl/desk/lang/de-DE.rc |   2 +-
 dll/cpl/desk/lang/el-GR.rc |   2 +-
 dll/cpl/desk/lang/en-GB.rc |   2 +-
 dll/cpl/desk/lang/en-US.rc |   2 +-
 dll/cpl/desk/lang/es-ES.rc |   2 +-
 dll/cpl/desk/lang/et-EE.rc |   2 +-
 dll/cpl/desk/lang/fr-FR.rc |   2 +-
 dll/cpl/desk/lang/he-IL.rc |   2 +-
 dll/cpl/desk/lang/hu-HU.rc |   2 +-
 dll/cpl/desk/lang/id-ID.rc |   2 +-
 dll/cpl/desk/lang/it-IT.rc |   2 +-
 dll/cpl/desk/lang/ja-JP.rc |   2 +-
 dll/cpl/desk/lang/nl-NL.rc |   2 +-
 dll/cpl/desk/lang/no-NO.rc |   2 +-
 dll/cpl/desk/lang/pl-PL.rc |   2 +-
 dll/cpl/desk/lang/pt-BR.rc |   2 +-
 dll/cpl/desk/lang/pt-PT.rc |   2 +-
 dll/cpl/desk/lang/ro-RO.rc |   2 +-
 dll/cpl/desk/lang/ru-RU.rc |   2 +-
 dll/cpl/desk/lang/sk-SK.rc |   2 +-
 dll/cpl/desk/lang/sq-AL.rc |   2 +-
 dll/cpl/desk/lang/sv-SE.rc |   2 +-
 dll/cpl/desk/lang/tr-TR.rc |   2 +-
 dll/cpl/desk/lang/uk-UA.rc |   2 +-
 dll/cpl/desk/lang/zh-CN.rc |   2 +-
 dll/cpl/desk/lang/zh-HK.rc |   2 +-
 dll/cpl/desk/lang/zh-TW.rc |   2 +-
 32 files changed, 327 insertions(+), 47 deletions(-)

diff --git a/dll/cpl/desk/background.c b/dll/cpl/desk/background.c
index ccf30377d18..931ef142c5e 100644
--- a/dll/cpl/desk/background.c
+++ b/dll/cpl/desk/background.c
@@ -1146,19 +1146,15 @@ static VOID
 OnCustomButton(HWND hwndDlg, PBACKGROUND_DATA pData)
 {
     HPROPSHEETPAGE hpsp[1] = {0};
-    PROPSHEETHEADER psh;
-    PROPSHEETPAGE psp;
+    PROPSHEETHEADER psh = {sizeof(psh)};
+    PROPSHEETPAGE psp = {sizeof(psp)};
 
-    ZeroMemory(&psh, sizeof(psh));
-    psh.dwSize = sizeof(psh);
     psh.dwFlags = PSH_NOAPPLYNOW;
     psh.hwndParent = GetParent(hwndDlg);
     psh.hInstance = hApplet;
     psh.pszCaption = MAKEINTRESOURCE(IDS_DESKTOP_ITEMS);
     psh.phpage = hpsp;
 
-    ZeroMemory(&psp, sizeof(psp));
-    psp.dwSize = sizeof(psp);
     psp.dwFlags = PSP_DEFAULT;
     psp.hInstance = hApplet;
     psp.pszTemplate = MAKEINTRESOURCE(IDD_DESKTOP_GENERAL);
diff --git a/dll/cpl/desk/desk.h b/dll/cpl/desk/desk.h
index d8a2355f31b..a4c4dfd9c5f 100644
--- a/dll/cpl/desk/desk.h
+++ b/dll/cpl/desk/desk.h
@@ -81,8 +81,8 @@ ULONG __cdecl DbgPrint(PCCH Format,...);
 #define MAX_DESK_PAGES        32
 #define NUM_SPECTRUM_BITMAPS  3
 
-/* This number must match DesktopIcons array size */
-#define NUM_DESKTOP_ICONS  4
+#define NUM_DESKTOP_ICONS  4  /* DesktopIcons array size */
+#define NUM_CHANGE_ICONS   5  /* IconChange array size */
 
 typedef struct
 {
@@ -90,15 +90,33 @@ typedef struct
     BOOL bHideNewStart; /* Hide icon in Modern Start menu mode */
 } HIDE_ICON;
 
+typedef struct _ICON_PATH
+{
+    TCHAR szPath[MAX_PATH];
+} ICON_PATH;
+
+typedef struct _ICON_DATA
+{
+    TCHAR szPath[MAX_PATH];
+    TCHAR szTitle[40];
+} ICON_DATA;
+
 typedef struct _DESKTOP_DATA
 {
     BOOL bSettingsChanged;
     HIDE_ICON optIcons[NUM_DESKTOP_ICONS];
     BOOL bHideChanged[NUM_DESKTOP_ICONS];
+    BOOL bIconChanged[NUM_CHANGE_ICONS];
+    ICON_PATH Icon[NUM_CHANGE_ICONS];
+    ICON_PATH DefIcon[NUM_CHANGE_ICONS];
 
     BOOL bLocalSettingsChanged;
     BOOL bLocalHideIcon[NUM_DESKTOP_ICONS];
     BOOL bLocalHideChanged[NUM_DESKTOP_ICONS];
+    BOOL bLocalIconChanged[NUM_CHANGE_ICONS];
+    ICON_DATA LocalIcon[NUM_CHANGE_ICONS];
+    HIMAGELIST hLocalImageList;
+    INT iLocalCurIcon;
 } DESKTOP_DATA, *PDESKTOP_DATA;
 
 /* As slider control can't contain user data, we have to keep an
diff --git a/dll/cpl/desk/desktop.c b/dll/cpl/desk/desktop.c
index 46c3ec25ec2..8655a013174 100644
--- a/dll/cpl/desk/desktop.c
+++ b/dll/cpl/desk/desktop.c
@@ -7,7 +7,24 @@
 
 #include "desk.h"
 
-#define FCIDM_DESKBROWSER_REFRESH    0xA220  /* From shresdef.h */
+#include <shlwapi.h>
+#include <shellapi.h>
+
+/* From shresdef.h */
+#define FCIDM_DESKBROWSER_REFRESH    0xA220
+
+#define IDS_TITLE_MYCOMP  30386
+#define IDS_TITLE_MYNET   30387
+#define IDS_TITLE_BIN_1   30388
+#define IDS_TITLE_BIN_0   30389
+
+/* Workaround:
+ * There's no special fallback icon title string
+ * for My Documents in shell32.dll, so use IDS_PERSONAL.
+ *
+ * Windows does this in some different way.
+ */
+#define IDS_PERSONAL  9227
 
 static const TCHAR szHideDesktopIcons[] = 
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons");
 static const TCHAR szClassicStartMenu[] = TEXT("ClassicStartMenu");
@@ -24,11 +41,30 @@ struct
     {TEXT("{871C5380-42A0-1069-A2EA-08002B30309D}"), IDC_ICONS_INTERNET}, /* 
Internet Browser */
 };
 
+static const TCHAR szUserClass[] = 
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\CLSID\\");
+static const TCHAR szSysClass[] = TEXT("CLSID\\");
+static const TCHAR szDefaultIcon[] = TEXT("\\DefaultIcon");
+static const TCHAR szFallbackIcon[] = 
TEXT("%SystemRoot%\\system32\\shell32.dll,0");
+
+struct
+{
+    LPCTSTR CLSID;
+    UINT TitleId;
+    LPCTSTR IconName;
+} IconChange[NUM_CHANGE_ICONS] = {
+    {TEXT("{20D04FE0-3AEA-1069-A2D8-08002B30309D}"), IDS_TITLE_MYCOMP, NULL},  
       /* My Computer */
+    {TEXT("{450D8FBA-AD25-11D0-98A8-0800361B1103}"), IDS_PERSONAL, NULL},      
       /* My Documents */
+    {TEXT("{208D2C60-3AEA-1069-A2D7-08002B30309D}"), IDS_TITLE_MYNET, NULL},   
       /* My Network Places */
+    {TEXT("{645FF040-5081-101B-9F08-00AA002F954E}"), IDS_TITLE_BIN_1, 
TEXT("Full")},  /* Recycle Bin (full) */
+    {TEXT("{645FF040-5081-101B-9F08-00AA002F954E}"), IDS_TITLE_BIN_0, 
TEXT("Empty")}, /* Recycle Bin (empty) */
+};
+
 VOID
 InitDesktopSettings(PDESKTOP_DATA pData)
 {
     HKEY regKey, iconKey1, iconKey2;
     UINT i;
+    DWORD dwType, cbData;
 
     /* Default values */
     for (i = 0; i < _countof(pData->optIcons); i++)
@@ -41,7 +77,7 @@ InitDesktopSettings(PDESKTOP_DATA pData)
     if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons,
                      0, KEY_QUERY_VALUE, &regKey) != ERROR_SUCCESS)
     {
-        return;
+        goto LoadIcons;
     }
 
     if (RegOpenKeyEx(regKey, szClassicStartMenu, 0, KEY_QUERY_VALUE, 
&iconKey1) != ERROR_SUCCESS)
@@ -53,7 +89,7 @@ InitDesktopSettings(PDESKTOP_DATA pData)
     for (i = 0; i < _countof(pData->optIcons); i++)
     {
         LSTATUS res;
-        DWORD dwType, dwData, cbData;
+        DWORD dwData;
 
         if (iconKey1)
         {
@@ -81,6 +117,47 @@ InitDesktopSettings(PDESKTOP_DATA pData)
         RegCloseKey(iconKey2);
 
     RegCloseKey(regKey);
+
+LoadIcons:
+    for (i = 0; i < _countof(IconChange); i++)
+    {
+        TCHAR iconPath[MAX_PATH];
+        TCHAR szData[MAX_PATH];
+
+        /* Current icons */
+        StringCchCopy(iconPath, _countof(iconPath), szUserClass);
+        StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID);
+        StringCchCat(iconPath, _countof(iconPath), szDefaultIcon);
+        cbData = sizeof(szData);
+
+        if (SHGetValue(HKEY_CURRENT_USER, iconPath, IconChange[i].IconName, 
&dwType,
+                       &szData, &cbData) == ERROR_SUCCESS &&
+            (dwType == REG_SZ || dwType == REG_EXPAND_SZ))
+        {
+            StringCchCopy(pData->Icon[i].szPath, 
_countof(pData->Icon[i].szPath), szData);
+        }
+
+        /* Default icons */
+        /* FIXME: Get default icons from theme data, fallback to CLSID data on 
error. */
+        StringCchCopy(iconPath, _countof(iconPath), szSysClass);
+        StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID);
+        StringCchCat(iconPath, _countof(iconPath), szDefaultIcon);
+        cbData = sizeof(szData);
+
+        if (SHGetValue(HKEY_CLASSES_ROOT, iconPath, IconChange[i].IconName, 
&dwType,
+                       &szData, &cbData) == ERROR_SUCCESS &&
+            (dwType == REG_SZ || dwType == REG_EXPAND_SZ))
+        {
+            StringCchCopy(pData->DefIcon[i].szPath, 
_countof(pData->DefIcon[i].szPath), szData);
+        }
+
+        /* Emergency fallback */
+        if (lstrlen(pData->DefIcon[i].szPath) == 0)
+            StringCchCopy(pData->DefIcon[i].szPath, 
_countof(pData->DefIcon[i].szPath), szFallbackIcon);
+
+        if (lstrlen(pData->Icon[i].szPath) == 0)
+            StringCchCopy(pData->Icon[i].szPath, 
_countof(pData->Icon[i].szPath), pData->DefIcon[i].szPath);
+    }
 }
 
 BOOL
@@ -93,13 +170,21 @@ SaveDesktopSettings(PDESKTOP_DATA pData)
 
     for (i = 0; i < _countof(DesktopIcons); i++)
     {
-        if (pData->bLocalHideChanged[i])
-            pData->bHideChanged[i] = TRUE;
-        else
+        if (!pData->bLocalHideChanged[i])
             continue;
 
         pData->optIcons[i].bHideClassic =
         pData->optIcons[i].bHideNewStart = pData->bLocalHideIcon[i];
+        pData->bHideChanged[i] = TRUE;
+    }
+
+    for (i = 0; i < _countof(IconChange); i++)
+    {
+        if (!pData->bLocalIconChanged[i])
+            continue;
+
+        StringCchCopy(pData->Icon[i].szPath, _countof(pData->Icon[i].szPath), 
pData->LocalIcon[i].szPath);
+        pData->bIconChanged[i] = TRUE;
     }
 
     pData->bSettingsChanged = TRUE;
@@ -187,24 +272,55 @@ SetDesktopSettings(PDESKTOP_DATA pData)
         pData->bHideChanged[i] = FALSE;
     }
 
+    for (i = 0; i < _countof(IconChange); i++)
+    {
+        TCHAR iconPath[MAX_PATH];
+        DWORD dwType = (pData->Icon[i].szPath[0] == TEXT('%') ? REG_EXPAND_SZ 
: REG_SZ);
+
+        if (!pData->bIconChanged[i])
+            continue;
+
+        StringCchCopy(iconPath, _countof(iconPath), szUserClass);
+        StringCchCat(iconPath, _countof(iconPath), IconChange[i].CLSID);
+        StringCchCat(iconPath, _countof(iconPath), szDefaultIcon);
+
+        SHSetValue(HKEY_CURRENT_USER, iconPath, IconChange[i].IconName, dwType,
+                   pData->Icon[i].szPath, sizeof(pData->Icon[i].szPath));
+        if (IconChange[i].TitleId == IDS_TITLE_BIN_0)
+        {
+            /* Also apply to the root value */
+            SHSetValue(HKEY_CURRENT_USER, iconPath, NULL, dwType,
+                       pData->Icon[i].szPath, sizeof(pData->Icon[i].szPath));
+        }
+        pData->bIconChanged[i] = FALSE;
+    }
+
     pData->bSettingsChanged = FALSE;
 
     /* Refresh the desktop */
     PostMessage(GetShellWindow(), WM_COMMAND, FCIDM_DESKBROWSER_REFRESH, 0);
 }
 
+static HICON
+GetIconFromLocation(LPTSTR szIconPath)
+{
+    INT iIndex;
+    TCHAR szPath[MAX_PATH];
+
+    ExpandEnvironmentStrings(szIconPath, szPath, _countof(szPath));
+    iIndex = PathParseIconLocation(szPath);
+    return ExtractIcon(hApplet, szPath, iIndex);
+}
+
 static VOID
 DesktopOnInitDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData)
 {
     UINT i;
     SHELLSTATE ss = {0};
+    HWND hwndList;
 
     SHGetSetSettings(&ss, SSF_STARTPANELON, FALSE);
 
-    /* Disable unimplemented features */
-    EnableWindow(GetDlgItem(hwndDlg, IDC_ICONS_CHANGEICON), FALSE);
-    EnableWindow(GetDlgItem(hwndDlg, IDC_ICONS_SETDEFAULT), FALSE);
-
     for (i = 0; i < _countof(pData->optIcons); i++)
     {
         BOOL bHide;
@@ -222,9 +338,86 @@ DesktopOnInitDialog(IN HWND hwndDlg, IN PDESKTOP_DATA 
pData)
         pData->bLocalHideChanged[i] = FALSE;
     }
 
+    pData->iLocalCurIcon = 0;
+    hwndList = GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW);
+    pData->hLocalImageList = ImageList_Create(GetSystemMetrics(SM_CXICON), 
GetSystemMetrics(SM_CYICON), ILC_COLOR32 | ILC_MASK, 1, 1);
+    ListView_SetImageList(hwndList, pData->hLocalImageList, LVSIL_NORMAL);
+
+    for (i = 0; i < _countof(IconChange); i++)
+    {
+        TCHAR szClassPath[MAX_PATH];
+        DWORD dwType, cbData;
+        LVITEM lvitem = {0};
+        HICON hIcon;
+
+        StringCchCopy(pData->LocalIcon[i].szPath, 
_countof(pData->LocalIcon[i].szPath), pData->Icon[i].szPath);
+        pData->bLocalIconChanged[i] = FALSE;
+
+        /* Try loading user-defined desktop icon title */
+        StringCchCopy(szClassPath, _countof(szClassPath), szUserClass);
+        StringCchCat(szClassPath, _countof(szClassPath), IconChange[i].CLSID);
+        cbData = sizeof(pData->LocalIcon[i].szTitle);
+
+        if (SHGetValue(HKEY_CURRENT_USER, szClassPath, IconChange[i].IconName, 
&dwType,
+                       pData->LocalIcon[i].szTitle, &cbData) != ERROR_SUCCESS 
|| dwType != REG_SZ)
+        {
+            /* Try loading system-defined class icon title */
+            StringCchCopy(szClassPath, _countof(szClassPath), szSysClass);
+            StringCchCat(szClassPath, _countof(szClassPath), 
IconChange[i].CLSID);
+            cbData = sizeof(pData->LocalIcon[i].szTitle);
+
+            if (SHGetValue(HKEY_CLASSES_ROOT, szClassPath, 
IconChange[i].IconName, &dwType,
+                           pData->LocalIcon[i].szTitle, &cbData) != 
ERROR_SUCCESS || dwType != REG_SZ)
+            {
+                /* Fallback to predefined strings */
+                LoadString(GetModuleHandle(TEXT("shell32.dll")),
+                           IconChange[i].TitleId,
+                           pData->LocalIcon[i].szTitle,
+                           _countof(pData->LocalIcon[i].szTitle));
+            }
+        }
+
+        hIcon = GetIconFromLocation(pData->LocalIcon[i].szPath);
+
+        lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
+        lvitem.iItem = i;
+        lvitem.iSubItem = 0;
+        lvitem.pszText = pData->LocalIcon[i].szTitle;
+        lvitem.lParam = (LPARAM)i;
+
+        if (hIcon)
+        {
+            if (pData->hLocalImageList)
+                lvitem.iImage = ImageList_AddIcon(pData->hLocalImageList, 
hIcon);
+            DestroyIcon(hIcon);
+        }
+
+        if (ListView_InsertItem(hwndList, &lvitem) < 0)
+            continue;
+
+        if (i > 0)
+            continue;
+
+        lvitem.state = LVIS_FOCUSED | LVIS_SELECTED;
+        lvitem.stateMask = LVIS_FOCUSED | LVIS_SELECTED;
+        SendMessage(hwndList, LVM_SETITEMSTATE, 0, (LPARAM)&lvitem);
+    }
+
     pData->bLocalSettingsChanged = FALSE;
 }
 
+static VOID
+DesktopOnDestroyDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData)
+{
+    if (pData->hLocalImageList)
+    {
+        ListView_SetImageList(GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW), NULL, 
LVSIL_NORMAL);
+        ImageList_Destroy(pData->hLocalImageList);
+    }
+
+    SetWindowLongPtr(hwndDlg, DWLP_USER, 0);
+}
+
 /* Property page dialog callback */
 INT_PTR CALLBACK
 DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM 
lParam)
@@ -245,6 +438,12 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM 
wParam, IN LPARAM lPara
             break;
         }
 
+        case WM_DESTROY:
+        {
+            DesktopOnDestroyDialog(hwndDlg, pData);
+            break;
+        }
+
         case WM_COMMAND:
         {
             DWORD controlId = LOWORD(wParam);
@@ -253,6 +452,7 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM 
wParam, IN LPARAM lPara
             if (command == BN_CLICKED)
             {
                 UINT i;
+                BOOL bUpdateIcon = FALSE;
 
                 for (i = 0; i < _countof(DesktopIcons); i++)
                 {
@@ -268,6 +468,72 @@ DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM 
wParam, IN LPARAM lPara
                         break;
                     }
                 }
+
+                if (controlId == IDC_ICONS_CHANGEICON)
+                {
+                    TCHAR szPath[MAX_PATH];
+                    INT iIndex;
+                    i = pData->iLocalCurIcon;
+
+                    ExpandEnvironmentStrings(pData->LocalIcon[i].szPath, 
szPath, _countof(szPath));
+                    iIndex = PathParseIconLocation(szPath);
+
+                    if (PickIconDlg(hwndDlg, szPath, _countof(szPath), 
&iIndex))
+                    {
+                        StringCchCopy(pData->LocalIcon[i].szPath, 
_countof(pData->LocalIcon[i].szPath), szPath);
+                        PathUnExpandEnvStrings(pData->LocalIcon[i].szPath, 
szPath, _countof(szPath));
+
+                        StringCchPrintf(pData->LocalIcon[i].szPath, 
_countof(pData->LocalIcon[i].szPath), TEXT("%s,%d"), szPath, iIndex);
+                        bUpdateIcon = TRUE;
+                    }
+                }
+                else if (controlId == IDC_ICONS_SETDEFAULT)
+                {
+                    i = pData->iLocalCurIcon;
+
+                    StringCchCopy(pData->LocalIcon[i].szPath, 
_countof(pData->LocalIcon[i].szPath), pData->DefIcon[i].szPath);
+                    bUpdateIcon = TRUE;
+                }
+
+                if (bUpdateIcon)
+                {
+                    HWND hwndList = GetDlgItem(hwndDlg, IDC_ICONS_LISTVIEW);
+                    HICON hIcon;
+
+                    hIcon = GetIconFromLocation(pData->LocalIcon[i].szPath);
+
+                    if (hIcon)
+                    {
+                        if (pData->hLocalImageList)
+                            ImageList_ReplaceIcon(pData->hLocalImageList, i, 
hIcon);
+                        DestroyIcon(hIcon);
+                    }
+
+                    pData->bLocalSettingsChanged =
+                    pData->bLocalIconChanged[i] = TRUE;
+
+                    InvalidateRect(hwndList, NULL, TRUE);
+                    SetFocus(hwndList);
+                    PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
+                }
+            }
+            break;
+        }
+
+        case WM_NOTIFY:
+        {
+            LPNMLISTVIEW nm = (LPNMLISTVIEW)lParam;
+
+            switch (nm->hdr.code)
+            {
+                case LVN_ITEMCHANGED:
+                {
+                    if ((nm->uNewState & LVIS_SELECTED) == 0)
+                        return FALSE;
+
+                    pData->iLocalCurIcon = nm->iItem;
+                    break;
+                }
             }
             break;
         }
diff --git a/dll/cpl/desk/lang/bg-BG.rc b/dll/cpl/desk/lang/bg-BG.rc
index b7414665474..a5059005234 100644
--- a/dll/cpl/desk/lang/bg-BG.rc
+++ b/dll/cpl/desk/lang/bg-BG.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/cs-CZ.rc b/dll/cpl/desk/lang/cs-CZ.rc
index b034dec698e..d6d88ad8675 100644
--- a/dll/cpl/desk/lang/cs-CZ.rc
+++ b/dll/cpl/desk/lang/cs-CZ.rc
@@ -174,7 +174,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/de-DE.rc b/dll/cpl/desk/lang/de-DE.rc
index e85d8b33b45..02431c516ea 100644
--- a/dll/cpl/desk/lang/de-DE.rc
+++ b/dll/cpl/desk/lang/de-DE.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/el-GR.rc b/dll/cpl/desk/lang/el-GR.rc
index 534a7faa403..27252c68dcb 100644
--- a/dll/cpl/desk/lang/el-GR.rc
+++ b/dll/cpl/desk/lang/el-GR.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/en-GB.rc b/dll/cpl/desk/lang/en-GB.rc
index 3592d7f56fa..6383c7d4875 100644
--- a/dll/cpl/desk/lang/en-GB.rc
+++ b/dll/cpl/desk/lang/en-GB.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/en-US.rc b/dll/cpl/desk/lang/en-US.rc
index ae565338b8c..411cd18f945 100644
--- a/dll/cpl/desk/lang/en-US.rc
+++ b/dll/cpl/desk/lang/en-US.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/es-ES.rc b/dll/cpl/desk/lang/es-ES.rc
index 37aaf72c7a1..3dd30982468 100644
--- a/dll/cpl/desk/lang/es-ES.rc
+++ b/dll/cpl/desk/lang/es-ES.rc
@@ -178,7 +178,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/et-EE.rc b/dll/cpl/desk/lang/et-EE.rc
index 8ea2a628df7..cf00fa00835 100644
--- a/dll/cpl/desk/lang/et-EE.rc
+++ b/dll/cpl/desk/lang/et-EE.rc
@@ -175,7 +175,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/fr-FR.rc b/dll/cpl/desk/lang/fr-FR.rc
index 68cb9b3ada0..c030bca984f 100644
--- a/dll/cpl/desk/lang/fr-FR.rc
+++ b/dll/cpl/desk/lang/fr-FR.rc
@@ -170,7 +170,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/he-IL.rc b/dll/cpl/desk/lang/he-IL.rc
index 96ac34a5908..3221ed3826e 100644
--- a/dll/cpl/desk/lang/he-IL.rc
+++ b/dll/cpl/desk/lang/he-IL.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/hu-HU.rc b/dll/cpl/desk/lang/hu-HU.rc
index b41198cf5b6..29da6e1970d 100644
--- a/dll/cpl/desk/lang/hu-HU.rc
+++ b/dll/cpl/desk/lang/hu-HU.rc
@@ -170,7 +170,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/id-ID.rc b/dll/cpl/desk/lang/id-ID.rc
index b8f7562efe7..a7bc74dcdfb 100644
--- a/dll/cpl/desk/lang/id-ID.rc
+++ b/dll/cpl/desk/lang/id-ID.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/it-IT.rc b/dll/cpl/desk/lang/it-IT.rc
index 085b7532c37..e36da0757bd 100644
--- a/dll/cpl/desk/lang/it-IT.rc
+++ b/dll/cpl/desk/lang/it-IT.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/ja-JP.rc b/dll/cpl/desk/lang/ja-JP.rc
index 95f0f905186..abe7c33c073 100644
--- a/dll/cpl/desk/lang/ja-JP.rc
+++ b/dll/cpl/desk/lang/ja-JP.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/nl-NL.rc b/dll/cpl/desk/lang/nl-NL.rc
index 20087cbef2b..8f3968c77f3 100644
--- a/dll/cpl/desk/lang/nl-NL.rc
+++ b/dll/cpl/desk/lang/nl-NL.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/no-NO.rc b/dll/cpl/desk/lang/no-NO.rc
index 2a1d579457f..3666848e243 100644
--- a/dll/cpl/desk/lang/no-NO.rc
+++ b/dll/cpl/desk/lang/no-NO.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/pl-PL.rc b/dll/cpl/desk/lang/pl-PL.rc
index 88a16461c11..9da7f5dd7a0 100644
--- a/dll/cpl/desk/lang/pl-PL.rc
+++ b/dll/cpl/desk/lang/pl-PL.rc
@@ -178,7 +178,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/pt-BR.rc b/dll/cpl/desk/lang/pt-BR.rc
index 285b03f6a44..a8e464cdc4b 100644
--- a/dll/cpl/desk/lang/pt-BR.rc
+++ b/dll/cpl/desk/lang/pt-BR.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/pt-PT.rc b/dll/cpl/desk/lang/pt-PT.rc
index 1cb57ff5ec5..ed19f7af889 100644
--- a/dll/cpl/desk/lang/pt-PT.rc
+++ b/dll/cpl/desk/lang/pt-PT.rc
@@ -173,7 +173,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/ro-RO.rc b/dll/cpl/desk/lang/ro-RO.rc
index 1ea25523657..2eb4f4d6948 100644
--- a/dll/cpl/desk/lang/ro-RO.rc
+++ b/dll/cpl/desk/lang/ro-RO.rc
@@ -177,7 +177,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/ru-RU.rc b/dll/cpl/desk/lang/ru-RU.rc
index 297c7af6968..4748c658596 100644
--- a/dll/cpl/desk/lang/ru-RU.rc
+++ b/dll/cpl/desk/lang/ru-RU.rc
@@ -168,7 +168,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "С&менить значок...", IDC_ICONS_CHANGEICON, 74, 120, 70, 15
     PUSHBUTTON "&Обычный значок", IDC_ICONS_SETDEFAULT, 148, 120, 70, 15
 END
diff --git a/dll/cpl/desk/lang/sk-SK.rc b/dll/cpl/desk/lang/sk-SK.rc
index c2690e1fd71..441482091f2 100644
--- a/dll/cpl/desk/lang/sk-SK.rc
+++ b/dll/cpl/desk/lang/sk-SK.rc
@@ -170,7 +170,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/sq-AL.rc b/dll/cpl/desk/lang/sq-AL.rc
index 5fb89c884c7..9171f600ec4 100644
--- a/dll/cpl/desk/lang/sq-AL.rc
+++ b/dll/cpl/desk/lang/sq-AL.rc
@@ -172,7 +172,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/sv-SE.rc b/dll/cpl/desk/lang/sv-SE.rc
index 04162a6bf3d..fa24dbef343 100644
--- a/dll/cpl/desk/lang/sv-SE.rc
+++ b/dll/cpl/desk/lang/sv-SE.rc
@@ -170,7 +170,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/tr-TR.rc b/dll/cpl/desk/lang/tr-TR.rc
index fae981f4e41..cdf7cbecf0e 100644
--- a/dll/cpl/desk/lang/tr-TR.rc
+++ b/dll/cpl/desk/lang/tr-TR.rc
@@ -170,7 +170,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/uk-UA.rc b/dll/cpl/desk/lang/uk-UA.rc
index f06aaf57b14..90bb1bf0bc3 100644
--- a/dll/cpl/desk/lang/uk-UA.rc
+++ b/dll/cpl/desk/lang/uk-UA.rc
@@ -176,7 +176,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/zh-CN.rc b/dll/cpl/desk/lang/zh-CN.rc
index 7263f939c24..24bc3dff196 100644
--- a/dll/cpl/desk/lang/zh-CN.rc
+++ b/dll/cpl/desk/lang/zh-CN.rc
@@ -178,7 +178,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/zh-HK.rc b/dll/cpl/desk/lang/zh-HK.rc
index 2b303b993a7..dcbb4faf644 100644
--- a/dll/cpl/desk/lang/zh-HK.rc
+++ b/dll/cpl/desk/lang/zh-HK.rc
@@ -176,7 +176,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END
diff --git a/dll/cpl/desk/lang/zh-TW.rc b/dll/cpl/desk/lang/zh-TW.rc
index eeab9320238..2162bf84de5 100644
--- a/dll/cpl/desk/lang/zh-TW.rc
+++ b/dll/cpl/desk/lang/zh-TW.rc
@@ -177,7 +177,7 @@ BEGIN
             BS_AUTOCHECKBOX | WS_TABSTOP, 116, 28, 100, 12
     CONTROL "", IDC_ICONS_LISTVIEW, "SysListView32",
             LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | 
WS_BORDER | WS_TABSTOP | WS_HSCROLL,
-            6, 60, 212, 54
+            6, 60, 212, 56
     PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
     PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
 END


Reply via email to