Author: rnaumann Date: Fri Apr 14 18:08:34 2017 New Revision: 74307
URL: http://svn.reactos.org/svn/reactos?rev=74307&view=rev Log: [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
Modified: trunk/reactos/base/shell/explorer/explorer.cpp trunk/reactos/base/shell/explorer/precomp.h trunk/reactos/base/shell/explorer/settings.cpp trunk/reactos/base/shell/explorer/trayntfy.cpp trunk/reactos/base/shell/explorer/trayprop.cpp
Modified: trunk/reactos/base/shell/explorer/explorer.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/explore... ============================================================================== --- trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] Fri Apr 14 18:08:34 2017 @@ -132,7 +132,7 @@ hExplorerInstance = hInstance; hProcessHeap = GetProcessHeap();
- LoadAdvancedSettings(); + LoadTaskBarSettings(); InitCommonControls(); OleInitialize(NULL);
Modified: trunk/reactos/base/shell/explorer/precomp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/precomp... ============================================================================== --- trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] Fri Apr 14 18:08:34 2017 @@ -176,16 +176,25 @@ */
/* 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; - -extern ADVANCED_SETTINGS AdvancedSettings; -extern const TCHAR szAdvancedSettingsKey []; - -VOID -LoadAdvancedSettings(VOID); + BOOL bHideInactiveIcons; +} TASKBAR_SETTINGS, *PTASKBAR_SETTINGS; + +extern TASKBAR_SETTINGS TaskBarSettings; + +VOID +LoadTaskBarSettings(VOID); + +VOID +SaveTaskBarSettings(VOID);
BOOL SaveSettingDword(IN LPCWSTR pszKeyName,
Modified: trunk/reactos/base/shell/explorer/settings.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/setting... ============================================================================== --- trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] Fri Apr 14 18:08:34 2017 @@ -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,10 +45,16 @@
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
Modified: trunk/reactos/base/shell/explorer/trayntfy.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/trayntf... ============================================================================== --- trunk/reactos/base/shell/explorer/trayntfy.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/trayntfy.cpp [iso-8859-1] Fri Apr 14 18:08:34 2017 @@ -867,7 +867,7 @@ 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 @@ /* 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 @@
uiDueTime = CalculateDueTime();
- if (AdvancedSettings.bShowSeconds) + if (TaskBarSettings.bShowSeconds) { uiWait1 = 1000 - 200; uiWait2 = 1000;
Modified: trunk/reactos/base/shell/explorer/trayprop.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traypro... ============================================================================== --- trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] Fri Apr 14 18:08:34 2017 @@ -240,8 +240,14 @@
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 @@ 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; }