Vytis Girdžijauskas (cman AT cman DOT us)
authorColin Finck <colin@reactos.org>
Sun, 6 Apr 2008 18:36:08 +0000 (18:36 +0000)
committerColin Finck <colin@reactos.org>
Sun, 6 Apr 2008 18:36:08 +0000 (18:36 +0000)
- Allow evironment variables to be used in the "Wallpaper" registry value.
- Do not display the file suffix after adding a wallpaper through the "Browse" dialog.

Changes by me:
- After using the "Browse" dialog, select the newly added item and scroll to the bottom to show it
- Add the LVS_SHOWSELALWAYS style to the ListViews, so items are also highlighted, when the ListView does not have the focus (same as WinXP does)

See issue #2746 for more details.

svn path=/trunk/; revision=32885

18 files changed:
reactos/dll/cpl/desk/background.c
reactos/dll/cpl/desk/lang/bg-BG.rc
reactos/dll/cpl/desk/lang/cs-CZ.rc
reactos/dll/cpl/desk/lang/de-DE.rc
reactos/dll/cpl/desk/lang/el-GR.rc
reactos/dll/cpl/desk/lang/en-US.rc
reactos/dll/cpl/desk/lang/es-ES.rc
reactos/dll/cpl/desk/lang/fr-FR.rc
reactos/dll/cpl/desk/lang/hu-HU.rc
reactos/dll/cpl/desk/lang/id-ID.rc
reactos/dll/cpl/desk/lang/it-IT.rc
reactos/dll/cpl/desk/lang/ja-JP.rc
reactos/dll/cpl/desk/lang/nl-NL.rc
reactos/dll/cpl/desk/lang/pl-PL.rc
reactos/dll/cpl/desk/lang/ru-RU.rc
reactos/dll/cpl/desk/lang/sk-SK.rc
reactos/dll/cpl/desk/lang/sv-SE.rc
reactos/dll/cpl/desk/lang/uk-UA.rc

index e839a34..5ba5036 100644 (file)
@@ -63,6 +63,7 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
     HIMAGELIST himl;
     TCHAR wallpaperFilename[MAX_PATH];
     DWORD bufferSize = sizeof(wallpaperFilename);
+    TCHAR buffer[MAX_PATH];
     DWORD varType = REG_SZ;
     LONG result;
     UINT i = 0;
@@ -110,6 +111,12 @@ AddListViewItems(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
     result = RegQueryValueEx(regKey, TEXT("Wallpaper"), 0, &varType, (LPBYTE)wallpaperFilename, &bufferSize);
     if ((result == ERROR_SUCCESS) && (_tcslen(wallpaperFilename) > 0))
     {
+        /* Allow environment variables in file name */
+        if (ExpandEnvironmentStrings(wallpaperFilename, buffer, MAX_PATH))
+        {
+            _tcscpy(wallpaperFilename, buffer);
+        }
+        
         himl = (HIMAGELIST)SHGetFileInfo(wallpaperFilename,
                                          0,
                                          &sfi,
@@ -397,6 +404,7 @@ OnBrowseButton(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
     SHFILEINFO sfi;
     LV_ITEM listItem;
     HWND hwndBackgroundList;
+    TCHAR *p;
 
     hwndBackgroundList = GetDlgItem(hwndDlg, IDC_BACKGROUND_LIST);
 
@@ -439,17 +447,21 @@ OnBrowseButton(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
         backgroundItem->bWallpaper = TRUE;
 
         _tcscpy(backgroundItem->szDisplayName, sfi.szDisplayName);
+        p = _tcsrchr(backgroundItem->szDisplayName, _T('.'));
+        if (p)
+            *p = (TCHAR)0;
         _tcscpy(backgroundItem->szFilename, filename);
 
         ZeroMemory(&listItem, sizeof(LV_ITEM));
         listItem.mask       = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
-        listItem.state      = 0;
+        listItem.state      = LVIS_SELECTED;
         listItem.pszText    = backgroundItem->szDisplayName;
         listItem.iImage     = sfi.iIcon;
         listItem.iItem      = pGlobalData->listViewItemCount;
         listItem.lParam     = pGlobalData->listViewItemCount;
 
         (void)ListView_InsertItem(hwndBackgroundList, &listItem);
+        SendMessage(hwndBackgroundList, WM_VSCROLL, SB_BOTTOM, 0);
 
         pGlobalData->listViewItemCount++;
     }
index ed2a5ba..0243cad 100644 (file)
@@ -10,7 +10,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Èçáåðåòå èçîáðàæåíèå çà óêðàñà íà ðàáîòíàòà ñè ïëîù:",
                     IDC_STATIC, 8, 103, 230, 9
index 65c91ce..f84ed97 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "",IDC_BACKGROUND_PREVIEW,"Static",SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP,7,99,173,71
     LTEXT           "Vyberte obrázek, který chcete pou\9eít jako pozadí:",
                     IDC_STATIC,8,87,180,8
index dd69040..f16e5c9 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Hintergrundbild:",
                     IDC_STATIC, 8, 103, 180, 9
index 28e9a4b..27b518b 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 163, 71
     LTEXT           "ÅðéëÝîôå Öüíôï:",
                     IDC_STATIC, 8, 87, 180, 8
index cd18db3..89c170b 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Select an image to use as your desktop wallpaper:",
                     IDC_STATIC, 8, 103, 180, 9
index 74e6c1e..8e066ab 100644 (file)
@@ -16,7 +16,7 @@ BEGIN
     CONTROL         "",IDC_BACKGROUND_PREVIEW,"Static",SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 173, 71
     LTEXT           "Fondo:",
                     IDC_STATIC, 8, 87, 180, 8
index a611440..7ef56de 100644 (file)
@@ -11,7 +11,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW,"Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 173, 71
     LTEXT           "Sélectionnez une image à utiliser comme fond d'écran :",
                     IDC_STATIC, 8, 87, 180, 8
index 763076a..66a8c1e 100644 (file)
@@ -9,7 +9,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 173, 71
     LTEXT           "Válasszon ki egy képet az asztala hátterének:",
                     IDC_STATIC, 8, 87, 180, 8
index 56a5861..bee80d4 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Pilih gambar untuk dipakai sebagai desktop wallpaper anda:",
                     IDC_STATIC, 8, 103, 180, 9
index f2a8bbb..720b17d 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Selezionare un immagine da usare come sfondo per il tuo desktop:",
                     IDC_STATIC, 8, 103, 180, 9
index d42d6ea..ae4ab88 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 139, 173, 71
     LTEXT           "\83f\83X\83N\83g\83b\83v\82Ì\95Ç\8e\86\82Æ\82µ\82Ä\8eg\82¤\89æ\91\9c\82ð\91I\91ð\82µ\82Ä\82­\82¾\82³\82¢:",
                     IDC_STATIC, 8, 127, 180, 8
index ef78bd4..f49aa9f 100644 (file)
@@ -10,7 +10,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static",SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 173, 71
     LTEXT           "Kies een afbeelding als bureaublad achtergrond:",
                     IDC_STATIC, 8, 87, 180, 8
index 60d6e15..6b00985 100644 (file)
@@ -18,7 +18,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 7, 99, 173, 71
     LTEXT           "Wybierz obraz do u¿ycia jako tapeta pulpitu:",
                     IDC_STATIC, 8, 87, 180, 8
index 340cf74..fd380d2 100644 (file)
@@ -8,7 +8,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Âûáåðèòå èçîáðàæåíèå äëÿ ðàáî÷åãî ñòîëà:",
                     IDC_STATIC, 8, 103, 180, 9
index 5fbb1f9..234a4bc 100644 (file)
@@ -16,7 +16,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Vyberte obrázok, ktorý chcete pou\9ei\9d ako pozadie pracovnej plochy:",
                     IDC_STATIC, 8, 103, 220, 9
index bd404f9..afeac57 100644 (file)
@@ -11,7 +11,7 @@ BEGIN
     CONTROL         "",IDC_BACKGROUND_PREVIEW,"Static",SS_OWNERDRAW,
                     70, 10, 105, 70,WS_EX_STATICEDGE
     CONTROL         "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP,7,99,173,71
     LTEXT           "Välj en bild du vill ha som skrivbordsunderlägg:",
                     IDC_STATIC,8,87,180,8
index 38a4444..bd82474 100644 (file)
@@ -16,7 +16,7 @@ BEGIN
     CONTROL         "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW,
                     70, 10, 105, 70, WS_EX_STATICEDGE
     CONTROL         "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT |
-                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
+                    LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS |
                     WS_BORDER | WS_TABSTOP, 8, 114, 174, 78
     LTEXT           "Âèáåð³òü çîáðàæåííÿ äëÿ øïàëåð ðîáî÷îãî ñòîëó:",
                     IDC_STATIC, 8, 103, 180, 9