mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 19:21:38 +00:00
[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:
parent
71817abc60
commit
8bf97b3a3d
5 changed files with 45 additions and 17 deletions
|
@ -132,7 +132,7 @@ StartWithDesktop(IN HINSTANCE hInstance)
|
|||
hExplorerInstance = hInstance;
|
||||
hProcessHeap = GetProcessHeap();
|
||||
|
||||
LoadAdvancedSettings();
|
||||
LoadTaskBarSettings();
|
||||
InitCommonControls();
|
||||
OleInitialize(NULL);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue