mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 15:34:13 +00:00
[EXPLORER]
- Load and save "Lock Taskbar", "Hide inactive icons", and "Group similar taskbar buttons". Verified on Win2k3 via "Nirsoft RegFromApp". - use a loader function for registry values. - save the "show seconds" setting together with the other explorer settings instead of a ROS specific key. - Add some documentation comments. svn path=/trunk/; revision=74500
This commit is contained in:
parent
5c8991ddbd
commit
a0360cc9e8
|
@ -199,6 +199,10 @@ LoadTaskBarSettings(VOID);
|
||||||
VOID
|
VOID
|
||||||
SaveTaskBarSettings(VOID);
|
SaveTaskBarSettings(VOID);
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
LoadSettingDword(IN LPCWSTR pszKeyName,
|
||||||
|
IN LPCWSTR pszValueName,
|
||||||
|
OUT DWORD &dwValue);
|
||||||
BOOL
|
BOOL
|
||||||
SaveSettingDword(IN LPCWSTR pszKeyName,
|
SaveSettingDword(IN LPCWSTR pszKeyName,
|
||||||
IN LPCWSTR pszValueName,
|
IN LPCWSTR pszValueName,
|
||||||
|
|
|
@ -21,40 +21,66 @@
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
|
||||||
TASKBAR_SETTINGS TaskBarSettings;
|
TASKBAR_SETTINGS TaskBarSettings;
|
||||||
const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer";
|
const WCHAR szSettingsKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer";
|
||||||
|
const WCHAR szAdvancedSettingsKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced";
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
LoadTaskBarSettings(VOID)
|
LoadTaskBarSettings(VOID)
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
DWORD dwValue = NULL;
|
||||||
|
|
||||||
/* Set defaults */
|
LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarSizeMove"), dwValue);
|
||||||
TaskBarSettings.bLock = TRUE;
|
TaskBarSettings.bLock = (dwValue != 0) ? TRUE : FALSE;
|
||||||
TaskBarSettings.bAutoHide = FALSE;
|
|
||||||
TaskBarSettings.bAlwaysOnTop = FALSE;
|
LoadSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), dwValue);
|
||||||
TaskBarSettings.bGroupButtons = TRUE;
|
TaskBarSettings.bShowSeconds = (dwValue != 0) ? TRUE : FALSE;
|
||||||
TaskBarSettings.bShowQuickLaunch = TRUE;
|
|
||||||
TaskBarSettings.bShowClock = TRUE;
|
LoadSettingDword(szSettingsKey, TEXT("EnableAutotray"), dwValue);
|
||||||
TaskBarSettings.bShowSeconds = FALSE;
|
|
||||||
TaskBarSettings.bHideInactiveIcons = TRUE;
|
TaskBarSettings.bHideInactiveIcons = TRUE;
|
||||||
|
|
||||||
/* Check registry */
|
LoadSettingDword(szAdvancedSettingsKey, TEXT("TaskbarGlomming"), dwValue);
|
||||||
if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
|
TaskBarSettings.bGroupButtons = (dwValue != 0) ? TRUE : FALSE;
|
||||||
{
|
|
||||||
DWORD dwValue, dwValueLength, dwType;
|
|
||||||
|
|
||||||
dwValueLength = sizeof(dwValue);
|
TaskBarSettings.bShowQuickLaunch = TRUE; //FIXME: Where is this stored, and how?
|
||||||
if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD)
|
|
||||||
TaskBarSettings.bShowSeconds = dwValue != 0;
|
/* FIXME: The following settings are stored in stuckrects2, do they have to be load here too? */
|
||||||
|
TaskBarSettings.bShowClock = TRUE;
|
||||||
|
TaskBarSettings.bAutoHide = FALSE;
|
||||||
|
TaskBarSettings.bAlwaysOnTop = FALSE;
|
||||||
|
|
||||||
RegCloseKey(hKey);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
SaveTaskBarSettings(VOID)
|
SaveTaskBarSettings(VOID)
|
||||||
{
|
{
|
||||||
|
SaveSettingDword(szAdvancedSettingsKey, TEXT("TaskbarSizeMove"), TaskBarSettings.bLock);
|
||||||
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), TaskBarSettings.bShowSeconds);
|
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), TaskBarSettings.bShowSeconds);
|
||||||
|
SaveSettingDword(szSettingsKey, TEXT("EnableAutotray"), TaskBarSettings.bHideInactiveIcons);
|
||||||
|
SaveSettingDword(szAdvancedSettingsKey, TEXT("TaskbarGlomming"), TaskBarSettings.bGroupButtons);
|
||||||
|
|
||||||
|
/* FIXME: Show Clock, AutoHide and Always on top are stored in the stuckrects2 key but are not written to it with a click on apply. How is this done instead?
|
||||||
|
AutoHide writes something to HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Components\0 figure out what and why */
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
LoadSettingDword(IN LPCWSTR pszKeyName,
|
||||||
|
IN LPCWSTR pszValueName,
|
||||||
|
OUT DWORD &dwValue)
|
||||||
|
{
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
HKEY hKey;
|
||||||
|
|
||||||
|
if (RegOpenKeyW(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
DWORD dwValueLength, dwType;
|
||||||
|
|
||||||
|
dwValueLength = sizeof(dwValue);
|
||||||
|
ret = RegQueryValueExW(hKey, pszValueName, NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD;
|
||||||
|
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
|
|
|
@ -319,7 +319,14 @@ TaskbarPageProc(HWND hwndDlg,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PSN_APPLY:
|
case PSN_APPLY:
|
||||||
|
TaskBarSettings.bLock = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_LOCK);
|
||||||
|
TaskBarSettings.bAutoHide = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_HIDE);
|
||||||
|
TaskBarSettings.bAlwaysOnTop = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_ONTOP);
|
||||||
|
TaskBarSettings.bGroupButtons = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_GROUP);
|
||||||
|
TaskBarSettings.bShowQuickLaunch = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SHOWQL);
|
||||||
|
TaskBarSettings.bShowClock = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_CLOCK);
|
||||||
TaskBarSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
|
TaskBarSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
|
||||||
|
TaskBarSettings.bHideInactiveIcons = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_HIDEICONS);
|
||||||
SaveTaskBarSettings();
|
SaveTaskBarSettings();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue