Nikolay Sivov : shell32: Get rid of menu enabling helper.

Alexandre Julliard julliard at winehq.org
Wed Jan 11 13:39:59 CST 2012


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Jan 11 03:51:14 2012 +0300

shell32: Get rid of menu enabling helper.

---

 dlls/shell32/shlview_cmenu.c |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
index 3bcf701..3c3f369 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -66,20 +66,6 @@ static inline ContextMenu *impl_from_IContextMenu2(IContextMenu2 *iface)
     return CONTAINING_RECORD(iface, ContextMenu, IContextMenu2_iface);
 }
 
-static BOOL ItemMenu_CanRenameItems(ContextMenu *This)
-{
-    DWORD attr;
-
-    TRACE("(%p)\n", This);
-
-    /* can't rename more than one item at a time*/
-    if (!This->apidl || This->cidl > 1) return FALSE;
-
-    attr = SFGAO_CANRENAME;
-    IShellFolder_GetAttributesOf(This->parent, 1, (LPCITEMIDLIST*)This->apidl, &attr);
-    return attr & SFGAO_CANRENAME;
-}
-
 static HRESULT WINAPI ItemMenu_QueryInterface(IContextMenu2 *iface, REFIID riid, LPVOID *ppvObj)
 {
     ContextMenu *This = impl_from_IContextMenu2(iface);
@@ -189,7 +175,22 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
         if(uFlags & ~CMF_CANRENAME)
             RemoveMenu(hmenu, FCIDM_SHVIEW_RENAME, MF_BYCOMMAND);
         else
-            EnableMenuItem(hmenu, FCIDM_SHVIEW_RENAME, MF_BYCOMMAND | ItemMenu_CanRenameItems(This) ? MFS_ENABLED : MFS_DISABLED);
+        {
+            UINT enable = MF_BYCOMMAND;
+
+            /* can't rename more than one item at a time*/
+            if (!This->apidl || This->cidl > 1)
+                enable |= MFS_DISABLED;
+            else
+            {
+                DWORD attr = SFGAO_CANRENAME;
+
+                IShellFolder_GetAttributesOf(This->parent, 1, (LPCITEMIDLIST*)This->apidl, &attr);
+                enable |= (attr & SFGAO_CANRENAME) ? MFS_ENABLED : MFS_DISABLED;
+            }
+
+            EnableMenuItem(hmenu, FCIDM_SHVIEW_RENAME, enable);
+        }
 
         return MAKE_HRESULT(SEVERITY_SUCCESS, 0, uIDMax-idCmdFirst);
     }




More information about the wine-cvs mailing list