mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 00:55:48 +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;
|
hExplorerInstance = hInstance;
|
||||||
hProcessHeap = GetProcessHeap();
|
hProcessHeap = GetProcessHeap();
|
||||||
|
|
||||||
LoadAdvancedSettings();
|
LoadTaskBarSettings();
|
||||||
InitCommonControls();
|
InitCommonControls();
|
||||||
OleInitialize(NULL);
|
OleInitialize(NULL);
|
||||||
|
|
||||||
|
|
|
@ -176,16 +176,25 @@ TrayMessageLoop(IN OUT ITrayWindow *Tray);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Structure to hold non-default options*/
|
/* 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;
|
BOOL bShowSeconds;
|
||||||
} ADVANCED_SETTINGS, *PADVANCED_SETTINGS;
|
BOOL bHideInactiveIcons;
|
||||||
|
} TASKBAR_SETTINGS, *PTASKBAR_SETTINGS;
|
||||||
|
|
||||||
extern ADVANCED_SETTINGS AdvancedSettings;
|
extern TASKBAR_SETTINGS TaskBarSettings;
|
||||||
extern const TCHAR szAdvancedSettingsKey [];
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
LoadAdvancedSettings(VOID);
|
LoadTaskBarSettings(VOID);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
SaveTaskBarSettings(VOID);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
SaveSettingDword(IN LPCWSTR pszKeyName,
|
SaveSettingDword(IN LPCWSTR pszKeyName,
|
||||||
|
|
|
@ -20,16 +20,23 @@
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
|
||||||
ADVANCED_SETTINGS AdvancedSettings;
|
TASKBAR_SETTINGS TaskBarSettings;
|
||||||
const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer";
|
const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer";
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
LoadAdvancedSettings(VOID)
|
LoadTaskBarSettings(VOID)
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
|
|
||||||
/* Set defaults */
|
/* 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 */
|
/* Check registry */
|
||||||
if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
|
if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS)
|
||||||
|
@ -38,12 +45,18 @@ LoadAdvancedSettings(VOID)
|
||||||
|
|
||||||
dwValueLength = sizeof(dwValue);
|
dwValueLength = sizeof(dwValue);
|
||||||
if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD)
|
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);
|
RegCloseKey(hKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
SaveTaskBarSettings(VOID)
|
||||||
|
{
|
||||||
|
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), TaskBarSettings.bShowSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
SaveSettingDword(IN LPCWSTR pszKeyName,
|
SaveSettingDword(IN LPCWSTR pszKeyName,
|
||||||
IN LPCWSTR pszValueName,
|
IN LPCWSTR pszValueName,
|
||||||
|
|
|
@ -867,7 +867,7 @@ public:
|
||||||
if (ClockWndFormats[i].IsTime)
|
if (ClockWndFormats[i].IsTime)
|
||||||
{
|
{
|
||||||
iRet = GetTimeFormat(LOCALE_USER_DEFAULT,
|
iRet = GetTimeFormat(LOCALE_USER_DEFAULT,
|
||||||
AdvancedSettings.bShowSeconds ? ClockWndFormats[i].dwFormatFlags : TIME_NOSECONDS,
|
TaskBarSettings.bShowSeconds ? ClockWndFormats[i].dwFormatFlags : TIME_NOSECONDS,
|
||||||
&LocalTime,
|
&LocalTime,
|
||||||
ClockWndFormats[i].lpFormat,
|
ClockWndFormats[i].lpFormat,
|
||||||
szLines[i],
|
szLines[i],
|
||||||
|
@ -939,7 +939,7 @@ public:
|
||||||
/* Calculate the due time */
|
/* Calculate the due time */
|
||||||
GetLocalTime(&LocalTime);
|
GetLocalTime(&LocalTime);
|
||||||
uiDueTime = 1000 - (UINT) LocalTime.wMilliseconds;
|
uiDueTime = 1000 - (UINT) LocalTime.wMilliseconds;
|
||||||
if (AdvancedSettings.bShowSeconds)
|
if (TaskBarSettings.bShowSeconds)
|
||||||
uiDueTime += (UINT) LocalTime.wSecond * 100;
|
uiDueTime += (UINT) LocalTime.wSecond * 100;
|
||||||
else
|
else
|
||||||
uiDueTime += (59 - (UINT) LocalTime.wSecond) * 1000;
|
uiDueTime += (59 - (UINT) LocalTime.wSecond) * 1000;
|
||||||
|
@ -997,7 +997,7 @@ public:
|
||||||
|
|
||||||
uiDueTime = CalculateDueTime();
|
uiDueTime = CalculateDueTime();
|
||||||
|
|
||||||
if (AdvancedSettings.bShowSeconds)
|
if (TaskBarSettings.bShowSeconds)
|
||||||
{
|
{
|
||||||
uiWait1 = 1000 - 200;
|
uiWait1 = 1000 - 200;
|
||||||
uiWait2 = 1000;
|
uiWait2 = 1000;
|
||||||
|
|
|
@ -240,8 +240,14 @@ OnCreateTaskbarPage(HWND hwnd,
|
||||||
|
|
||||||
pPropInfo->hTaskbarWnd = hwnd;
|
pPropInfo->hTaskbarWnd = hwnd;
|
||||||
|
|
||||||
// FIXME: check buttons
|
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, TaskBarSettings.bLock ? BST_CHECKED : BST_UNCHECKED);
|
||||||
CheckDlgButton(hwnd, IDC_TASKBARPROP_SECONDS, AdvancedSettings.bShowSeconds ? 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);
|
UpdateBitmaps(pPropInfo);
|
||||||
}
|
}
|
||||||
|
@ -313,8 +319,8 @@ TaskbarPageProc(HWND hwndDlg,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PSN_APPLY:
|
case PSN_APPLY:
|
||||||
AdvancedSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
|
TaskBarSettings.bShowSeconds = IsDlgButtonChecked(hwndDlg, IDC_TASKBARPROP_SECONDS);
|
||||||
SaveSettingDword(szAdvancedSettingsKey, TEXT("ShowSeconds"), AdvancedSettings.bShowSeconds);
|
SaveTaskBarSettings();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue