- Show the currently selected color scheme in combo box instead of default "Reactos Standard".

- The value HKCU\Control Panel\Apperance\(New)Current isn't used yet.
- See issue #4164 for details.

svn path=/trunk/; revision=39838
This commit is contained in:
Matthias Kupfer 2009-03-01 22:55:02 +00:00
parent 3c959e9093
commit 78b88e1063
2 changed files with 14 additions and 4 deletions

View file

@ -131,7 +131,7 @@ LoadCurrentTheme(GLOBALS* g)
static BOOL static BOOL
LoadThemeFromReg(GLOBALS* g, INT iPreset) LoadThemeFromReg(GLOBALS* g)
{ {
INT i; INT i;
TCHAR strSizeName[20] = {TEXT("Sizes\\0")}; TCHAR strSizeName[20] = {TEXT("Sizes\\0")};
@ -139,6 +139,7 @@ LoadThemeFromReg(GLOBALS* g, INT iPreset)
HKEY hkNewSchemes, hkScheme, hkSize; HKEY hkNewSchemes, hkScheme, hkSize;
DWORD dwType, dwLength; DWORD dwType, dwLength;
BOOL Ret = FALSE; BOOL Ret = FALSE;
INT iPreset = g->Theme.Id;
if(RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Appearance\\New Schemes"), if(RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Appearance\\New Schemes"),
0, KEY_READ, &hkNewSchemes) == ERROR_SUCCESS) 0, KEY_READ, &hkNewSchemes) == ERROR_SUCCESS)
@ -332,6 +333,14 @@ ApplyTheme(GLOBALS* g)
RegCloseKey(hKey); RegCloseKey(hKey);
} }
/* Save ThemeId */
Result = RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Appearance\\New Schemes"), 0, KEY_ALL_ACCESS, &hKey);
if (Result == ERROR_SUCCESS)
{
lstrcpy(clText, g->ThemeTemplates[g->Theme.Id].strKeyName);
RegSetValueEx(hKey, TEXT("SelectedStyle"), 0, REG_SZ, (BYTE *)clText, (lstrlen(clText)+1) * sizeof (TCHAR));
RegCloseKey(hKey);
}
} }
@ -436,7 +445,7 @@ AppearancePage_OnDestroy(HWND hwndDlg, GLOBALS *g)
INT_PTR CALLBACK INT_PTR CALLBACK
AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
INT i, index; INT i;
GLOBALS *g; GLOBALS *g;
LPNMHDR lpnm; LPNMHDR lpnm;
@ -472,8 +481,8 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
PropSheet_Changed(GetParent(hwndDlg), hwndDlg); PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
g->Theme.bHasChanged = TRUE; g->Theme.bHasChanged = TRUE;
i = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETCURSEL, 0, 0); i = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETCURSEL, 0, 0);
index = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETITEMDATA, (WPARAM)i, 0); g->Theme.Id = SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_GETITEMDATA, (WPARAM)i, 0);
LoadThemeFromReg(g, index); LoadThemeFromReg(g);
} }
break; break;

View file

@ -35,6 +35,7 @@ typedef struct
COLORREF crColor[NUM_COLORS]; COLORREF crColor[NUM_COLORS];
LOGFONT lfFont[NUM_FONTS]; LOGFONT lfFont[NUM_FONTS];
UINT64 Size[NUM_SIZES]; UINT64 Size[NUM_SIZES];
INT Id;
BOOL bFlatMenus; BOOL bFlatMenus;
BOOL bHasChanged; BOOL bHasChanged;
BOOL bIsCustom; BOOL bIsCustom;