Module: wine Branch: master Commit: 270979dc9ee30cd018f8b1070a8a8bf8eb7f3e7d URL: http://source.winehq.org/git/wine.git/?a=commit;h=270979dc9ee30cd018f8b1070a...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Nov 14 12:54:41 2012 +0100
user32: Support more user preference system parameters.
---
dlls/user32/sysparams.c | 114 ++++++++++++++++++++++++++++++----------------- 1 files changed, 73 insertions(+), 41 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 66e12a3..5070469 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -1264,7 +1264,7 @@ static BOOL set_binary_entry( union sysparam_all_entry *entry, UINT int_param, v static BOOL get_userpref_entry( union sysparam_all_entry *entry, UINT int_param, void *ptr_param ) { union sysparam_all_entry *parent_entry = (union sysparam_all_entry *)entry->pref.parent; - BYTE prefs[4]; + BYTE prefs[8];
if (!ptr_param) return FALSE;
@@ -1277,7 +1277,7 @@ static BOOL get_userpref_entry( union sysparam_all_entry *entry, UINT int_param, static BOOL set_userpref_entry( union sysparam_all_entry *entry, UINT int_param, void *ptr_param, UINT flags ) { union sysparam_all_entry *parent_entry = (union sysparam_all_entry *)entry->pref.parent; - BYTE prefs[4]; + BYTE prefs[8];
parent_entry->hdr.loaded = FALSE; /* force loading it again */ if (!parent_entry->hdr.get( parent_entry, sizeof(prefs), prefs )) return FALSE; @@ -1404,26 +1404,33 @@ static DWORD_ENTRY( FOREGROUNDFLASHCOUNT, 3 ); static DWORD_ENTRY( FOREGROUNDLOCKTIMEOUT, 0 ); static DWORD_ENTRY( MOUSECLICKLOCKTIME, 1200 );
-static BYTE user_prefs[4]; +static BYTE user_prefs[8] = { 0x30, 0x00, 0x02, 0x80, 0x10, 0x00, 0x00, 0x00 }; static BINARY_ENTRY( USERPREFERENCESMASK, user_prefs );
static FONT_ENTRY( ICONTITLELOGFONT );
-static USERPREF_ENTRY( MENUANIMATION, 0, 0x02 ); -static USERPREF_ENTRY( COMBOBOXANIMATION, 0, 0x04 ); -static USERPREF_ENTRY( LISTBOXSMOOTHSCROLLING, 0, 0x08 ); -static USERPREF_ENTRY( GRADIENTCAPTIONS, 0, 0x10 ); -static USERPREF_ENTRY( KEYBOARDCUES, 0, 0x20 ); -static USERPREF_ENTRY( HOTTRACKING, 0, 0x80 ); -static USERPREF_ENTRY( SELECTIONFADE, 1, 0x04 ); -static USERPREF_ENTRY( TOOLTIPANIMATION, 1, 0x08 ); -static USERPREF_ENTRY( TOOLTIPFADE, 1, 0x10 ); -static USERPREF_ENTRY( CURSORSHADOW, 1, 0x20 ); -static USERPREF_ENTRY( MOUSEVANISH, 2, 0x01 ); -static USERPREF_ENTRY( FLATMENU, 2, 0x02 ); -static USERPREF_ENTRY( DROPSHADOW, 2, 0x04 ); -static USERPREF_ENTRY( UIEFFECTS, 3, 0x80 ); - +static USERPREF_ENTRY( MENUANIMATION, 0, 0x02 ); +static USERPREF_ENTRY( COMBOBOXANIMATION, 0, 0x04 ); +static USERPREF_ENTRY( LISTBOXSMOOTHSCROLLING, 0, 0x08 ); +static USERPREF_ENTRY( GRADIENTCAPTIONS, 0, 0x10 ); +static USERPREF_ENTRY( KEYBOARDCUES, 0, 0x20 ); +static USERPREF_ENTRY( ACTIVEWNDTRKZORDER, 0, 0x40 ); +static USERPREF_ENTRY( HOTTRACKING, 0, 0x80 ); +static USERPREF_ENTRY( MENUFADE, 1, 0x02 ); +static USERPREF_ENTRY( SELECTIONFADE, 1, 0x04 ); +static USERPREF_ENTRY( TOOLTIPANIMATION, 1, 0x08 ); +static USERPREF_ENTRY( TOOLTIPFADE, 1, 0x10 ); +static USERPREF_ENTRY( CURSORSHADOW, 1, 0x20 ); +static USERPREF_ENTRY( MOUSESONAR, 1, 0x40 ); +static USERPREF_ENTRY( MOUSECLICKLOCK, 1, 0x80 ); +static USERPREF_ENTRY( MOUSEVANISH, 2, 0x01 ); +static USERPREF_ENTRY( FLATMENU, 2, 0x02 ); +static USERPREF_ENTRY( DROPSHADOW, 2, 0x04 ); +static USERPREF_ENTRY( UIEFFECTS, 3, 0x80 ); +static USERPREF_ENTRY( DISABLEOVERLAPPEDCONTENT, 4, 0x01 ); +static USERPREF_ENTRY( CLIENTAREAANIMATION, 4, 0x02 ); +static USERPREF_ENTRY( CLEARTYPE, 4, 0x10 ); +static USERPREF_ENTRY( SPEECHRECOGNITION, 4, 0x20 );
/*********************************************************************** * SystemParametersInfoW (USER32.@) @@ -2201,18 +2208,24 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam, case SPI_SETKEYBOARDCUES: ret = set_entry( &entry_KEYBOARDCUES, uiParam, pvParam, fWinIni ); break; - - WINE_SPI_FIXME(SPI_GETACTIVEWNDTRKZORDER); /* 0x100C _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */ - WINE_SPI_FIXME(SPI_SETACTIVEWNDTRKZORDER); /* 0x100D _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */ + case SPI_GETACTIVEWNDTRKZORDER: + ret = get_entry( &entry_ACTIVEWNDTRKZORDER, uiParam, pvParam ); + break; + case SPI_SETACTIVEWNDTRKZORDER: + ret = set_entry( &entry_ACTIVEWNDTRKZORDER, uiParam, pvParam, fWinIni ); + break; case SPI_GETHOTTRACKING: ret = get_entry( &entry_HOTTRACKING, uiParam, pvParam ); break; case SPI_SETHOTTRACKING: ret = set_entry( &entry_HOTTRACKING, uiParam, pvParam, fWinIni ); break; - - WINE_SPI_FIXME(SPI_GETMENUFADE); /* 0x1012 _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */ - WINE_SPI_FIXME(SPI_SETMENUFADE); /* 0x1013 _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */ + case SPI_GETMENUFADE: + ret = get_entry( &entry_MENUFADE, uiParam, pvParam ); + break; + case SPI_SETMENUFADE: + ret = set_entry( &entry_MENUFADE, uiParam, pvParam, fWinIni ); + break; case SPI_GETSELECTIONFADE: ret = get_entry( &entry_SELECTIONFADE, uiParam, pvParam ); break; @@ -2237,12 +2250,18 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam, case SPI_SETCURSORSHADOW: ret = set_entry( &entry_CURSORSHADOW, uiParam, pvParam, fWinIni ); break; - - WINE_SPI_FIXME(SPI_GETMOUSESONAR); /* 0x101C _WIN32_WINNT >= 0x510 || _WIN32_WINDOW >= 0x490*/ - WINE_SPI_FIXME(SPI_SETMOUSESONAR); /* 0x101D _WIN32_WINNT >= 0x510 || _WIN32_WINDOW >= 0x490*/ - WINE_SPI_FIXME(SPI_GETMOUSECLICKLOCK); /* 0x101E _WIN32_WINNT >= 0x510 || _WIN32_WINDOW >= 0x490*/ - WINE_SPI_FIXME(SPI_SETMOUSECLICKLOCK); /* 0x101F _WIN32_WINNT >= 0x510 || _WIN32_WINDOW >= 0x490*/ - + case SPI_GETMOUSESONAR: + ret = get_entry( &entry_MOUSESONAR, uiParam, pvParam ); + break; + case SPI_SETMOUSESONAR: + ret = set_entry( &entry_MOUSESONAR, uiParam, pvParam, fWinIni ); + break; + case SPI_GETMOUSECLICKLOCK: + ret = get_entry( &entry_MOUSECLICKLOCK, uiParam, pvParam ); + break; + case SPI_SETMOUSECLICKLOCK: + ret = set_entry( &entry_MOUSECLICKLOCK, uiParam, pvParam, fWinIni ); + break; case SPI_GETMOUSEVANISH: ret = get_entry( &entry_MOUSEVANISH, uiParam, pvParam ); break; @@ -2274,17 +2293,30 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam, /* FIXME: this probably should mask other UI effect values when unset */ ret = set_entry( &entry_UIEFFECTS, uiParam, pvParam, fWinIni ); break; - - /* _WIN32_WINNT >= 0x600 */ - WINE_SPI_FIXME(SPI_GETDISABLEOVERLAPPEDCONTENT); - WINE_SPI_FIXME(SPI_SETDISABLEOVERLAPPEDCONTENT); - WINE_SPI_FIXME(SPI_GETCLIENTAREAANIMATION); - WINE_SPI_FIXME(SPI_SETCLIENTAREAANIMATION); - WINE_SPI_FIXME(SPI_GETCLEARTYPE); - WINE_SPI_FIXME(SPI_SETCLEARTYPE); - WINE_SPI_FIXME(SPI_GETSPEECHRECOGNITION); - WINE_SPI_FIXME(SPI_SETSPEECHRECOGNITION); - + case SPI_GETDISABLEOVERLAPPEDCONTENT: + ret = get_entry( &entry_DISABLEOVERLAPPEDCONTENT, uiParam, pvParam ); + break; + case SPI_SETDISABLEOVERLAPPEDCONTENT: + ret = set_entry( &entry_DISABLEOVERLAPPEDCONTENT, uiParam, pvParam, fWinIni ); + break; + case SPI_GETCLIENTAREAANIMATION: + ret = get_entry( &entry_CLIENTAREAANIMATION, uiParam, pvParam ); + break; + case SPI_SETCLIENTAREAANIMATION: + ret = set_entry( &entry_CLIENTAREAANIMATION, uiParam, pvParam, fWinIni ); + break; + case SPI_GETCLEARTYPE: + ret = get_entry( &entry_CLEARTYPE, uiParam, pvParam ); + break; + case SPI_SETCLEARTYPE: + ret = set_entry( &entry_CLEARTYPE, uiParam, pvParam, fWinIni ); + break; + case SPI_GETSPEECHRECOGNITION: + ret = get_entry( &entry_SPEECHRECOGNITION, uiParam, pvParam ); + break; + case SPI_SETSPEECHRECOGNITION: + ret = set_entry( &entry_SPEECHRECOGNITION, uiParam, pvParam, fWinIni ); + break; case SPI_GETFOREGROUNDLOCKTIMEOUT: ret = get_entry( &entry_FOREGROUNDLOCKTIMEOUT, uiParam, pvParam ); break;