HIMAGELIST himl;
TCHAR wallpaperFilename[MAX_PATH];
DWORD bufferSize = sizeof(wallpaperFilename);
+ TCHAR buffer[MAX_PATH];
DWORD varType = REG_SZ;
LONG result;
UINT i = 0;
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,
/* Save selected color to var */
pGlobalData->backgroundDesktopColor = cc.rgbResult;
- /* Allpy buuton will be activated */
+ /* Apply button will be activated */
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
/* Window will be updated :) */
InvalidateRect(GetDlgItem(hwndDlg, IDC_BACKGROUND_PREVIEW), NULL, TRUE);
- /* Save custom colors to reg. To this moment key must be ceated already. See above */
+ /* Save custom colors to reg. To this moment key must be created already. See above */
res = RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Appearance"), 0,
KEY_WRITE, &hKey);
if (res == ERROR_SUCCESS)
SHFILEINFO sfi;
LV_ITEM listItem;
HWND hwndBackgroundList;
+ TCHAR *p;
hwndBackgroundList = GetDlgItem(hwndDlg, IDC_BACKGROUND_LIST);
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++;
}
InvalidateRect(GetDlgItem(hwndDlg, IDC_BACKGROUND_PREVIEW),
NULL, TRUE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_COLOR_BUTTON),
- (backgroundItem->bWallpaper == FALSE ? TRUE : FALSE));
EnableWindow(GetDlgItem(hwndDlg, IDC_PLACEMENT_COMBO),
backgroundItem->bWallpaper);