[EXPLORER] start reworking some code for loading/saving settings implementation CORE-11498

- Rename the settings structure to something more meaningful for using it for all taskbar related settings
- define some default settings 
- check checkboxes with settings values in the properties window
- move saving the settings to an own function which will be implemented later

svn path=/trunk/; revision=74307
This commit is contained in:
Robert Naumann 2017-04-14 18:08:34 +00:00
parent 71817abc60
commit 8bf97b3a3d
5 changed files with 45 additions and 17 deletions

View file

@ -132,7 +132,7 @@ StartWithDesktop(IN HINSTANCE hInstance)
hExplorerInstance = hInstance;
hProcessHeap = GetProcessHeap();
LoadAdvancedSettings();
LoadTaskBarSettings();
InitCommonControls();
OleInitialize(NULL);

View file

@ -176,16 +176,25 @@ TrayMessageLoop(IN OUT ITrayWindow *Tray);
*/
/* Structure to hold non-default options*/
typedef struct _ADVANCED_SETTINGS
typedef struct _TASKBAR_SETTINGS
{
BOOL bLock;
BOOL bAutoHide;
BOOL bAlwaysOnTop;
BOOL bGroupButtons;
BOOL bShowQuickLaunch;
BOOL bShowClock;
BOOL bShowSeconds;
} ADVANCED_SETTINGS, *PADVANCED_SETTINGS;
BOOL bHideInactiveIcons;
} TASKBAR_SETTINGS, *PTASKBAR_SETTINGS;
extern ADVANCED_SETTINGS AdvancedSettings;
extern const TCHAR szAdvancedSettingsKey [];
extern TASKBAR_SETTINGS TaskBarSettings;
VOID
LoadAdvancedSettings(VOID);
LoadTaskBarSettings(VOID);
VOID
SaveTaskBarSettings(VOID);
BOOL
SaveSettingDword(IN LPCWSTR pszKeyName,

View file

@ -20,16 +20,23 @@
#include "precomp.h"
ADVANCED_SETTINGS AdvancedSettings;
TASKBAR_SETTINGS TaskBarSettings;
const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer";
VOID
LoadAdvancedSettings(VOID)
LoadTaskBarSettings(VOID)
{
HKEY hKey;
/* Set defaults */
AdvancedSettings.bShowSeconds = FALSE;
TaskBarSettings.bLock = TRUE;
TaskBarSettings.bAutoHide = FALSE;
TaskBarSettings.bAlwaysOnTop = FALSE;
TaskBarSettings.bGroupButtons = TRUE;
TaskBarSettings.bShowQuickLaunch = TRUE;
TaskBarSettings.bShowClock = TRUE;
TaskBarSettings.bShowSeconds = FALSE;
TaskBarSettings.bHideInactiveIcons = TRUE;
/* Check registry */
if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
@ -38,12 +45,18 @@ LoadAdvancedSettings(VOID)
dwValueLength = sizeof(dwValue);
if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD)
AdvancedSettings.bShowSeconds = dwValue != 0;
TaskBarSettings.bShowSeconds = dwValue != 0;
RegCloseKey(hKey);
}
}
VOID
SaveTaskBarSettings(VOID)
{
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), TaskBarSettings.bShowSeconds);
}
BOOL
SaveSettingDword(IN LPCWSTR pszKeyName,
IN LPCWSTR pszValueName,

View file

@ -867,7 +867,7 @@ public:
if (ClockWndFormats[i].IsTime)
{
iRet = GetTimeFormat(LOCALE_USER_DEFAULT,
AdvancedSettings.bShowSeconds ? ClockWndFormats[i].dwFormatFlags : TIME_NOSECONDS,
TaskBarSettings.bShowSeconds ? ClockWndFormats[i].dwFormatFlags : TIME_NOSECONDS,
&LocalTime,
ClockWndFormats[i].lpFormat,
szLines[i],
@ -939,7 +939,7 @@ public:
/* Calculate the due time */
GetLocalTime(&LocalTime);
uiDueTime = 1000 - (UINT) LocalTime.wMilliseconds;
if (AdvancedSettings.bShowSeconds)
if (TaskBarSettings.bShowSeconds)
uiDueTime += (UINT) LocalTime.wSecond * 100;
else
uiDueTime += (59 - (UINT) LocalTime.wSecond) * 1000;
@ -997,7 +997,7 @@ public:
uiDueTime = CalculateDueTime();
if (AdvancedSettings.bShowSeconds)
if (TaskBarSettings.bShowSeconds)
{
uiWait1 = 1000 - 200;
uiWait2 = 1000;

View file

@ -240,8 +240,14 @@ OnCreateTaskbarPage(HWND hwnd,
pPropInfo->hTaskbarWnd = hwnd;
// FIXME: check buttons
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, AdvancedSettings.bShowSeconds ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bLock ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bAutoHide ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bAlwaysOnTop ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bGroupButtons ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bShowQuickLaunch ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bShowClock ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bShowSeconds ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bHideInactiveIcons ? BST_CHECKED : BST_UNCHECKED);
UpdateBitmaps(pPropInfo);
}
@ -313,8 +319,8 @@ TaskbarPageProc(HWND hwndDlg,
break;
case PSN_APPLY:
AdvancedSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), AdvancedSettings.bShowSeconds);
TaskBarSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
SaveTaskBarSettings();
break;
}