Alexandre Julliard : user32: Support more user preference system parameters .

Alexandre Julliard julliard at winehq.org
Wed Nov 14 13:17:16 CST 2012


Module: wine
Branch: master
Commit: 270979dc9ee30cd018f8b1070a8a8bf8eb7f3e7d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=270979dc9ee30cd018f8b1070a8a8bf8eb7f3e7d

Author: Alexandre Julliard <julliard at 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;




More information about the wine-cvs mailing list