ReactOS 0.4.16-dev-1273-g5b94656
general.cpp File Reference
#include "precomp.h"
Include dependency graph for general.cpp:

Go to the source code of this file.

Classes

struct  GENERAL_DIALOG
 

Typedefs

typedef struct GENERAL_DIALOG GENERAL_DIALOG
 
typedef struct GENERAL_DIALOGPGENERAL_DIALOG
 

Enumerations

enum  { UNDERLINE_ON , UNDERLINE_OFF , UNDERLINE_HOVER , UNDERLINE_IE }
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (fprop)
 
EXTERN_C void SHELL32_GetDefaultShellState (LPSHELLSTATE pss)
 
EXTERN_C LSTATUS SHELL32_WriteRegShellState (PREGSHELLSTATE prss)
 
static BOOL IntSetShellStateSettings (BOOL bDoubleClick, BOOL bUseCommonTasks)
 
EXTERN_C BOOL SHELL32_ReadRegShellState (PREGSHELLSTATE prss)
 
static BOOL IntSetUnderlineState (BOOL bUnderlineHover)
 
static UINT IntGetRawIconUnderlineValue ()
 
static UINT SHELL_GetIconUnderlineMode ()
 
UINT SHELL_GetIconUnderlineFlags ()
 
static HRESULT IntSetNewWindowMode (BOOL bNewWindowMode)
 
static BOOL IntGetNewWindowMode (VOID)
 
static VOID GeneralDlg_UpdateIcons (HWND hDlg, UINT nCtrlID, PGENERAL_DIALOG pGeneral)
 
static void GeneralDlg_StoreToUI (HWND hwndDlg, BOOL bDoubleClick, BOOL bUseCommonTasks, BOOL bUnderlineHover, BOOL bNewWindowMode, PGENERAL_DIALOG pGeneral)
 
static BOOL GeneralDlg_OnInitDialog (HWND hwndDlg, PGENERAL_DIALOG pGeneral)
 
static void GeneralDlg_OnRestoreDefaults (HWND hwndDlg, PGENERAL_DIALOG pGeneral)
 
static BOOL GeneralDlg_OnApply (HWND hwndDlg, PGENERAL_DIALOG pGeneral)
 
INT_PTR CALLBACK FolderOptionsGeneralDlg (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 

Variables

static const LPCWSTR s_pszExplorerKey = REGSTR_PATH_EXPLORER
 

Typedef Documentation

◆ GENERAL_DIALOG

◆ PGENERAL_DIALOG

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UNDERLINE_ON 
UNDERLINE_OFF 
UNDERLINE_HOVER 
UNDERLINE_IE 

Definition at line 28 of file general.cpp.

@ UNDERLINE_HOVER
Definition: general.cpp:28
@ UNDERLINE_IE
Definition: general.cpp:28
@ UNDERLINE_ON
Definition: general.cpp:28
@ UNDERLINE_OFF
Definition: general.cpp:28

Function Documentation

◆ FolderOptionsGeneralDlg()

INT_PTR CALLBACK FolderOptionsGeneralDlg ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 351 of file general.cpp.

356{
357 static GENERAL_DIALOG general;
358
359 switch (uMsg)
360 {
361 case WM_INITDIALOG:
362 general.hTaskIcon = NULL;
363 general.hFolderIcon = NULL;
364 general.hClickIcon = NULL;
365 return GeneralDlg_OnInitDialog(hwndDlg, &general);
366
367 case WM_COMMAND:
368 switch (LOWORD(wParam))
369 {
378 if (HIWORD(wParam) == BN_CLICKED)
379 {
380 GeneralDlg_UpdateIcons(hwndDlg, LOWORD(wParam), &general);
381
382 // Enable the 'Apply' button
383 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
384 }
385 break;
387 if (HIWORD(wParam) == BN_CLICKED)
388 {
389 GeneralDlg_OnRestoreDefaults(hwndDlg, &general);
390
391 // Enable the 'Apply' button
392 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
393 }
394 break;
395 }
396 break;
397
398 case WM_NOTIFY:
399 {
400 LPNMHDR pnmh = (LPNMHDR)lParam;
401
402 switch (pnmh->code)
403 {
404 case PSN_SETACTIVE:
405 break;
406
407 case PSN_APPLY:
408 return GeneralDlg_OnApply(hwndDlg, &general);
409 }
410 break;
411 }
412
413 case WM_DESTROY:
414 DestroyIcon(general.hTaskIcon);
415 DestroyIcon(general.hFolderIcon);
416 DestroyIcon(general.hClickIcon);
417 break;
418
419 default:
420 return FALSE;
421 }
422 return FALSE;
423}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
static BOOL GeneralDlg_OnInitDialog(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:306
static VOID GeneralDlg_UpdateIcons(HWND hDlg, UINT nCtrlID, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:183
static void GeneralDlg_OnRestoreDefaults(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:322
static BOOL GeneralDlg_OnApply(HWND hwndDlg, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:335
#define LOWORD(l)
Definition: pedump.c:82
#define PropSheet_Changed(d, w)
Definition: prsht.h:344
#define PSN_APPLY
Definition: prsht.h:117
#define PSN_SETACTIVE
Definition: prsht.h:115
#define WM_NOTIFY
Definition: richedit.h:61
#define IDC_FOLDER_OPTIONS_CLASSICFOLDERS
Definition: shresdef.h:447
#define IDC_FOLDER_OPTIONS_ULBROWSER
Definition: shresdef.h:452
#define IDC_FOLDER_OPTIONS_SINGLECLICK
Definition: shresdef.h:450
#define IDC_FOLDER_OPTIONS_COMMONTASKS
Definition: shresdef.h:446
#define IDC_FOLDER_OPTIONS_SAMEWINDOW
Definition: shresdef.h:448
#define IDC_FOLDER_OPTIONS_DOUBLECLICK
Definition: shresdef.h:451
#define IDC_FOLDER_OPTIONS_ULPOINT
Definition: shresdef.h:453
#define IDC_FOLDER_OPTIONS_RESTORE
Definition: shresdef.h:454
#define IDC_FOLDER_OPTIONS_OWNWINDOW
Definition: shresdef.h:449
HICON hFolderIcon
Definition: general.cpp:178
HICON hClickIcon
Definition: general.cpp:179
HICON hTaskIcon
Definition: general.cpp:177
UINT code
Definition: winuser.h:3235
#define HIWORD(l)
Definition: typedefs.h:247
#define WM_COMMAND
Definition: winuser.h:1759
#define WM_INITDIALOG
Definition: winuser.h:1758
struct tagNMHDR * LPNMHDR
HWND WINAPI GetParent(_In_ HWND)
#define BN_CLICKED
Definition: winuser.h:1944
#define WM_DESTROY
Definition: winuser.h:1628
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2390

Referenced by CFolderOptions::AddPages(), and ShowFolderOptionsDialogThreadProc().

◆ GeneralDlg_OnApply()

static BOOL GeneralDlg_OnApply ( HWND  hwndDlg,
PGENERAL_DIALOG  pGeneral 
)
static

Definition at line 335 of file general.cpp.

336{
338 BOOL bUseCommonTasks = (IsDlgButtonChecked(hwndDlg, IDC_FOLDER_OPTIONS_COMMONTASKS) == BST_CHECKED);
339 BOOL bUnderlineHover = (IsDlgButtonChecked(hwndDlg, IDC_FOLDER_OPTIONS_ULPOINT) == BST_CHECKED);
340 BOOL bNewWindowMode = !(IsDlgButtonChecked(hwndDlg, IDC_FOLDER_OPTIONS_SAMEWINDOW) == BST_CHECKED);
341
342 IntSetUnderlineState(bUnderlineHover);
343 BOOL updateCabinets = IntSetNewWindowMode(bNewWindowMode) == S_OK;
344 IntSetShellStateSettings(bDoubleClick, bUseCommonTasks);
345 if (updateCabinets)
347 return TRUE;
348}
#define TRUE
Definition: types.h:120
unsigned int BOOL
Definition: ntddk_ex.h:94
static BOOL IntSetUnderlineState(BOOL bUnderlineHover)
Definition: general.cpp:95
static BOOL IntSetShellStateSettings(BOOL bDoubleClick, BOOL bUseCommonTasks)
Definition: general.cpp:69
static HRESULT IntSetNewWindowMode(BOOL bNewWindowMode)
Definition: general.cpp:152
#define S_OK
Definition: intsafe.h:52
#define CWM_STATECHANGE
Definition: undocshell.h:244
void PostCabinetMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: view.cpp:178
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
#define BST_CHECKED
Definition: winuser.h:197

Referenced by FolderOptionsGeneralDlg().

◆ GeneralDlg_OnInitDialog()

static BOOL GeneralDlg_OnInitDialog ( HWND  hwndDlg,
PGENERAL_DIALOG  pGeneral 
)
static

Definition at line 306 of file general.cpp.

307{
310 BOOL bDoubleClick = !!ss.fDoubleClickInWebView;
311 BOOL bUseCommonTasks = !!ss.fWebView;
312 BOOL bUnderlineHover = IntGetRawIconUnderlineValue() == UNDERLINE_HOVER;
313 BOOL bNewWindowMode = IntGetNewWindowMode();
314
315 GeneralDlg_StoreToUI(hwndDlg, bDoubleClick, bUseCommonTasks, bUnderlineHover, bNewWindowMode, pGeneral);
316 GeneralDlg_UpdateIcons(hwndDlg, 0, pGeneral);
317
318 return TRUE;
319}
static void GeneralDlg_StoreToUI(HWND hwndDlg, BOOL bDoubleClick, BOOL bUseCommonTasks, BOOL bUnderlineHover, BOOL bNewWindowMode, PGENERAL_DIALOG pGeneral)
Definition: general.cpp:270
static BOOL IntGetNewWindowMode(VOID)
Definition: general.cpp:163
static UINT IntGetRawIconUnderlineValue()
Definition: general.cpp:108
#define ss
Definition: i386-dis.c:441
VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
Definition: shellord.c:225
#define SSF_DOUBLECLICKINWEBVIEW
Definition: shlobj.h:1618
#define SSF_WEBVIEW
Definition: shlobj.h:1628

Referenced by FolderOptionsGeneralDlg().

◆ GeneralDlg_OnRestoreDefaults()

static void GeneralDlg_OnRestoreDefaults ( HWND  hwndDlg,
PGENERAL_DIALOG  pGeneral 
)
static

Definition at line 322 of file general.cpp.

323{
324 // default values
325 BOOL bDoubleClick = TRUE;
326 BOOL bUseCommonTasks = TRUE;
327 BOOL bUnderlineHover = FALSE;
328 BOOL bNewWindowMode = (_WIN32_WINNT < _WIN32_WINNT_WIN2K);
329
330 GeneralDlg_StoreToUI(hwndDlg, bDoubleClick, bUseCommonTasks, bUnderlineHover, bNewWindowMode, pGeneral);
331 GeneralDlg_UpdateIcons(hwndDlg, 0, pGeneral);
332}
#define _WIN32_WINNT
Definition: precomp.h:14
#define _WIN32_WINNT_WIN2K
Definition: sdkddkver.h:21

Referenced by FolderOptionsGeneralDlg().

◆ GeneralDlg_StoreToUI()

static void GeneralDlg_StoreToUI ( HWND  hwndDlg,
BOOL  bDoubleClick,
BOOL  bUseCommonTasks,
BOOL  bUnderlineHover,
BOOL  bNewWindowMode,
PGENERAL_DIALOG  pGeneral 
)
static

Definition at line 270 of file general.cpp.

272{
274 {
276 bDoubleClick = TRUE;
277 bUseCommonTasks = FALSE;
278 }
279
280 EnableWindow(GetDlgItem(hwndDlg, IDC_FOLDER_OPTIONS_COMMONTASKS), bUseCommonTasks); // TODO: ROS DefView does not support WebView nor the tasks pane
281
282 if (bUseCommonTasks)
284 else
286
287 if (bDoubleClick)
289 else
291
292 if (bNewWindowMode)
294 else
296
297 EnableWindow(GetDlgItem(hwndDlg, IDC_FOLDER_OPTIONS_ULBROWSER), !bDoubleClick);
298 EnableWindow(GetDlgItem(hwndDlg, IDC_FOLDER_OPTIONS_ULPOINT), !bDoubleClick);
299 if (bUnderlineHover)
301 else
303}
@ REST_CLASSICSHELL
Definition: shlobj.h:1688
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
Definition: shpolicy.c:166
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
BOOL WINAPI CheckRadioButton(_In_ HWND, _In_ int, _In_ int, _In_ int)

Referenced by GeneralDlg_OnInitDialog(), and GeneralDlg_OnRestoreDefaults().

◆ GeneralDlg_UpdateIcons()

static VOID GeneralDlg_UpdateIcons ( HWND  hDlg,
UINT  nCtrlID,
PGENERAL_DIALOG  pGeneral 
)
static

Definition at line 183 of file general.cpp.

184{
185 HICON hTaskIcon = NULL, hFolderIcon = NULL, hClickIcon = NULL;
186 LPTSTR lpTaskIconName = NULL, lpFolderIconName = NULL, lpClickIconName = NULL;
187
188 // Show task setting icon.
193
194 if (lpTaskIconName)
195 {
196 hTaskIcon = (HICON)LoadImage(shell32_hInstance, lpTaskIconName,
198 if (hTaskIcon)
199 {
200 HWND hwndTaskIcon = GetDlgItem(hDlg, IDC_FOLDER_OPTIONS_TASKICON);
201 SendMessage(hwndTaskIcon, STM_SETIMAGE, IMAGE_ICON, (LPARAM)hTaskIcon);
202 }
203 }
204
205 // Show Folder setting icons
210
211 if (lpFolderIconName)
212 {
213 hFolderIcon = (HICON)LoadImage(shell32_hInstance, lpFolderIconName,
215 if (hFolderIcon)
216 {
217 HWND hwndFolderIcon = GetDlgItem(hDlg, IDC_FOLDER_OPTIONS_FOLDERICON);
218 SendMessage(hwndFolderIcon, STM_SETIMAGE, IMAGE_ICON, (LPARAM)hFolderIcon);
219 }
220 }
221
222 // Show click setting icon
227
228 if (lpClickIconName)
229 {
230 hClickIcon = (HICON)LoadImage(shell32_hInstance, lpClickIconName,
232 if (hClickIcon)
233 {
234 HWND hwndClickIcon = GetDlgItem(hDlg, IDC_FOLDER_OPTIONS_CLICKICON);
235 SendMessage(hwndClickIcon, STM_SETIMAGE, IMAGE_ICON, (LPARAM)hClickIcon);
236 }
237 }
238
239 // Replace icons
240 if (hTaskIcon)
241 {
242 DestroyIcon(pGeneral->hTaskIcon);
243 pGeneral->hTaskIcon = hTaskIcon;
244 }
245 if (hFolderIcon)
246 {
247 DestroyIcon(pGeneral->hFolderIcon);
248 pGeneral->hFolderIcon = hFolderIcon;
249 }
250 if (hClickIcon)
251 {
252 DestroyIcon(pGeneral->hClickIcon);
253 pGeneral->hClickIcon = hClickIcon;
254 }
255
256 if (nCtrlID == IDC_FOLDER_OPTIONS_SINGLECLICK)
257 {
260 }
261
262 if (nCtrlID == IDC_FOLDER_OPTIONS_DOUBLECLICK)
263 {
266 }
267}
#define shell32_hInstance
static HICON
Definition: imagelist.c:80
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
#define IDI_SHELL_OPEN_IN_SOME_WINDOW
Definition: shresdef.h:682
#define IDC_FOLDER_OPTIONS_FOLDERICON
Definition: shresdef.h:444
#define IDI_SHELL_OPEN_IN_NEW_WINDOW
Definition: shresdef.h:683
#define IDI_SHELL_CLASSIC_FOLDERS
Definition: shresdef.h:681
#define IDI_SHELL_SINGLE_CLICK_TO_OPEN
Definition: shresdef.h:684
#define IDC_FOLDER_OPTIONS_CLICKICON
Definition: shresdef.h:445
#define IDI_SHELL_DOUBLE_CLICK_TO_OPEN
Definition: shresdef.h:685
#define IDC_FOLDER_OPTIONS_TASKICON
Definition: shresdef.h:443
#define IDI_SHELL_SHOW_COMMON_TASKS
Definition: shresdef.h:680
LONG_PTR LPARAM
Definition: windef.h:208
#define IMAGE_ICON
Definition: winuser.h:212
#define STM_SETIMAGE
Definition: winuser.h:2112
#define SendMessage
Definition: winuser.h:5928
#define LoadImage
Definition: winuser.h:5900
#define LR_DEFAULTCOLOR
Definition: winuser.h:1098
CHAR * LPTSTR
Definition: xmlstorage.h:192

Referenced by FolderOptionsGeneralDlg(), GeneralDlg_OnInitDialog(), and GeneralDlg_OnRestoreDefaults().

◆ IntGetNewWindowMode()

static BOOL IntGetNewWindowMode ( VOID  )
static

Definition at line 163 of file general.cpp.

164{
166 if (!ReadCabinetState(&cs, sizeof(cs)))
167 return FALSE;
168
169 return !!cs.fNewWindowMode;
170}
#define cs
Definition: i386-dis.c:442
BOOL WINAPI ReadCabinetState(CABINETSTATE *cs, int length)
Definition: shellord.c:1807

Referenced by GeneralDlg_OnInitDialog().

◆ IntGetRawIconUnderlineValue()

static UINT IntGetRawIconUnderlineValue ( )
static

Definition at line 108 of file general.cpp.

109{
110 DWORD dwValue, dwDefault = UNDERLINE_ON;
111 DWORD dwSize = sizeof(dwValue);
112 SHRegGetUSValue(s_pszExplorerKey, L"IconUnderline", NULL, &dwValue, &dwSize, FALSE, &dwDefault, sizeof(dwDefault));
113 return dwValue;
114}
unsigned long DWORD
Definition: ntddk_ex.h:95
static const LPCWSTR s_pszExplorerKey
Definition: general.cpp:26
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define L(x)
Definition: ntvdm.h:50
#define SHRegGetUSValue
Definition: shlwapi.h:543

Referenced by GeneralDlg_OnInitDialog(), and SHELL_GetIconUnderlineMode().

◆ IntSetNewWindowMode()

static HRESULT IntSetNewWindowMode ( BOOL  bNewWindowMode)
static

Definition at line 152 of file general.cpp.

153{
155 if (!ReadCabinetState(&cs, sizeof(cs)))
156 return E_FAIL;
157
158 BOOL changed = !!cs.fNewWindowMode != !!bNewWindowMode;
159 cs.fNewWindowMode = !!bNewWindowMode;
160 return WriteCabinetState(&cs) ? (changed ? S_OK : S_FALSE) : E_FAIL;
161}
#define E_FAIL
Definition: ddrawi.h:102
BOOL WINAPI WriteCabinetState(CABINETSTATE *cs)
Definition: shellord.c:1859
#define S_FALSE
Definition: winerror.h:2357

Referenced by GeneralDlg_OnApply().

◆ IntSetShellStateSettings()

static BOOL IntSetShellStateSettings ( BOOL  bDoubleClick,
BOOL  bUseCommonTasks 
)
static

Definition at line 69 of file general.cpp.

70{
71 SHELLSTATE shellstate;
72 shellstate.fDoubleClickInWebView = !!bDoubleClick;
73 shellstate.fWebView = !!bUseCommonTasks;
75 return TRUE;
76}
BOOL fWebView
Definition: shlobj.h:1563
BOOL fDoubleClickInWebView
Definition: shlobj.h:1555

Referenced by GeneralDlg_OnApply().

◆ IntSetUnderlineState()

static BOOL IntSetUnderlineState ( BOOL  bUnderlineHover)
static

Definition at line 95 of file general.cpp.

96{
98 DWORD dwValue = bUnderlineHover ? UNDERLINE_HOVER : UNDERLINE_IE;
100 &dwValue, sizeof(dwValue), SHREGSET_FORCE_HKCU | SHREGSET_HKLM);
101 if (Status != ERROR_SUCCESS)
102 return FALSE;
103
105 return TRUE;
106}
#define ERROR_SUCCESS
Definition: deptool.c:10
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
DWORD WINAPI SHSendMessageBroadcastW(UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: ordinal.c:4072
Status
Definition: gdiplustypes.h:25
#define REG_NONE
Definition: nt_native.h:1492
#define REGSTR_PATH_EXPLORER
Definition: regstr.h:33
#define SHRegSetUSValue
Definition: shlwapi.h:565
#define SHREGSET_HKLM
Definition: shlwapi.h:322
#define SHREGSET_FORCE_HKCU
Definition: shlwapi.h:321
#define WM_SETTINGCHANGE
Definition: winuser.h:1648

Referenced by GeneralDlg_OnApply().

◆ SHELL32_GetDefaultShellState()

EXTERN_C void SHELL32_GetDefaultShellState ( LPSHELLSTATE  pss)

Definition at line 34 of file general.cpp.

35{
36 ZeroMemory(pss, sizeof(*pss));
37 pss->fShowAllObjects = TRUE;
38 pss->fShowExtensions = TRUE;
39 pss->fShowCompColor = TRUE;
41 pss->fShowAttribCol = TRUE; // ROS defaults to Details view with this column on
42 pss->fShowInfoTip = TRUE;
45 pss->iSortDirection = 1;
47 pss->fSepProcess = FALSE;
48 pss->fStartPanelOn = FALSE; // Note: This should be changed to TRUE when the modern start menu is implemented
49}
#define SHFSF_COL_NAME
Definition: shfldr.h:44
BOOL fShowSuperHidden
Definition: shlobj.h:1565
BOOL fShowExtensions
Definition: shlobj.h:1550
LONG lParamSort
Definition: shlobj.h:1571
BOOL fShowAttribCol
Definition: shlobj.h:1559
BOOL fShowCompColor
Definition: shlobj.h:1554
BOOL fShowInfoTip
Definition: shlobj.h:1561
UINT version
Definition: shlobj.h:1573
BOOL fSepProcess
Definition: shlobj.h:1575
int iSortDirection
Definition: shlobj.h:1572
BOOL fShowAllObjects
Definition: shlobj.h:1549
BOOL fStartPanelOn
Definition: shlobj.h:1576
#define REGSHELLSTATE_VERSION
Definition: undocshell.h:585
#define ZeroMemory
Definition: winbase.h:1753

Referenced by SHGetSetSettings().

◆ SHELL32_ReadRegShellState()

EXTERN_C BOOL SHELL32_ReadRegShellState ( PREGSHELLSTATE  prss)

Definition at line 79 of file general.cpp.

80{
81 DWORD dwSize = sizeof(REGSHELLSTATE);
83 L"ShellState", NULL, prss, &dwSize);
84 return err == ERROR_SUCCESS && prss->dwSize >= REGSHELLSTATE_SIZE;
85}
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1236
#define err(...)
#define REGSHELLSTATE_SIZE
Definition: undocshell.h:584
#define HKEY_CURRENT_USER
Definition: winreg.h:11

Referenced by SHGetSetSettings().

◆ SHELL32_WriteRegShellState()

EXTERN_C LSTATUS SHELL32_WriteRegShellState ( PREGSHELLSTATE  prss)

Definition at line 52 of file general.cpp.

53{
57 REG_BINARY, prss, prss->dwSize);
58}
DWORD WINAPI SHSetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData)
Definition: reg.c:1306
#define REG_BINARY
Definition: nt_native.h:1496
SHELLSTATE ss
Definition: ShellState.cpp:22

Referenced by SHGetSetSettings().

◆ SHELL_GetIconUnderlineFlags()

UINT SHELL_GetIconUnderlineFlags ( )

Definition at line 134 of file general.cpp.

135{
137 if (mode == UNDERLINE_HOVER)
138 return LVS_EX_UNDERLINEHOT;
139 if (mode == UNDERLINE_ON)
141 return 0;
142}
static UINT SHELL_GetIconUnderlineMode()
Definition: general.cpp:116
GLenum mode
Definition: glext.h:6217
unsigned int UINT
Definition: ndis.h:50
#define LVS_EX_UNDERLINECOLD
Definition: commctrl.h:2746
#define LVS_EX_UNDERLINEHOT
Definition: commctrl.h:2745

Referenced by CDefView::CreateList(), and CDefView::OnSettingChange().

◆ SHELL_GetIconUnderlineMode()

static UINT SHELL_GetIconUnderlineMode ( )
static

Definition at line 116 of file general.cpp.

117{
119 if (mode < UNDERLINE_IE)
120 return mode;
121
122 WCHAR buf[sizeof("hoverX")];
123 *buf = UNICODE_NULL;
124 DWORD cb = sizeof(buf);
125 SHRegGetUSValueW(L"Software\\Microsoft\\Internet Explorer\\Main",
126 L"Anchor Underline", NULL, buf, &cb, FALSE, buf, cb);
127 if (!lstrcmpiW(buf, L"no"))
128 return UNDERLINE_OFF;
129 if (!lstrcmpiW(buf, L"hover"))
130 return UNDERLINE_HOVER;
131 return UNDERLINE_ON;
132}
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
Definition: locale.c:4262
LONG WINAPI SHRegGetUSValueW(const WCHAR *subkey, const WCHAR *value, DWORD *type, void *data, DWORD *data_len, BOOL ignore_hkcu, void *default_data, DWORD default_data_len)
Definition: registry.c:4077
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
#define UNICODE_NULL
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by SHELL_GetIconUnderlineFlags().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( fprop  )

Variable Documentation

◆ s_pszExplorerKey