Subject: [PATCH] Support setting symlinks for 'Desktop' and 'My Documents' in winecfg.

---

 programs/winecfg/Bg.rc      |   26 +++++--
 programs/winecfg/De.rc      |   28 +++++---
 programs/winecfg/En.rc      |   52 +++++++++-----
 programs/winecfg/Es.rc      |   28 +++++---
 programs/winecfg/Fi.rc      |   28 +++++---
 programs/winecfg/Fr.rc      |   28 +++++---
 programs/winecfg/Ja.rc      |   28 +++++---
 programs/winecfg/Ko.rc      |   28 +++++---
 programs/winecfg/Nl.rc      |   28 +++++---
 programs/winecfg/No.rc      |   28 +++++---
 programs/winecfg/Ru.rc      |   28 +++++---
 programs/winecfg/driveui.c  |   22 ++++--
 programs/winecfg/main.c     |    4 +
 programs/winecfg/resource.h |   12 ++-
 programs/winecfg/theme.c    |  159 +++++++++++++++++++++++++++++++++++++++----
 programs/winecfg/winecfg.h  |    1 
 16 files changed, 385 insertions(+), 143 deletions(-)

19beecf5a1f34be2ef6804ecf119a65b7e0e912e
diff --git a/programs/winecfg/Bg.rc b/programs/winecfg/Bg.rc
index 2e2f153..27f9b5f 100644
--- a/programs/winecfg/Bg.rc
+++ b/programs/winecfg/Bg.rc
@@ -172,17 +172,25 @@ BEGIN
     CONTROL         "��������� ��������",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "����:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "���������� ����...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "����:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "������:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "����:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "���������� ����...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "����:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "������:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -196,7 +204,7 @@ BEGIN
     IDS_SHOW_ADVANCED       "������ ��������������"
     IDS_NOTHEME             "(��� ����)"
     IDS_TAB_GRAPHICS        "�������"
-    IDS_TAB_APPEARANCE      "������ ���"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "����"
     IDS_TAB_ABOUT           "�������"
     IDS_WINECFG_TITLE       "��������� �� Wine"
diff --git a/programs/winecfg/De.rc b/programs/winecfg/De.rc
index ba643cf..51746b8 100644
--- a/programs/winecfg/De.rc
+++ b/programs/winecfg/De.rc
@@ -172,17 +172,25 @@ BEGIN
     CONTROL         "Treiber Emulation",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Motiv:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Motiv installieren...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Farbe:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Gr��e:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+   GROUPBOX        " Darstellung ",IDC_STATIC,8,4,244,106
+   LTEXT           "Motiv:",IDC_STATIC,15,16,230,8
+   COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+   PUSHBUTTON      "Motiv installieren...",IDC_THEME_INSTALL,152,38,93,14
+   LTEXT           "Farbe:",IDC_THEME_COLORTEXT,15,54,230,8
+   COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+   LTEXT           "Gr��e:",IDC_THEME_SIZETEXT,15,80,230,8
+   COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+   GROUPBOX        " Shell Ordner ",IDC_STATIC,8,114,244,82
+   CONTROL         "Verkn�pfe 'Eigene Dateien' mit:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+   EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,180,13,ES_AUTOHSCROLL | WS_TABSTOP
+   PUSHBUTTON      "Durch&suchen",IDC_BROWSE_MYDOCS_PATH,200,138,46,13
+   CONTROL         "Verkn�pfe 'Desktop' mit:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+   EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,180,13,ES_AUTOHSCROLL | WS_TABSTOP
+   PUSHBUTTON      "Durch&suchen",IDC_BROWSE_DESKTOP_PATH,200,175,46,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -191,12 +199,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Anwendungen"
     IDS_TAB_DLLS            "Bibliotheken"
     IDS_TAB_DRIVES          "Laufwerke"
-    IDS_CHOOSE_PATH         "Bitte w�hlen Sie ein Unix-Verzeichnis f�r das Laufwerk."
+    IDS_CHOOSE_PATH         "Bitte w�hlen Sie das Ziel-Unix-Verzeichnis."
     IDS_HIDE_ADVANCED       "Verstecke Erweitert"
     IDS_SHOW_ADVANCED       "Zeige Erweitert"
     IDS_NOTHEME             "(Kein Motiv)"
     IDS_TAB_GRAPHICS        "Grafik"
-    IDS_TAB_APPEARANCE      "Darstellung"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Audio"
     IDS_TAB_ABOUT           "�ber"
     IDS_WINECFG_TITLE       "Wine-Konfiguration"
diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc
index 887aa81..9352f34 100644
--- a/programs/winecfg/En.rc
+++ b/programs/winecfg/En.rc
@@ -174,17 +174,25 @@ BEGIN
     CONTROL         "Driver Emulation",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Theme:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Install theme...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Color:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Size:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Theme:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Install theme...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Color:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Size:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -193,12 +201,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Applications"
     IDS_TAB_DLLS            "Libraries"
     IDS_TAB_DRIVES          "Drives"
-    IDS_CHOOSE_PATH         "Select the unix directory to be mapped, please."
+    IDS_CHOOSE_PATH         "Select the unix target directory, please."
     IDS_HIDE_ADVANCED       "Hide Advanced"
     IDS_SHOW_ADVANCED       "Show Advanced"
     IDS_NOTHEME             "(No Theme)"
     IDS_TAB_GRAPHICS        "Graphics"
-    IDS_TAB_APPEARANCE      "Appearance"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Audio"
     IDS_TAB_ABOUT           "About"
     IDS_WINECFG_TITLE       "Wine configuration"
@@ -245,15 +253,23 @@ BEGIN
     CONTROL         "Allow Pixel Shader (if supported by hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,165,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-LTEXT           "Theme:",IDC_STATIC,8,10,244,8
-COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-PUSHBUTTON      "Install theme...",IDC_THEME_INSTALL,152,32,100,14
-LTEXT           "Colour:",IDC_THEME_COLORTEXT,8,48,244,8
-COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-LTEXT           "Size:",IDC_THEME_SIZETEXT,8,74,244,8
-COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Theme:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Install theme...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Colour:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Size:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc
index 748c90f..236a141 100644
--- a/programs/winecfg/Es.rc
+++ b/programs/winecfg/Es.rc
@@ -169,17 +169,25 @@ BEGIN
     CONTROL         "Emulaci�n del manejador",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Tema:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Instalar tema...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Color:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Tama�o:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Tema:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Instalar tema...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Color:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Tama�o:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -188,12 +196,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Aplicaciones"
     IDS_TAB_DLLS            "Librer�as"
     IDS_TAB_DRIVES          "Unidades"
-    IDS_CHOOSE_PATH         "Seleccione el directorio de unix para mapear."
+    IDS_CHOOSE_PATH         "Select the unix target directory, please."
     IDS_HIDE_ADVANCED       "Ocultar avanzado"
     IDS_SHOW_ADVANCED       "Mostrar avanzado"
     IDS_NOTHEME             "(Ning�n tema)"
     IDS_TAB_GRAPHICS        "Gr�ficos"
-    IDS_TAB_APPEARANCE      "Apariencia"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Audio"
     IDS_TAB_ABOUT           "Acerca de"
     IDS_WINECFG_TITLE       "Configuraci�n de Wine"
diff --git a/programs/winecfg/Fi.rc b/programs/winecfg/Fi.rc
index 8526b2e..29db7d6 100644
--- a/programs/winecfg/Fi.rc
+++ b/programs/winecfg/Fi.rc
@@ -168,17 +168,25 @@ BEGIN
     CONTROL         "Ajurin &emulointi",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Teema:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Asenna &teema...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "V�ri:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Koko:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Teema:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Asenna &teema...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "V�ri:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Koko:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -187,12 +195,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Sovellukset"
     IDS_TAB_DLLS            "Kirjastot"
     IDS_TAB_DRIVES          "Asemat"
-    IDS_CHOOSE_PATH         "Valitse mapattava unix -kansio."
+    IDS_CHOOSE_PATH         "Select the unix target directory, please."
     IDS_HIDE_ADVANCED       "Piilota lis�asetukset"
     IDS_SHOW_ADVANCED       "N�yt� lis�asetukset"
     IDS_NOTHEME             "(Ei Teemaa)"
     IDS_TAB_GRAPHICS        "Grafiikka"
-    IDS_TAB_APPEARANCE      "Ulkoasu"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "��ni"
     IDS_TAB_ABOUT           "Tietoja"
     IDS_WINECFG_TITLE       "Winen asetukset"
diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc
index 33e3142..438bcf6 100644
--- a/programs/winecfg/Fr.rc
+++ b/programs/winecfg/Fr.rc
@@ -170,17 +170,25 @@ BEGIN
     CONTROL         "Emulation pilote",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Th�me:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Installer un th�me...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Couleur:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Taille:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Th�me:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Installer un th�me...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Couleur:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Taille:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -189,12 +197,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Applications"
     IDS_TAB_DLLS            "Biblioth�ques"
     IDS_TAB_DRIVES          "Lecteurs"
-    IDS_CHOOSE_PATH         "Veuillez s�lectionner le r�pertoire unix � assigner."
+    IDS_CHOOSE_PATH         "Select the unix target directory, please."
     IDS_HIDE_ADVANCED       "Cacher avanc�s"
     IDS_SHOW_ADVANCED       "Montrer avanc�s"
     IDS_NOTHEME             "(Pas de th�me)"
     IDS_TAB_GRAPHICS        "Affichage"
-    IDS_TAB_APPEARANCE      "Apparence"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Audio"
     IDS_TAB_ABOUT           "A propos"
     IDS_WINECFG_TITLE       "Configuration de Wine"
diff --git a/programs/winecfg/Ja.rc b/programs/winecfg/Ja.rc
index 4c8060b..66540ef 100644
--- a/programs/winecfg/Ja.rc
+++ b/programs/winecfg/Ja.rc
@@ -171,17 +171,25 @@ BEGIN
     CONTROL         "�h���C�o�E�G�~�����[�V����",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 9, "MS UI Gothic"
 BEGIN
-    LTEXT           "�e�[�}:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "�e�[�}���C���X�g�[��...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "�z�F:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "�T�C�Y:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "�e�[�}:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "�e�[�}���C���X�g�[��...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "�z�F:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "�T�C�Y:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -190,12 +198,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "�A�v���P�[�V����"
     IDS_TAB_DLLS            "���C�u����"
     IDS_TAB_DRIVES          "�h���C�u"
-    IDS_CHOOSE_PATH         "�}�b�s���O����Unix�f�B���N�g���[���I������������"
+    IDS_CHOOSE_PATH         "Select the unix target directory, please."
     IDS_HIDE_ADVANCED       "�������B��"
     IDS_SHOW_ADVANCED       "�������\��"
     IDS_NOTHEME             "(�e�[�}����)"
     IDS_TAB_GRAPHICS        "����"
-    IDS_TAB_APPEARANCE      "�O��"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "�I�[�f�B�I"
     IDS_TAB_ABOUT           "Wine��������"
     IDS_WINECFG_TITLE       "Wine����"
diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc
index 01bc003..da6bbef 100644
--- a/programs/winecfg/Ko.rc
+++ b/programs/winecfg/Ko.rc
@@ -176,17 +176,25 @@ BEGIN
     CONTROL         "�������� ����",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "����:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "���� ����...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "����:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "����:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "����:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "���� ����...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "����:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "����:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -195,12 +203,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "������"
     IDS_TAB_DLLS            "����������"
     IDS_TAB_DRIVES          "��������"
-    IDS_CHOOSE_PATH         "������ ������ ���������� ����������."
+    IDS_CHOOSE_PATH         "Select the unix target folder, please."
     IDS_HIDE_ADVANCED       "���� ���� ������"
     IDS_SHOW_ADVANCED       "���� ���� ��������"
     IDS_NOTHEME             "(���� ����)"
     IDS_TAB_GRAPHICS        "������"
-    IDS_TAB_APPEARANCE      "����"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "������"
     IDS_TAB_ABOUT           "����"
     IDS_WINECFG_TITLE       "Wine ����"
diff --git a/programs/winecfg/Nl.rc b/programs/winecfg/Nl.rc
index fd29e29..0c37449 100644
--- a/programs/winecfg/Nl.rc
+++ b/programs/winecfg/Nl.rc
@@ -169,17 +169,25 @@ BEGIN
     CONTROL         "Stuurprogramma emulatie",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "Thema:",IDC_STATIC,8,10,244,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Thema installeren...",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Kleuren:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Tekstgrootte:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Thema:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Thema installeren...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Kleuren:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "Tekstgrootte:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -188,12 +196,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Toepassingen"
     IDS_TAB_DLLS            "Bibliotheken"
     IDS_TAB_DRIVES          "Stations"
-    IDS_CHOOSE_PATH         "Selecteer een unix folder voor dit station."
+    IDS_CHOOSE_PATH         "Select the unix target folder, please."
     IDS_HIDE_ADVANCED       "Verberg uitgebreid"
     IDS_SHOW_ADVANCED       "Toon uitgebreid"
     IDS_NOTHEME             "(Geen Thema)"
     IDS_TAB_GRAPHICS        "Graphics" /* FIXME */
-    IDS_TAB_APPEARANCE      "Vormgeving"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Audio"
     IDS_TAB_ABOUT           "Info"
     IDS_WINECFG_TITLE       "Wine configuratie"
diff --git a/programs/winecfg/No.rc b/programs/winecfg/No.rc
index 91b0f75..ae90dbe 100644
--- a/programs/winecfg/No.rc
+++ b/programs/winecfg/No.rc
@@ -171,17 +171,25 @@ BEGIN
     CONTROL         "Driveremulering",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-LTEXT           "Tema:",IDC_STATIC,8,10,244,8
-COMBOBOX        IDC_THEME_THEMECOMBO,8,18,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Installer tema . . .",IDC_THEME_INSTALL,152,32,100,14
-    LTEXT           "Farge:",IDC_THEME_COLORTEXT,8,48,244,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,8,56,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "St�rrelse:",IDC_THEME_SIZETEXT,8,74,244,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,8,82,244,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "Tema:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Installer tema . . .",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "Farge:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "St�rrelse:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -190,12 +198,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "Programmer"
     IDS_TAB_DLLS            "Biblioteker"
     IDS_TAB_DRIVES          "Stasjoner"
-    IDS_CHOOSE_PATH         "Velg Unix-katalogens som skal kartlegges."
+    IDS_CHOOSE_PATH         "Select the unix target folder, please."
     IDS_HIDE_ADVANCED       "Enkel visning"
     IDS_SHOW_ADVANCED       "Avansert visning"
     IDS_NOTHEME             "(Intet tema)"
     IDS_TAB_GRAPHICS        "Grafikk"
-    IDS_TAB_APPEARANCE      "Utseende"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "Lyd"
     IDS_TAB_ABOUT           "Om"
     IDS_WINECFG_TITLE       "Oppsett av Wine"
diff --git a/programs/winecfg/Ru.rc b/programs/winecfg/Ru.rc
index 9bfe923..8f78009 100644
--- a/programs/winecfg/Ru.rc
+++ b/programs/winecfg/Ru.rc
@@ -172,17 +172,25 @@ BEGIN
     CONTROL         "����������� ��������",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,230,230,10
 END
 
-IDD_APPEARANCE DIALOG DISCARDABLE  0, 0, 260, 250
+IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
 STYLE WS_CHILD | WS_DISABLED
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT           "����:",IDC_STATIC,15,5,228,8
-    COMBOBOX        IDC_THEME_THEMECOMBO,15,13,228,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "���������� ����...",IDC_THEME_INSTALL,152,32,90,14
-    LTEXT           "����:",IDC_THEME_COLORTEXT,15,48,228,8
-    COMBOBOX        IDC_THEME_COLORCOMBO,15,56,228,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    LTEXT           "������:",IDC_THEME_SIZETEXT,15,74,228,8
-    COMBOBOX        IDC_THEME_SIZECOMBO,15,82,228,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
+    LTEXT           "����:",IDC_STATIC,15,16,230,8
+    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "���������� ����...",IDC_THEME_INSTALL,152,38,93,14
+    LTEXT           "����:",IDC_THEME_COLORTEXT,15,54,230,8
+    COMBOBOX        IDC_THEME_COLORCOMBO,15,62,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LTEXT           "������:",IDC_THEME_SIZETEXT,15,80,230,8
+    COMBOBOX        IDC_THEME_SIZECOMBO,15,88,230,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        " Shell Folders ",IDC_STATIC,8,114,244,82
+    CONTROL         "Link 'My Documents' shell folder to:",IDC_LINK_MYDOCS_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,8
+    EDITTEXT        IDC_EDIT_MYDOCS_PATH,15,138,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_MYDOCS_PATH,206,138,40,13
+    CONTROL         "Link 'Desktop' shell folder to:",IDC_LINK_DESKTOP_PATH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,163,230,8
+    EDITTEXT        IDC_EDIT_DESKTOP_PATH,15,175,186,13,ES_AUTOHSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Browse...",IDC_BROWSE_DESKTOP_PATH,206,175,40,13
 END
 
 STRINGTABLE DISCARDABLE
@@ -191,12 +199,12 @@ BEGIN
     IDS_TAB_APPLICATIONS    "����������"
     IDS_TAB_DLLS            "����������"
     IDS_TAB_DRIVES          "�����"
-    IDS_CHOOSE_PATH         "�������� unix ������� ��� �����."
+    IDS_CHOOSE_PATH         "Select the target unix folder, please."
     IDS_HIDE_ADVANCED       "������ ��������������"
     IDS_SHOW_ADVANCED       "�������� ��������������"
     IDS_NOTHEME             "(��� ����)"
     IDS_TAB_GRAPHICS        "�������"
-    IDS_TAB_APPEARANCE      "������� ���"
+    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
     IDS_TAB_AUDIO           "�����"
     IDS_TAB_ABOUT           "� ���������"
     IDS_WINECFG_TITLE       "��������� Wine"
diff --git a/programs/winecfg/driveui.c b/programs/winecfg/driveui.c
index 5f407b5..ea80889 100644
--- a/programs/winecfg/driveui.c
+++ b/programs/winecfg/driveui.c
@@ -21,6 +21,8 @@
  *
  */
 
+#include <stdio.h>
+
 #define WIN32_LEAN_AND_MEAN
 #define COBJMACROS
 
@@ -590,7 +592,7 @@ static void paint(HWND dialog)
     EndPaint(dialog, &ps);
 }
 
-static void browse_for_folder(HWND dialog)
+BOOL browse_for_unix_folder(HWND dialog, char *pszPath)
 {
     static WCHAR wszUnixRootDisplayName[] = 
         { ':',':','{','C','C','7','0','2','E','B','2','-','7','D','C','5','-','1','1','D','9','-',
@@ -613,13 +615,13 @@ static void browse_for_folder(HWND dialo
     LoadString(GetModuleHandle(NULL), IDS_CHOOSE_PATH, pszChoosePath, 256);
     
     hr = SHGetDesktopFolder(&pDesktop);
-    if (!SUCCEEDED(hr)) return;
+    if (!SUCCEEDED(hr)) return FALSE;
 
     hr = IShellFolder_ParseDisplayName(pDesktop, NULL, NULL, wszUnixRootDisplayName, NULL, 
                                        &pidlUnixRoot, NULL);
     if (!SUCCEEDED(hr)) {
         IShellFolder_Release(pDesktop);
-        return;
+        return FALSE;
     }
 
     bi.pidlRoot = pidlUnixRoot;
@@ -636,17 +638,19 @@ static void browse_for_folder(HWND dialo
         IShellFolder_Release(pDesktop);
         if (!SUCCEEDED(hr)) {
             SHFree(pidlSelectedPath);
-            return;
+            return FALSE;
         }
 
         hr = StrRetToStr(&strSelectedPath, pidlSelectedPath, &pszSelectedPath);
         SHFree(pidlSelectedPath);
-        if (!SUCCEEDED(hr)) return;
+        if (!SUCCEEDED(hr)) return FALSE;
 
-        set_text(dialog, IDC_EDIT_PATH, pszSelectedPath);
+        lstrcpy(pszPath, pszSelectedPath);
         
         CoTaskMemFree(pszSelectedPath);
+        return TRUE;
     }
+    return FALSE;
 }
 
 static void init_listview_columns(HWND dialog)
@@ -760,8 +764,12 @@ DriveDlgProc (HWND dialog, UINT msg, WPA
                     break;
 
                 case IDC_BUTTON_BROWSE_PATH:
-                    browse_for_folder(dialog);
+                {
+                    char szTargetPath[FILENAME_MAX];
+                    if (browse_for_unix_folder(dialog, szTargetPath)) 
+                        set_text(dialog, IDC_EDIT_PATH, szTargetPath);
                     break;
+                }
 
                 case IDC_RADIO_ASSIGN:
                 {
diff --git a/programs/winecfg/main.c b/programs/winecfg/main.c
index b77d02b..14168e6 100644
--- a/programs/winecfg/main.c
+++ b/programs/winecfg/main.c
@@ -146,10 +146,10 @@ doPropertySheet (HINSTANCE hInstance, HW
     psp[pg].dwSize = sizeof (PROPSHEETPAGEW);
     psp[pg].dwFlags = PSP_USETITLE;
     psp[pg].hInstance = hInstance;
-    psp[pg].u.pszTemplate = MAKEINTRESOURCEW (IDD_APPEARANCE);
+    psp[pg].u.pszTemplate = MAKEINTRESOURCEW (IDD_DESKTOP_INTEGRATION);
     psp[pg].u2.pszIcon = NULL;
     psp[pg].pfnDlgProc = ThemeDlgProc;
-    psp[pg].pszTitle =  load_string (IDS_TAB_APPEARANCE);
+    psp[pg].pszTitle =  load_string (IDS_TAB_DESKTOP_INTEGRATION);
     psp[pg].lParam = 0;
     pg++;
 
diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
index df7f0b9..7330fc3 100644
--- a/programs/winecfg/resource.h
+++ b/programs/winecfg/resource.h
@@ -33,7 +33,7 @@
 #define IDS_HIDE_ADVANCED               7
 #define IDS_NOTHEME                     8
 #define IDS_TAB_GRAPHICS                9
-#define IDS_TAB_APPEARANCE              10
+#define IDS_TAB_DESKTOP_INTEGRATION     10
 #define IDS_TAB_AUDIO                   11
 #define IDS_TAB_ABOUT                   12
 #define IDS_WINECFG_TITLE               13
@@ -48,7 +48,7 @@
 #define IDD_DLLCFG                      111
 #define IDD_DRIVECFG                    112
 #define IDD_DRIVE_EDIT                  114
-#define IDD_APPEARANCE                  115
+#define IDD_DESKTOP_INTEGRATION         115
 #define IDB_WINE_LOGO                   200
 #define IDC_TABABOUT                    1001
 #define IDC_APPLYBTN                    1002
@@ -143,10 +143,16 @@
 #define IDB_DEVICE                      1307
 #define IDS_AUDIO_MISSING               1308
 
-/* appearance tab */
+/* desktop integration tab */
 #define IDC_THEME_COLORCOMBO            1401
 #define IDC_THEME_COLORTEXT             1402
 #define IDC_THEME_SIZECOMBO             1403
 #define IDC_THEME_SIZETEXT              1404
 #define IDC_THEME_THEMECOMBO            1405
 #define IDC_THEME_INSTALL               1406
+#define IDC_EDIT_MYDOCS_PATH            1407
+#define IDC_LINK_MYDOCS_PATH            1408
+#define IDC_BROWSE_MYDOCS_PATH          1409
+#define IDC_EDIT_DESKTOP_PATH           1410
+#define IDC_LINK_DESKTOP_PATH           1411
+#define IDC_BROWSE_DESKTOP_PATH         1412
diff --git a/programs/winecfg/theme.c b/programs/winecfg/theme.c
index 3cb0e39..94edec3 100644
--- a/programs/winecfg/theme.c
+++ b/programs/winecfg/theme.c
@@ -1,7 +1,10 @@
 /*
- * Theme configuration code
+ * Desktop Integration
+ * - Theme configuration code
+ * - User Shell Folder mapping
  *
  * Copyright (c) 2005 by Frank Richter
+ * Copyright (c) 2006 by Michael Jung
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -22,6 +25,8 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <sys/stat.h>
+#include <unistd.h>
 
 #include <windows.h>
 #include <uxtheme.h>
@@ -572,11 +577,119 @@ static void on_theme_install(HWND dialog
   else WINE_TRACE("user cancelled\n");
 }
 
+/* Information about UI controls and symbolic link targets of certain User Shell Folders. */
+static struct ShellFolderUIInfo {
+    int nFolder;
+    char szLinkTarget[FILENAME_MAX];
+    int idcCheckbox;
+    int idcEdit;
+    int idcButton; 
+} aSFUIInfo[2] = {
+    { CSIDL_DESKTOP,  "", IDC_LINK_DESKTOP_PATH, IDC_EDIT_DESKTOP_PATH, IDC_BROWSE_DESKTOP_PATH },
+    { CSIDL_PERSONAL, "", IDC_LINK_MYDOCS_PATH,  IDC_EDIT_MYDOCS_PATH,  IDC_BROWSE_MYDOCS_PATH }
+};
+
+#define NUM_ELEMS(x) (sizeof(x)/sizeof(*(x)))
+
+static void get_shell_folder_link_targets() {
+    WCHAR wszPath[MAX_PATH];
+    HRESULT hr;
+    int i;
+    
+    for (i=0; i<NUM_ELEMS(aSFUIInfo); i++) {    
+        aSFUIInfo[i].szLinkTarget[0] = '\0';
+        hr = SHGetFolderPathW(NULL, aSFUIInfo[i].nFolder|CSIDL_FLAG_CREATE, NULL, 
+                              SHGFP_TYPE_DEFAULT, wszPath);
+        if (SUCCEEDED(hr)) {
+            char *pszUnixPath = wine_get_unix_file_name(wszPath);
+            if (pszUnixPath) {
+                struct stat statPath;
+                if (!lstat(pszUnixPath, &statPath) && S_ISLNK(statPath.st_mode)) 
+                    readlink(pszUnixPath, aSFUIInfo[i].szLinkTarget, FILENAME_MAX);
+                HeapFree(GetProcessHeap(), 0, pszUnixPath);
+            }
+        } 
+    }    
+}
+
+static void update_shell_folder_ui(HWND dialog) {
+    int i;
+
+    for (i=0; i<NUM_ELEMS(aSFUIInfo); i++) {
+        set_text(dialog, aSFUIInfo[i].idcEdit, aSFUIInfo[i].szLinkTarget);
+        if (lstrlenA(aSFUIInfo[i].szLinkTarget)) {
+            CheckDlgButton(dialog, aSFUIInfo[i].idcCheckbox, BST_CHECKED);
+            enable(aSFUIInfo[i].idcEdit);
+            enable(aSFUIInfo[i].idcButton);
+        } else {
+            CheckDlgButton(dialog, aSFUIInfo[i].idcCheckbox, BST_UNCHECKED);
+            disable(aSFUIInfo[i].idcEdit);
+            disable(aSFUIInfo[i].idcButton);
+        }
+    }
+}
+
+static void apply_shell_folder_changes() {
+    WCHAR wszPath[MAX_PATH];
+    char szBackupPath[FILENAME_MAX], szUnixPath[FILENAME_MAX], *pszUnixPath = NULL;
+    int i, cUnixPathLen;
+    struct stat statPath;
+    HRESULT hr;
+
+    for (i=0; i<NUM_ELEMS(aSFUIInfo); i++) {
+        hr = SHGetFolderPathW(NULL, aSFUIInfo[i].nFolder|CSIDL_FLAG_CREATE, NULL, 
+                              SHGFP_TYPE_DEFAULT, wszPath);
+        if (FAILED(hr)) continue;
+
+        /* Retrieve the corresponding unix path. */
+        pszUnixPath = wine_get_unix_file_name(wszPath);
+        if (!pszUnixPath) continue;
+        lstrcpyA(szUnixPath, pszUnixPath);
+        HeapFree(GetProcessHeap(), 0, pszUnixPath);
+            
+        /* Derive name for folder backup. */
+        cUnixPathLen = lstrlenA(szUnixPath);    
+        lstrcpyA(szBackupPath, szUnixPath);
+        lstrcatA(szBackupPath, ".winecfg");
+
+        if (lstat(szUnixPath, &statPath)) continue;
+    
+        /* Move old folder/link out of the way. */
+        if (S_ISLNK(statPath.st_mode)) {
+            if (unlink(szUnixPath)) continue; /* Unable to remove link. */
+        } else { 
+            if (!*aSFUIInfo[i].szLinkTarget) {
+                continue; /* We are done. Old was real folder, as new shall be. */
+            } else { 
+                if (rename(szUnixPath, szBackupPath)) { /* Move folder out of the way. */
+                    continue; /* Unable to move old folder. */
+                }
+            }
+        }
+    
+        /* Create new link/folder. */
+        if (*aSFUIInfo[i].szLinkTarget) {
+            symlink(aSFUIInfo[i].szLinkTarget, szUnixPath);
+        } else {
+            /* If there's a backup folder, restore it. Else create new folder. */
+            if (!lstat(szBackupPath, &statPath) && S_ISDIR(statPath.st_mode)) {
+                rename(szBackupPath, szUnixPath);
+            } else {
+                mkdir(szUnixPath, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH);
+            }
+        }
+    }
+}
+
 INT_PTR CALLBACK
 ThemeDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
+    int i;
+
     switch (uMsg) {
         case WM_INITDIALOG:
+            get_shell_folder_link_targets();
+            update_shell_folder_ui(hDlg);
             break;
         
         case WM_DESTROY:
@@ -600,23 +713,38 @@ ThemeDlgProc (HWND hDlg, UINT uMsg, WPAR
                     }
                     break;
                 }
-                    
-                default:
-                    break;
-            }
-            switch (LOWORD(wParam))
-            {
-                case IDC_THEME_INSTALL:
-                    if (HIWORD(wParam) != BN_CLICKED) break;
-                    on_theme_install (hDlg);
-                    break;
-                    
-                default:
+
+                case BN_CLICKED:
+                    switch (LOWORD(wParam))
+                    {
+                        case IDC_THEME_INSTALL:
+                            on_theme_install (hDlg);
+                            break;
+
+                        default:
+                            for (i=0; i<NUM_ELEMS(aSFUIInfo); i++) {
+                                if (LOWORD(wParam) == aSFUIInfo[i].idcButton) {
+                                    if (browse_for_unix_folder(hDlg, aSFUIInfo[i].szLinkTarget)) {
+                                        SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
+                                    }
+                                }
+                                if (LOWORD(wParam) == aSFUIInfo[i].idcCheckbox) {
+                                    if (IsDlgButtonChecked(hDlg, aSFUIInfo[i].idcCheckbox)) {
+                                        if (browse_for_unix_folder(hDlg, aSFUIInfo[i].szLinkTarget)) 
+                                            SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
+                                    } else {
+                                        aSFUIInfo[i].szLinkTarget[0] = '\0';
+                                        SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
+                                    }
+                                }
+                            }
+                            update_shell_folder_ui(hDlg);
+                            break;
+                    }
                     break;
             }
             break;
         
-        
         case WM_NOTIFY:
             switch (((LPNMHDR)lParam)->code) {
                 case PSN_KILLACTIVE: {
@@ -626,6 +754,9 @@ ThemeDlgProc (HWND hDlg, UINT uMsg, WPAR
                 case PSN_APPLY: {
                     apply();
                     apply_theme(hDlg);
+                    apply_shell_folder_changes();
+                    get_shell_folder_link_targets();
+                    update_shell_folder_ui(hDlg);
                     SetWindowLongPtr(hDlg, DWLP_MSGRESULT, PSNRET_NOERROR);
                     break;
                 }
diff --git a/programs/winecfg/winecfg.h b/programs/winecfg/winecfg.h
index 0e78d2f..4966dcb 100644
--- a/programs/winecfg/winecfg.h
+++ b/programs/winecfg/winecfg.h
@@ -101,6 +101,7 @@ long drive_available_mask(char letter);
 BOOL add_drive(const char letter, const char *targetpath, const char *label, const char *serial, unsigned int type);
 void delete_drive(struct drive *pDrive);
 void apply_drive_changes(void);
+BOOL browse_for_unix_folder(HWND dialog, char *pszPath);
 extern struct drive drives[26]; /* one for each drive letter */
 
 BOOL gui_mode;
-- 
1.0.6
