Vytis Girdžijauskas (cman AT cman DOT us)

- 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
This commit is contained in:
Colin Finck 2008-04-06 18:36:08 +00:00
parent 46780ff6d7
commit 15542bb4da
18 changed files with 30 additions and 18 deletions

View 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++;
}

View 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

View 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žít jako pozadí:",
IDC_STATIC,8,87,180,8

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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 "デスクトップの壁紙として使う画像を選択してください:",
IDC_STATIC, 8, 127, 180, 8

View 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

View 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

View 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

View 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ži<C5BE> ako pozadie pracovnej plochy:",
IDC_STATIC, 8, 103, 220, 9

View 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

View 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