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

commit bb43363416d81aeef0996adec84237a01c9f1e3d
Author:     Stanislav Motylkov <x86co...@gmail.com>
AuthorDate: Sun Apr 15 02:04:48 2018 +0300
Commit:     Stanislav Motylkov <x86co...@gmail.com>
CommitDate: Mon Oct 10 18:30:25 2022 +0300

    [DESK] Implement dialog to manipulate desktop icons (#4766)
    
    For now only add ability to show or hide desktop icons.
    
    CORE-8427
---
 dll/cpl/desk/CMakeLists.txt |   1 +
 dll/cpl/desk/background.c   |  47 ++++++++
 dll/cpl/desk/desk.h         |  32 +++++
 dll/cpl/desk/desktop.c      | 277 ++++++++++++++++++++++++++++++++++++++++++++
 dll/cpl/desk/lang/bg-BG.rc  |  27 +++++
 dll/cpl/desk/lang/cs-CZ.rc  |  27 +++++
 dll/cpl/desk/lang/de-DE.rc  |  27 +++++
 dll/cpl/desk/lang/el-GR.rc  |  27 +++++
 dll/cpl/desk/lang/en-GB.rc  |  27 +++++
 dll/cpl/desk/lang/en-US.rc  |  27 +++++
 dll/cpl/desk/lang/es-ES.rc  |  27 +++++
 dll/cpl/desk/lang/et-EE.rc  |  27 +++++
 dll/cpl/desk/lang/fr-FR.rc  |  27 +++++
 dll/cpl/desk/lang/he-IL.rc  |  27 +++++
 dll/cpl/desk/lang/hu-HU.rc  |  27 +++++
 dll/cpl/desk/lang/id-ID.rc  |  27 +++++
 dll/cpl/desk/lang/it-IT.rc  |  27 +++++
 dll/cpl/desk/lang/ja-JP.rc  |  27 +++++
 dll/cpl/desk/lang/nl-NL.rc  |  27 +++++
 dll/cpl/desk/lang/no-NO.rc  |  27 +++++
 dll/cpl/desk/lang/pl-PL.rc  |  27 +++++
 dll/cpl/desk/lang/pt-BR.rc  |  27 +++++
 dll/cpl/desk/lang/pt-PT.rc  |  27 +++++
 dll/cpl/desk/lang/ro-RO.rc  |  27 +++++
 dll/cpl/desk/lang/ru-RU.rc  |  27 +++++
 dll/cpl/desk/lang/sk-SK.rc  |  27 +++++
 dll/cpl/desk/lang/sq-AL.rc  |  27 +++++
 dll/cpl/desk/lang/sv-SE.rc  |  27 +++++
 dll/cpl/desk/lang/tr-TR.rc  |  27 +++++
 dll/cpl/desk/lang/uk-UA.rc  |  27 +++++
 dll/cpl/desk/lang/zh-CN.rc  |  27 +++++
 dll/cpl/desk/lang/zh-HK.rc  |  27 +++++
 dll/cpl/desk/lang/zh-TW.rc  |  27 +++++
 dll/cpl/desk/resource.h     |  12 ++
 34 files changed, 1152 insertions(+)

diff --git a/dll/cpl/desk/CMakeLists.txt b/dll/cpl/desk/CMakeLists.txt
index b67c167873d..3531b4ec024 100644
--- a/dll/cpl/desk/CMakeLists.txt
+++ b/dll/cpl/desk/CMakeLists.txt
@@ -8,6 +8,7 @@ list(APPEND SOURCE
     background.c
     classinst.c
     desk.c
+    desktop.c
     devsett.c
     dibitmap.c
     misc.c
diff --git a/dll/cpl/desk/background.c b/dll/cpl/desk/background.c
index 36deadb5e45..ccf30377d18 100644
--- a/dll/cpl/desk/background.c
+++ b/dll/cpl/desk/background.c
@@ -63,6 +63,8 @@ typedef struct _BACKGROUND_DATA
     int listViewItemCount;
 
     ULONG_PTR gdipToken;
+
+    DESKTOP_DATA desktopData;
 } BACKGROUND_DATA, *PBACKGROUND_DATA;
 
 GLOBAL_DATA g_GlobalData;
@@ -1140,6 +1142,43 @@ SetDesktopBackColor(HWND hwndDlg, PBACKGROUND_DATA pData)
     RegCloseKey(hKey);
 }
 
+static VOID
+OnCustomButton(HWND hwndDlg, PBACKGROUND_DATA pData)
+{
+    HPROPSHEETPAGE hpsp[1] = {0};
+    PROPSHEETHEADER psh;
+    PROPSHEETPAGE 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);
+    psp.pfnDlgProc = DesktopPageProc;
+    psp.lParam = (LPARAM)&pData->desktopData;
+
+    hpsp[0] = CreatePropertySheetPage(&psp);
+    if (!hpsp[0])
+        return;
+
+    psh.nPages++;
+
+    if (PropertySheet(&psh) > 0)
+    {
+        if (SaveDesktopSettings(&pData->desktopData))
+            PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
+    }
+}
+
+
 INT_PTR CALLBACK
 BackgroundPageProc(HWND hwndDlg,
                    UINT uMsg,
@@ -1162,6 +1201,7 @@ BackgroundPageProc(HWND hwndDlg,
             gdipStartup.SuppressExternalCodecs = FALSE;
             GdiplusStartup(&pData->gdipToken, &gdipStartup, NULL);
             InitBackgroundDialog(hwndDlg, pData);
+            InitDesktopSettings(&pData->desktopData);
             break;
 
         case WM_COMMAND:
@@ -1191,6 +1231,11 @@ BackgroundPageProc(HWND hwndDlg,
                             PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                         }
                         break;
+
+                    case IDC_DESKTOP_CUSTOM:
+                        if (command == BN_CLICKED)
+                            OnCustomButton(hwndDlg, pData);
+                        break;
                 }
             } break;
 
@@ -1218,6 +1263,8 @@ BackgroundPageProc(HWND hwndDlg,
                             SetWallpaper(pData);
                         if (pData->bClrBackgroundChanged)
                             SetDesktopBackColor(hwndDlg, pData);
+                        if (pData->desktopData.bSettingsChanged)
+                            SetDesktopSettings(&pData->desktopData);
                         SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 
(LPARAM)_T(""));
                         return TRUE;
 
diff --git a/dll/cpl/desk/desk.h b/dll/cpl/desk/desk.h
index efc21306281..d8a2355f31b 100644
--- a/dll/cpl/desk/desk.h
+++ b/dll/cpl/desk/desk.h
@@ -81,6 +81,26 @@ 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
+
+typedef struct
+{
+    BOOL bHideClassic;  /* Hide icon in Classic mode */
+    BOOL bHideNewStart; /* Hide icon in Modern Start menu mode */
+} HIDE_ICON;
+
+typedef struct _DESKTOP_DATA
+{
+    BOOL bSettingsChanged;
+    HIDE_ICON optIcons[NUM_DESKTOP_ICONS];
+    BOOL bHideChanged[NUM_DESKTOP_ICONS];
+
+    BOOL bLocalSettingsChanged;
+    BOOL bLocalHideIcon[NUM_DESKTOP_ICONS];
+    BOOL bLocalHideChanged[NUM_DESKTOP_ICONS];
+} DESKTOP_DATA, *PDESKTOP_DATA;
+
 /* As slider control can't contain user data, we have to keep an
  * array of RESOLUTION_INFO to have our own associated data.
  */
@@ -143,6 +163,18 @@ AdvGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, 
LPARAM lParam);
 BOOL
 SwitchDisplayMode(HWND hwndDlg, PWSTR DeviceName, PSETTINGS_ENTRY seInit, 
PSETTINGS_ENTRY seNew, OUT PLONG rc);
 
+INT_PTR CALLBACK
+DesktopPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+VOID
+InitDesktopSettings(PDESKTOP_DATA pData);
+
+BOOL
+SaveDesktopSettings(PDESKTOP_DATA pData);
+
+VOID
+SetDesktopSettings(PDESKTOP_DATA pData);
+
 LONG
 RegLoadMUIStringW(IN HKEY hKey,
                   IN LPCWSTR pszValue  OPTIONAL,
diff --git a/dll/cpl/desk/desktop.c b/dll/cpl/desk/desktop.c
new file mode 100644
index 00000000000..46c3ec25ec2
--- /dev/null
+++ b/dll/cpl/desk/desktop.c
@@ -0,0 +1,277 @@
+/*
+ * PROJECT:     ReactOS Display Control Panel
+ * LICENSE:     GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
+ * PURPOSE:     Desktop customization property page
+ * COPYRIGHT:   Copyright 2018-2022 Stanislav Motylkov <x86co...@gmail.com>
+ */
+
+#include "desk.h"
+
+#define FCIDM_DESKBROWSER_REFRESH    0xA220  /* From shresdef.h */
+
+static const TCHAR szHideDesktopIcons[] = 
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\HideDesktopIcons");
+static const TCHAR szClassicStartMenu[] = TEXT("ClassicStartMenu");
+static const TCHAR szNewStartPanel[] = TEXT("NewStartPanel");
+
+struct
+{
+    LPCTSTR CLSID;
+    UINT Checkbox;
+} DesktopIcons[NUM_DESKTOP_ICONS] = {
+    {TEXT("{450D8FBA-AD25-11D0-98A8-0800361B1103}"), IDC_ICONS_MYDOCS},   /* 
My Documents */
+    {TEXT("{208D2C60-3AEA-1069-A2D7-08002B30309D}"), IDC_ICONS_MYNET},    /* 
My Network Places */
+    {TEXT("{20D04FE0-3AEA-1069-A2D8-08002B30309D}"), IDC_ICONS_MYCOMP},   /* 
My Computer */
+    {TEXT("{871C5380-42A0-1069-A2EA-08002B30309D}"), IDC_ICONS_INTERNET}, /* 
Internet Browser */
+};
+
+VOID
+InitDesktopSettings(PDESKTOP_DATA pData)
+{
+    HKEY regKey, iconKey1, iconKey2;
+    UINT i;
+
+    /* Default values */
+    for (i = 0; i < _countof(pData->optIcons); i++)
+    {
+        // pData->optIcons[i].bHideClassic is FALSE by default
+        pData->optIcons[i].bHideNewStart = TRUE;
+    }
+
+    /* Load desktop icon settings from the registry */
+    if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons,
+                     0, KEY_QUERY_VALUE, &regKey) != ERROR_SUCCESS)
+    {
+        return;
+    }
+
+    if (RegOpenKeyEx(regKey, szClassicStartMenu, 0, KEY_QUERY_VALUE, 
&iconKey1) != ERROR_SUCCESS)
+        iconKey1 = NULL;
+
+    if (RegOpenKeyEx(regKey, szNewStartPanel, 0, KEY_QUERY_VALUE, &iconKey2) 
!= ERROR_SUCCESS)
+        iconKey2 = NULL;
+
+    for (i = 0; i < _countof(pData->optIcons); i++)
+    {
+        LSTATUS res;
+        DWORD dwType, dwData, cbData;
+
+        if (iconKey1)
+        {
+            cbData = sizeof(dwData);
+            res = RegQueryValueEx(iconKey1, DesktopIcons[i].CLSID, NULL, 
&dwType, (LPBYTE)&dwData, &cbData);
+
+            if (res == ERROR_SUCCESS && dwType == REG_DWORD && cbData == 
sizeof(dwData))
+                pData->optIcons[i].bHideClassic = !!dwData;
+        }
+
+        if (iconKey2)
+        {
+            cbData = sizeof(dwData);
+            res = RegQueryValueEx(iconKey2, DesktopIcons[i].CLSID, NULL, 
&dwType, (LPBYTE)&dwData, &cbData);
+
+            if (res == ERROR_SUCCESS && dwType == REG_DWORD && cbData == 
sizeof(dwData))
+                pData->optIcons[i].bHideNewStart = !!dwData;
+        }
+    }
+
+    if (iconKey1)
+        RegCloseKey(iconKey1);
+
+    if (iconKey2)
+        RegCloseKey(iconKey2);
+
+    RegCloseKey(regKey);
+}
+
+BOOL
+SaveDesktopSettings(PDESKTOP_DATA pData)
+{
+    UINT i;
+
+    if (!pData->bLocalSettingsChanged)
+        return FALSE;
+
+    for (i = 0; i < _countof(DesktopIcons); i++)
+    {
+        if (pData->bLocalHideChanged[i])
+            pData->bHideChanged[i] = TRUE;
+        else
+            continue;
+
+        pData->optIcons[i].bHideClassic =
+        pData->optIcons[i].bHideNewStart = pData->bLocalHideIcon[i];
+    }
+
+    pData->bSettingsChanged = TRUE;
+    return TRUE;
+}
+
+static BOOL
+GetCurrentValue(UINT i, BOOL bNewStart)
+{
+    HKEY regKey, iconKey;
+    LSTATUS res;
+    DWORD dwType, cbData;
+    BOOL bRet;
+
+    /* Set default value */
+    bRet = bNewStart;
+
+    if (RegOpenKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons,
+                     0, KEY_QUERY_VALUE, &regKey) != ERROR_SUCCESS)
+    {
+        return bRet;
+    }
+
+    if (RegOpenKeyEx(regKey, (bNewStart ? szNewStartPanel : 
szClassicStartMenu),
+                     0, KEY_QUERY_VALUE, &iconKey) != ERROR_SUCCESS)
+    {
+        RegCloseKey(regKey);
+        return bRet;
+    }
+
+    cbData = sizeof(bRet);
+    res = RegQueryValueEx(iconKey, DesktopIcons[i].CLSID, NULL, &dwType, 
(LPBYTE)&bRet, &cbData);
+
+    if (res != ERROR_SUCCESS || dwType != REG_DWORD || cbData != sizeof(bRet))
+        bRet = bNewStart;
+
+    RegCloseKey(iconKey);
+    RegCloseKey(regKey);
+
+    return bRet;
+}
+
+static VOID
+SetCurrentValue(UINT i, BOOL bNewStart, BOOL bValue)
+{
+    HKEY regKey, iconKey;
+
+    if (RegCreateKeyEx(HKEY_CURRENT_USER, szHideDesktopIcons,
+                       0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE,
+                       NULL, &regKey, NULL) != ERROR_SUCCESS)
+    {
+        return;
+    }
+
+    if (RegCreateKeyEx(regKey, (bNewStart ? szNewStartPanel : 
szClassicStartMenu),
+                       0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE,
+                       NULL, &iconKey, NULL) != ERROR_SUCCESS)
+    {
+        RegCloseKey(regKey);
+        return;
+    }
+
+    RegSetValueEx(iconKey, DesktopIcons[i].CLSID, 0, REG_DWORD, 
(LPBYTE)&bValue, sizeof(bValue));
+
+    RegCloseKey(iconKey);
+    RegCloseKey(regKey);
+}
+
+VOID
+SetDesktopSettings(PDESKTOP_DATA pData)
+{
+    UINT i;
+
+    for (i = 0; i < _countof(DesktopIcons); i++)
+    {
+        if (!pData->bHideChanged[i])
+            continue;
+
+        if (GetCurrentValue(i, FALSE) != pData->optIcons[i].bHideClassic)
+            SetCurrentValue(i, FALSE, pData->optIcons[i].bHideClassic);
+
+        if (GetCurrentValue(i, TRUE) != pData->optIcons[i].bHideNewStart)
+            SetCurrentValue(i, TRUE, pData->optIcons[i].bHideNewStart);
+
+        pData->bHideChanged[i] = FALSE;
+    }
+
+    pData->bSettingsChanged = FALSE;
+
+    /* Refresh the desktop */
+    PostMessage(GetShellWindow(), WM_COMMAND, FCIDM_DESKBROWSER_REFRESH, 0);
+}
+
+static VOID
+DesktopOnInitDialog(IN HWND hwndDlg, IN PDESKTOP_DATA pData)
+{
+    UINT i;
+    SHELLSTATE ss = {0};
+
+    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;
+
+        if (ss.fStartPanelOn)
+            bHide = pData->optIcons[i].bHideNewStart;
+        else
+            bHide = pData->optIcons[i].bHideClassic;
+
+        CheckDlgButton(hwndDlg,
+                       DesktopIcons[i].Checkbox,
+                       bHide ? BST_UNCHECKED : BST_CHECKED);
+
+        pData->bLocalHideIcon[i] = bHide;
+        pData->bLocalHideChanged[i] = FALSE;
+    }
+
+    pData->bLocalSettingsChanged = FALSE;
+}
+
+/* Property page dialog callback */
+INT_PTR CALLBACK
+DesktopPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM 
lParam)
+{
+    PDESKTOP_DATA pData;
+
+    pData = (PDESKTOP_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+        {
+            LPPROPSHEETPAGE ppsp = (LPPROPSHEETPAGE)lParam;
+            pData = (PDESKTOP_DATA)ppsp->lParam;
+
+            SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pData);
+            DesktopOnInitDialog(hwndDlg, pData);
+            break;
+        }
+
+        case WM_COMMAND:
+        {
+            DWORD controlId = LOWORD(wParam);
+            DWORD command   = HIWORD(wParam);
+
+            if (command == BN_CLICKED)
+            {
+                UINT i;
+
+                for (i = 0; i < _countof(DesktopIcons); i++)
+                {
+                    if (DesktopIcons[i].Checkbox == controlId)
+                    {
+                        pData->bLocalHideIcon[i] =
+                            (IsDlgButtonChecked(hwndDlg, 
DesktopIcons[i].Checkbox) == BST_UNCHECKED);
+
+                        pData->bLocalSettingsChanged =
+                        pData->bLocalHideChanged[i] = TRUE;
+
+                        PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
+                        break;
+                    }
+                }
+            }
+            break;
+        }
+    }
+
+    return FALSE;
+}
diff --git a/dll/cpl/desk/lang/bg-BG.rc b/dll/cpl/desk/lang/bg-BG.rc
index 4dae3f7b9ae..b7414665474 100644
--- a/dll/cpl/desk/lang/bg-BG.rc
+++ b/dll/cpl/desk/lang/bg-BG.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Цвят...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Разположение", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "Раз&ширени...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Общи"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Много монитори)"
diff --git a/dll/cpl/desk/lang/cs-CZ.rc b/dll/cpl/desk/lang/cs-CZ.rc
index 9d083f1936e..b034dec698e 100644
--- a/dll/cpl/desk/lang/cs-CZ.rc
+++ b/dll/cpl/desk/lang/cs-CZ.rc
@@ -32,6 +32,7 @@ BEGIN
     PUSHBUTTON "&Barva...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Umístění", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -157,6 +158,27 @@ BEGIN
     PUSHBUTTON "&Upřesnit", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Obecné"
@@ -215,6 +237,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Více monitorů)"
diff --git a/dll/cpl/desk/lang/de-DE.rc b/dll/cpl/desk/lang/de-DE.rc
index ddf5cb6ed79..e85d8b33b45 100644
--- a/dll/cpl/desk/lang/de-DE.rc
+++ b/dll/cpl/desk/lang/de-DE.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Farbe...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Ausrichtung", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "&Erweitert", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Allgemein"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Mehrere Monitore)"
diff --git a/dll/cpl/desk/lang/el-GR.rc b/dll/cpl/desk/lang/el-GR.rc
index 6678325805b..534a7faa403 100644
--- a/dll/cpl/desk/lang/el-GR.rc
+++ b/dll/cpl/desk/lang/el-GR.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Χρώμα...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Θέση", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "Για &προχωρημένους...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Πολλαπλές οθόνες)"
diff --git a/dll/cpl/desk/lang/en-GB.rc b/dll/cpl/desk/lang/en-GB.rc
index 11609378370..3592d7f56fa 100644
--- a/dll/cpl/desk/lang/en-GB.rc
+++ b/dll/cpl/desk/lang/en-GB.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Colour...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Placement", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "Ad&vanced...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiple Monitors)"
diff --git a/dll/cpl/desk/lang/en-US.rc b/dll/cpl/desk/lang/en-US.rc
index 2de5355fc14..ae565338b8c 100644
--- a/dll/cpl/desk/lang/en-US.rc
+++ b/dll/cpl/desk/lang/en-US.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Color...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Placement", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "Ad&vanced...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiple Monitors)"
diff --git a/dll/cpl/desk/lang/es-ES.rc b/dll/cpl/desk/lang/es-ES.rc
index 244ec1931f4..37aaf72c7a1 100644
--- a/dll/cpl/desk/lang/es-ES.rc
+++ b/dll/cpl/desk/lang/es-ES.rc
@@ -36,6 +36,7 @@ BEGIN
     PUSHBUTTON "C&olor...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Po&sición", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -161,6 +162,27 @@ BEGIN
     PUSHBUTTON "Opciones &avanzadas", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -219,6 +241,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "Suavizado de FreeType"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Múltiples monitores)"
diff --git a/dll/cpl/desk/lang/et-EE.rc b/dll/cpl/desk/lang/et-EE.rc
index 74b1198e85b..8ea2a628df7 100644
--- a/dll/cpl/desk/lang/et-EE.rc
+++ b/dll/cpl/desk/lang/et-EE.rc
@@ -33,6 +33,7 @@ BEGIN
     PUSHBUTTON "&Värv...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Paigutus", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -158,6 +159,27 @@ BEGIN
     PUSHBUTTON "&Täpsemalt...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Üldist"
@@ -216,6 +238,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiaseeritud"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Mitu monitori)"
diff --git a/dll/cpl/desk/lang/fr-FR.rc b/dll/cpl/desk/lang/fr-FR.rc
index 1cf8f9868c1..68cb9b3ada0 100644
--- a/dll/cpl/desk/lang/fr-FR.rc
+++ b/dll/cpl/desk/lang/fr-FR.rc
@@ -28,6 +28,7 @@ BEGIN
     PUSHBUTTON "&Couleur...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Position :", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -153,6 +154,27 @@ BEGIN
     PUSHBUTTON "A&vancé...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 299, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Général"
@@ -211,6 +233,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Moniteurs multiples)"
diff --git a/dll/cpl/desk/lang/he-IL.rc b/dll/cpl/desk/lang/he-IL.rc
index 60e1156616d..96ac34a5908 100644
--- a/dll/cpl/desk/lang/he-IL.rc
+++ b/dll/cpl/desk/lang/he-IL.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "צבע...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "מיקום", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "מתקדם...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "כללי"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(צגים מרובים)"
diff --git a/dll/cpl/desk/lang/hu-HU.rc b/dll/cpl/desk/lang/hu-HU.rc
index 1f3d1b70309..b41198cf5b6 100644
--- a/dll/cpl/desk/lang/hu-HU.rc
+++ b/dll/cpl/desk/lang/hu-HU.rc
@@ -28,6 +28,7 @@ BEGIN
     PUSHBUTTON "&Színek...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Elrendezés", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -153,6 +154,27 @@ BEGIN
     PUSHBUTTON "&Haladóknak...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Általános"
@@ -211,6 +233,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType élsimított"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Több képernyő)"
diff --git a/dll/cpl/desk/lang/id-ID.rc b/dll/cpl/desk/lang/id-ID.rc
index 5e85b95bbca..b8f7562efe7 100644
--- a/dll/cpl/desk/lang/id-ID.rc
+++ b/dll/cpl/desk/lang/id-ID.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Warna...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Penempatan", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "&Lanjutan...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Umum"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "Antialias FreeType"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Monitor Banyak)"
diff --git a/dll/cpl/desk/lang/it-IT.rc b/dll/cpl/desk/lang/it-IT.rc
index e96ec2d79d6..085b7532c37 100644
--- a/dll/cpl/desk/lang/it-IT.rc
+++ b/dll/cpl/desk/lang/it-IT.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Colore...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Posizione", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "A&vanzate...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Generale"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Monitor Multipli)"
diff --git a/dll/cpl/desk/lang/ja-JP.rc b/dll/cpl/desk/lang/ja-JP.rc
index e98ce8bca89..95f0f905186 100644
--- a/dll/cpl/desk/lang/ja-JP.rc
+++ b/dll/cpl/desk/lang/ja-JP.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "色(&C)...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "表示位置:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "詳細設定(&V)...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "全般"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(マルチ モニタ)"
diff --git a/dll/cpl/desk/lang/nl-NL.rc b/dll/cpl/desk/lang/nl-NL.rc
index 6487d1ee77e..20087cbef2b 100644
--- a/dll/cpl/desk/lang/nl-NL.rc
+++ b/dll/cpl/desk/lang/nl-NL.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Kleur...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Weergave", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "&Geavanceerd...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiple Monitors)"
diff --git a/dll/cpl/desk/lang/no-NO.rc b/dll/cpl/desk/lang/no-NO.rc
index 9fa117f234e..2a1d579457f 100644
--- a/dll/cpl/desk/lang/no-NO.rc
+++ b/dll/cpl/desk/lang/no-NO.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Farger...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Plassering", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "A&vansert...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Generielt"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Sammensatt skjermer)"
diff --git a/dll/cpl/desk/lang/pl-PL.rc b/dll/cpl/desk/lang/pl-PL.rc
index 8409da7729a..88a16461c11 100644
--- a/dll/cpl/desk/lang/pl-PL.rc
+++ b/dll/cpl/desk/lang/pl-PL.rc
@@ -36,6 +36,7 @@ BEGIN
     PUSHBUTTON "&Kolor...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Położenie", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -161,6 +162,27 @@ BEGIN
     PUSHBUTTON "Zaawa&nsowane...", IDC_SETTINGS_ADVANCED, 171, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Ogólne"
@@ -219,6 +241,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Kilka Monitorów)"
diff --git a/dll/cpl/desk/lang/pt-BR.rc b/dll/cpl/desk/lang/pt-BR.rc
index ea7bbfcc074..285b03f6a44 100644
--- a/dll/cpl/desk/lang/pt-BR.rc
+++ b/dll/cpl/desk/lang/pt-BR.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Cor...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Po&sição:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "Ava&nçadas...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Geral"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiplos monitores)"
diff --git a/dll/cpl/desk/lang/pt-PT.rc b/dll/cpl/desk/lang/pt-PT.rc
index 5275419926f..1cb57ff5ec5 100644
--- a/dll/cpl/desk/lang/pt-PT.rc
+++ b/dll/cpl/desk/lang/pt-PT.rc
@@ -31,6 +31,7 @@ BEGIN
     PUSHBUTTON "&Cor...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Po&sição:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 216
@@ -156,6 +157,27 @@ BEGIN
     PUSHBUTTON "&Avançadas...", IDC_SETTINGS_ADVANCED, 170, 199, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Geral"
@@ -215,6 +237,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiplos monitores)"
diff --git a/dll/cpl/desk/lang/ro-RO.rc b/dll/cpl/desk/lang/ro-RO.rc
index 6e760eea95a..1ea25523657 100644
--- a/dll/cpl/desk/lang/ro-RO.rc
+++ b/dll/cpl/desk/lang/ro-RO.rc
@@ -35,6 +35,7 @@ BEGIN
     PUSHBUTTON "C&uloare…", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Amplasament", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -160,6 +161,27 @@ BEGIN
     PUSHBUTTON "A&vansate…", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Generale"
@@ -218,6 +240,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(ecrane multiple)"
diff --git a/dll/cpl/desk/lang/ru-RU.rc b/dll/cpl/desk/lang/ru-RU.rc
index afe0555ac7f..297c7af6968 100644
--- a/dll/cpl/desk/lang/ru-RU.rc
+++ b/dll/cpl/desk/lang/ru-RU.rc
@@ -26,6 +26,7 @@ BEGIN
     PUSHBUTTON "&Цвет...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Расположение", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "&Настройка рабочего стола...", IDC_DESKTOP_CUSTOM, 8, 194, 
116, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -151,6 +152,27 @@ BEGIN
     PUSHBUTTON "До&полнительно", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Общие"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Значки рабочего стола", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "Мои &документы", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "&Сетевое окружение", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "Мой &компьютер", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Интернет браузер", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "С&менить значок...", IDC_ICONS_CHANGEICON, 74, 120, 70, 15
+    PUSHBUTTON "&Обычный значок", IDC_ICONS_SETDEFAULT, 148, 120, 70, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Общие"
@@ -209,6 +231,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Сглаживание"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Элементы рабочего стола"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(несколько экранов)"
diff --git a/dll/cpl/desk/lang/sk-SK.rc b/dll/cpl/desk/lang/sk-SK.rc
index ce7e673f425..c2690e1fd71 100644
--- a/dll/cpl/desk/lang/sk-SK.rc
+++ b/dll/cpl/desk/lang/sk-SK.rc
@@ -28,6 +28,7 @@ BEGIN
     PUSHBUTTON "&Farba...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Umiestnenie", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -153,6 +154,27 @@ BEGIN
     PUSHBUTTON "&Spresniť...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Všeobecné"
@@ -211,6 +233,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Viacero monitorov)"
diff --git a/dll/cpl/desk/lang/sq-AL.rc b/dll/cpl/desk/lang/sq-AL.rc
index 5722554caab..5fb89c884c7 100644
--- a/dll/cpl/desk/lang/sq-AL.rc
+++ b/dll/cpl/desk/lang/sq-AL.rc
@@ -30,6 +30,7 @@ BEGIN
     PUSHBUTTON "&Ngjyra...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Vendosje", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -155,6 +156,27 @@ BEGIN
     PUSHBUTTON "Përparuar...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Përgjithshëm"
@@ -213,6 +235,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiple Monitors)"
diff --git a/dll/cpl/desk/lang/sv-SE.rc b/dll/cpl/desk/lang/sv-SE.rc
index 2533296827e..04162a6bf3d 100644
--- a/dll/cpl/desk/lang/sv-SE.rc
+++ b/dll/cpl/desk/lang/sv-SE.rc
@@ -28,6 +28,7 @@ BEGIN
     PUSHBUTTON "&Färg...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Placering", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -153,6 +154,27 @@ BEGIN
     PUSHBUTTON "&Avancerat...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
@@ -211,6 +233,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Multiple Monitors)"
diff --git a/dll/cpl/desk/lang/tr-TR.rc b/dll/cpl/desk/lang/tr-TR.rc
index 759472c8f13..fae981f4e41 100644
--- a/dll/cpl/desk/lang/tr-TR.rc
+++ b/dll/cpl/desk/lang/tr-TR.rc
@@ -28,6 +28,7 @@ BEGIN
     PUSHBUTTON "&Renk...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "&Yerleşim:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -153,6 +154,27 @@ BEGIN
     PUSHBUTTON "&Gelişmiş...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Genel"
@@ -211,6 +233,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Örtüşme Önlemesi"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Çoklu Monitör)"
diff --git a/dll/cpl/desk/lang/uk-UA.rc b/dll/cpl/desk/lang/uk-UA.rc
index 4343a9ad45d..f06aaf57b14 100644
--- a/dll/cpl/desk/lang/uk-UA.rc
+++ b/dll/cpl/desk/lang/uk-UA.rc
@@ -34,6 +34,7 @@ BEGIN
     PUSHBUTTON "&Колір...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "Розташування", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -159,6 +160,27 @@ BEGIN
     PUSHBUTTON "Дод&атково...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Загальні"
@@ -217,6 +239,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType Antialiased"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(Декілька моніторів)"
diff --git a/dll/cpl/desk/lang/zh-CN.rc b/dll/cpl/desk/lang/zh-CN.rc
index df8d1e8ab74..7263f939c24 100644
--- a/dll/cpl/desk/lang/zh-CN.rc
+++ b/dll/cpl/desk/lang/zh-CN.rc
@@ -36,6 +36,7 @@ BEGIN
     PUSHBUTTON "颜色(&C)...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "位置:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -161,6 +162,27 @@ BEGIN
     PUSHBUTTON "高级(&V)...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "常规"
@@ -219,6 +241,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType 反锯齿"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(多监视器)"
diff --git a/dll/cpl/desk/lang/zh-HK.rc b/dll/cpl/desk/lang/zh-HK.rc
index 62fa240f8c1..2b303b993a7 100644
--- a/dll/cpl/desk/lang/zh-HK.rc
+++ b/dll/cpl/desk/lang/zh-HK.rc
@@ -34,6 +34,7 @@ BEGIN
     PUSHBUTTON "顏色(&C)...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "位置:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -159,6 +160,27 @@ BEGIN
     PUSHBUTTON "進階(&V)...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "一般"
@@ -217,6 +239,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType 消除鋸齒"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(多顯示器)"
diff --git a/dll/cpl/desk/lang/zh-TW.rc b/dll/cpl/desk/lang/zh-TW.rc
index 8f08fefd871..eeab9320238 100644
--- a/dll/cpl/desk/lang/zh-TW.rc
+++ b/dll/cpl/desk/lang/zh-TW.rc
@@ -35,6 +35,7 @@ BEGIN
     PUSHBUTTON "顏色(&C)...", IDC_COLOR_BUTTON, 188, 167, 55, 15
     LTEXT "位置:", IDC_STATIC, 188, 128, 55, 9
     COMBOBOX IDC_PLACEMENT_COMBO, 188, 139, 55, 54, CBS_DROPDOWNLIST | 
WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON "Customize &Desktop...", IDC_DESKTOP_CUSTOM, 8, 194, 90, 15
 END
 
 IDD_SCREENSAVER DIALOGEX 0, 0, 246, 202
@@ -160,6 +161,27 @@ BEGIN
     PUSHBUTTON "進階(&V)...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15
 END
 
+IDD_DESKTOP_GENERAL DIALOGEX 0, 0, 224, 202
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    GROUPBOX "Desktop icons", IDC_STATIC, 6, 4, 212, 40
+    CONTROL "My &Documents", IDC_ICONS_MYDOCS, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 14, 100, 12
+    CONTROL "My &Network Places", IDC_ICONS_MYNET, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 116, 14, 100, 12
+    CONTROL "&My Computer", IDC_ICONS_MYCOMP, "button",
+            BS_AUTOCHECKBOX | WS_TABSTOP, 14, 28, 100, 12
+    CONTROL "&Internet Browser", IDC_ICONS_INTERNET, "button",
+            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
+    PUSHBUTTON "C&hange Icon...", IDC_ICONS_CHANGEICON, 86, 120, 64, 15
+    PUSHBUTTON "Re&store Default", IDC_ICONS_SETDEFAULT, 154, 120, 64, 15
+END
+
 IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204
 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "一般"
@@ -218,6 +240,11 @@ BEGIN
     IDS_CLEARTYPEEFFECT "FreeType 消除鋸齒"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_DESKTOP_ITEMS "Desktop Items"
+END
+
 STRINGTABLE
 BEGIN
     IDS_MULTIPLEMONITORS "(多顯示器)"
diff --git a/dll/cpl/desk/resource.h b/dll/cpl/desk/resource.h
index 7d9ed465b76..503077fe8e1 100644
--- a/dll/cpl/desk/resource.h
+++ b/dll/cpl/desk/resource.h
@@ -14,6 +14,7 @@
 #define IDD_ADVAPPEARANCE    104
 #define IDD_EFFAPPEARANCE    105
 #define IDD_THEMES           106
+#define IDD_DESKTOP_GENERAL  107
 #define IDD_ADVANCED_GENERAL 200
 #define IDD_CONFIRMSETTINGS  201
 
@@ -32,6 +33,7 @@
 #define IDC_PLACEMENT_COMBO          1005
 #define IDS_BACKGROUND_COMDLG_FILTER 1006
 #define IDC_RESOLUTION_PREVIEW       1007
+#define IDC_DESKTOP_CUSTOM           1008
 
 /* Screensaver Page */
 #define IDC_SCREENS_PREVIEW      1010
@@ -178,6 +180,16 @@
 #define IDS_STANDARDEFFECT  3711
 #define IDS_CLEARTYPEEFFECT 3712
 
+/* Desktop Items Dialog */
+#define IDS_DESKTOP_ITEMS    3900
+#define IDC_ICONS_MYDOCS     3901
+#define IDC_ICONS_MYNET      3902
+#define IDC_ICONS_MYCOMP     3903
+#define IDC_ICONS_INTERNET   3904
+#define IDC_ICONS_LISTVIEW   3905
+#define IDC_ICONS_CHANGEICON 3906
+#define IDC_ICONS_SETDEFAULT 3907
+
 /* Advanced General Dialog */
 #define IDC_FONTSIZE_COMBO   5000
 #define IDC_FONTSIZE_CUSTOM  5001

Reply via email to