[3/4] shell32: return command strings for a few more commands

Daniel Jeliński djelinski1 at gmail.com
Sat Aug 10 16:25:42 CDT 2013


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130810/c91ce919/attachment.html>
-------------- next part --------------
From d4244737f3fa975d83c9dee9e3ebf13dcbfdf553 Mon Sep 17 00:00:00 2001
From: Daniel Jelinski <djelinski1 at gmail.com>
Date: Sat, 10 Aug 2013 19:23:53 +0200
Subject: shell32: return command strings for a few more commands

Partially fixes bug 21766 - in Total Commander with this patch only "Rename" from context menu acts as rename.
Many other commands still don't work as expected.
---
 dlls/shell32/shlview_cmenu.c | 56 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
index b7dc994..6004afc 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -505,6 +505,34 @@ static HRESULT WINAPI ItemMenu_GetCommandString(
 	  case GCS_VERBA:
 	    switch(idCommand)
 	    {
+            case FCIDM_SHVIEW_OPEN:
+                strcpy(lpszName, "open");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_EXPLORE:
+                strcpy(lpszName, "explore");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_CUT:
+                strcpy(lpszName, "cut");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_COPY:
+                strcpy(lpszName, "copy");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_CREATELINK:
+                strcpy(lpszName, "link");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_DELETE:
+                strcpy(lpszName, "delete");
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_PROPERTIES:
+                strcpy(lpszName, "properties");
+                hr = S_OK;
+                break;
 	    case FCIDM_SHVIEW_RENAME:
 	        strcpy(lpszName, "rename");
 	        hr = S_OK;
@@ -517,6 +545,34 @@ static HRESULT WINAPI ItemMenu_GetCommandString(
 	  case GCS_VERBW:
 	    switch(idCommand)
 	    {
+            case FCIDM_SHVIEW_OPEN:
+                MultiByteToWideChar(CP_ACP, 0, "open", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_EXPLORE:
+                MultiByteToWideChar(CP_ACP, 0, "explore", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_CUT:
+                MultiByteToWideChar(CP_ACP, 0, "cut", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_COPY:
+                MultiByteToWideChar(CP_ACP, 0, "copy", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_CREATELINK:
+                MultiByteToWideChar(CP_ACP, 0, "link", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_DELETE:
+                MultiByteToWideChar(CP_ACP, 0, "delete", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
+            case FCIDM_SHVIEW_PROPERTIES:
+                MultiByteToWideChar(CP_ACP, 0, "properties", -1, (LPWSTR)lpszName, uMaxNameLen);
+                hr = S_OK;
+                break;
 	    case FCIDM_SHVIEW_RENAME:
                 MultiByteToWideChar( CP_ACP, 0, "rename", -1, (LPWSTR)lpszName, uMaxNameLen );
 	        hr = S_OK;
-- 
1.8.1.2


More information about the wine-patches mailing list