OSDN Git Service

Add "Send Mail " for .patch and .diff file.
authorFrank Li <lznuaa@gmail.com>
Sat, 11 Apr 2009 14:01:05 +0000 (22:01 +0800)
committerFrank Li <lznuaa@gmail.com>
Sat, 11 Apr 2009 14:01:05 +0000 (22:01 +0800)
Change "Apply patch" to review with tortoisemerge
Add "Am patch " for .patch and .diff file.

Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Resources/menusendmail.ico [new file with mode: 0644]
src/TortoiseShell/ContextMenu.cpp
src/TortoiseShell/Globals.h
src/TortoiseShell/ShellExt.h
src/TortoiseShell/TortoiseShell.vcproj
src/TortoiseShell/resource.h
src/TortoiseShell/resourceshell.rc

diff --git a/src/Resources/menusendmail.ico b/src/Resources/menusendmail.ico
new file mode 100644 (file)
index 0000000..c0f92a8
Binary files /dev/null and b/src/Resources/menusendmail.ico differ
index 2620933..d41c0ae 100644 (file)
@@ -201,14 +201,17 @@ CShellExt::MenuInfo CShellExt::menuInfo[] =
        ITEMIS_INSVN, ITEMIS_NORMAL, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },\r
 \r
        { ShellMenuImportPatch,                                 MENUIMPORTPATCH,        IDI_PATCH,                              IDS_MENUIMPORTPATCH,            IDS_MENUDESCCREATEPATCH,\r
-       ITEMIS_INSVN, ITEMIS_NORMAL, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },\r
+       ITEMIS_INSVN, ITEMIS_NORMAL, ITEMIS_FOLDERINSVN, 0, ITEMIS_PATCHFILE, 0, 0, 0 },\r
 \r
 \r
        { ShellMenuCreatePatch,                                 MENUCREATEPATCH,        IDI_CREATEPATCH,                IDS_MENUCREATEPATCH,            IDS_MENUDESCCREATEPATCH,\r
        ITEMIS_INSVN|ITEMIS_EXTENDED, ITEMIS_NORMAL, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED, 0, 0, 0, 0, 0 },\r
 \r
        { ShellMenuApplyPatch,                                  MENUAPPLYPATCH,         IDI_PATCH,                              IDS_MENUAPPLYPATCH,                     IDS_MENUDESCAPPLYPATCH,\r
-       ITEMIS_INSVN|ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED, ITEMIS_ADDED, ITEMIS_ONLYONE|ITEMIS_PATCHFILE|ITEMIS_EXTENDED, 0, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED, ITEMIS_ADDED, 0, 0 },\r
+       ITEMIS_INSVN|ITEMIS_FOLDER|ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED, ITEMIS_ADDED, ITEMIS_ONLYONE|ITEMIS_PATCHFILE, 0, ITEMIS_FOLDERINSVN|ITEMIS_EXTENDED, ITEMIS_ADDED, 0, 0 },\r
+\r
+       { ShellMenuSendMail,                                    MENUSENDMAIL,           IDI_MENUSENDMAIL,                       IDS_MENUSENDMAIL,                       IDS_MENUDESSENDMAIL,\r
+       ITEMIS_PATCHFILE, 0,  0, 0,  0, 0, 0, 0 },\r
 \r
 //     { ShellMenuProperties,                                  MENUPROPERTIES,         IDI_PROPERTIES,                 IDS_MENUPROPERTIES,                     IDS_MENUDESCPROPERTIES,\r
 //     ITEMIS_INSVN, 0, ITEMIS_FOLDERINSVN, 0, 0, 0, 0, 0 },\r
@@ -1587,6 +1590,13 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
                                svnCmd += _T("\"");\r
                                svnCmd += _T(" /deletepathfile");\r
                                break;\r
+                       case ShellMenuSendMail:\r
+                               tempfile = WriteFileListToTempFile();\r
+                               svnCmd += _T("sendmail /pathfile:\"");\r
+                               svnCmd += tempfile;\r
+                               svnCmd += _T("\"");\r
+                               svnCmd += _T(" /deletepathfile");\r
+                               break;\r
                        case ShellMenuResolve:\r
                                tempfile = WriteFileListToTempFile();\r
                                svnCmd += _T("resolve /pathfile:\"");\r
index 63b4e22..c404f83 100644 (file)
@@ -26,7 +26,7 @@
 #define MENUCLEANUP                    0x0000000000000020\r
 #define MENURESOLVE                0x0000000000000040\r
 #define MENUSWITCH                     0x0000000000000080\r
-//#define MENUIMPORT           0x0000000000000100\r
+#define MENUSENDMAIL           0x0000000000000100\r
 #define MENUEXPORT                     0x0000000000000200\r
 #define MENUCREATEREPOS                0x0000000000000400\r
 #define MENUCOPY                       0x0000000000000800\r
index acd24c7..190276c 100644 (file)
@@ -162,6 +162,7 @@ protected:
                ShellMenuStashList,\r
                ShellMenuSubAdd,\r
                ShellMenuSubSync,\r
+               ShellMenuSendMail,\r
                ShellMenuLastEntry                      // used to mark the menu array end\r
        };\r
 \r
index 75dedef..62ef7d3 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\icon2.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menuabout.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\menuedit.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menuexport.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\menupick.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menuproperties.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\menusendmail.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menusettings.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\menuskip.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\Resources\menusquash.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menuswitch.ico"\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\menusync.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\menuunlock.ico"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\Push.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath=".\resourceshell.rc"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\Resources\tag.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\Resources\Tortoise.ico"\r
                                >\r
                        </File>\r
index 7845903..6519125 100644 (file)
@@ -1,6 +1,6 @@
 //{{NO_DEPENDENCIES}}\r
 // Microsoft Visual C++ generated include file.\r
-// Used by resource.rc\r
+// Used by resourceshell.rc\r
 //\r
 #define IDI_PULL                        5\r
 #define IDD_PROPPAGE                    107\r
 #define IDS_git_DEPTH_EXCLUDE           304\r
 #define IDS_git_DEPTH_UNKNOWN           305\r
 #define IDS_git_DEPTH_WORKING           306\r
-#define IDS_MENUTAG                                            307\r
-#define        IDS_MENUFORMATPATCH                             308\r
-#define IDS_MENUIMPORTPATCH                            309\r
-#define IDS_MENUCHERRYPICK                             310\r
-#define IDS_MENUFETCH                                  311\r
-#define IDS_MENUREBASE                                 312\r
-#define IDS_MENUSTASHSAVE                              313\r
-#define IDS_MENUSTASHAPPLY                             314\r
-#define IDS_MENUSUBADD                                 315\r
-#define IDS_MENUSUBSYNC                                        316\r
-#define IDS_MENUREFLOG                                 317\r
-#define IDS_MENUDESCREFLOG                             318\r
-#define IDS_MENUSTASHLIST                              319\r
-#define IDS_REFLOG_DEL                                 320\r
-#define IDI_MENUSYNC                                   321\r
-\r
+#define IDS_MENUTAG                     307\r
+#define IDS_MENUFORMATPATCH             308\r
+#define IDS_MENUIMPORTPATCH             309\r
+#define IDS_MENUCHERRYPICK              310\r
+#define IDS_MENUFETCH                   311\r
+#define IDS_MENUREBASE                  312\r
+#define IDS_MENUSTASHSAVE               313\r
+#define IDS_MENUSTASHAPPLY              314\r
+#define IDS_MENUSUBADD                  315\r
+#define IDS_MENUSUBSYNC                 316\r
+#define IDS_MENUREFLOG                  317\r
+#define IDS_MENUDESCREFLOG              318\r
+#define IDS_MENUSTASHLIST               319\r
+#define IDS_REFLOG_DEL                  320\r
+#define IDI_MENUSYNC                    321\r
+#define IDS_MENUSENDMAIL                321\r
+#define IDS_MENUDESSENDMAIL             322\r
 #define IDC_REVISION                    1001\r
 #define IDC_LOCKED                      1002\r
 #define IDC_REPOURL                     1003\r
 #define IDI_ICON1                       5165\r
 #define IDI_PUSH                        5166\r
 #define IDI_CLONE                       5167\r
-#define IDI_TAG                                                        5168\r
-#define IDI_REBASE                                             5169\r
-#define IDI_COMBINE                                            5170\r
-#define IDI_SKIP                                               5171\r
-#define IDI_EDIT                                               5172\r
-#define IDI_SQUASH                                             5173\r
-#define IDI_PICK                                               5174\r
+#define IDI_TAG                         5168\r
+#define IDI_REBASE                      5169\r
+#define IDI_COMBINE                     5170\r
+#define IDI_SKIP                        5171\r
+#define IDI_EDIT                        5172\r
+#define IDI_SQUASH                      5173\r
+#define IDI_PICK                        5174\r
+#define IDI_MENUSENDMAIL                5175\r
 #define IDC_LOCKOWNER                   11019\r
 #define IDC_LOCKDATE                    11020\r
 #define IDC_EDITPROPERTIES              11021\r
 // \r
 #ifdef APSTUDIO_INVOKED\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        5166\r
+#define _APS_NEXT_RESOURCE_VALUE        5176\r
 #define _APS_NEXT_COMMAND_VALUE         40001\r
 #define _APS_NEXT_CONTROL_VALUE         11026\r
 #define _APS_NEXT_SYMED_VALUE           5101\r
index 848f46e..7918c96 100644 (file)
@@ -71,14 +71,14 @@ IDI_APPSMALL            ICON                    "..\\Resources\\TortoiseSmall.ic
 IDI_CLIPPASTE           ICON                    "..\\Resources\\clippaste.ico"\r
 IDI_PUSH                ICON                    "..\\resources\\Push.ico"\r
 IDI_CLONE               ICON                    "..\\resources\\checkout.ico"\r
-IDI_TAG                                        ICON                                    "..\\resources\\Tag.ico"\r
-IDI_REBASE                             ICON                                    "..\\resources\\menurebase.ico"\r
-IDI_COMBINE                            ICON                                    "..\\resources\\menucombine.ico"\r
-IDI_SKIP                               ICON                                    "..\\resources\\menuskip.ico"\r
-IDI_SQUASH                             ICON                                    "..\\resources\\menusquash.ico"\r
-IDI_EDIT                               ICON                                    "..\\resources\\menuedit.ico"\r
-IDI_PICK                               ICON                                    "..\\resources\\menupick.ico"\r
-IDI_MENUSYNC                   ICON                                    "..\\resources\\menusync.ico"\r
+IDI_TAG                 ICON                    "..\\resources\\Tag.ico"\r
+IDI_REBASE              ICON                    "..\\resources\\menurebase.ico"\r
+IDI_COMBINE             ICON                    "..\\resources\\menucombine.ico"\r
+IDI_SKIP                ICON                    "..\\resources\\menuskip.ico"\r
+IDI_SQUASH              ICON                    "..\\resources\\menusquash.ico"\r
+IDI_EDIT                ICON                    "..\\resources\\menuedit.ico"\r
+IDI_PICK                ICON                    "..\\resources\\menupick.ico"\r
+IDI_MENUSYNC            ICON                    "..\\resources\\menusync.ico"\r
 #endif    // Neutral resources\r
 /////////////////////////////////////////////////////////////////////////////\r
 \r
@@ -99,7 +99,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 \r
 // Icon with lowest ID value placed first to ensure application icon\r
 // remains consistent on all systems.\r
-\r
+IDI_MENUSENDMAIL        ICON                    "..\\resources\\menusendmail.ico"\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -171,7 +171,7 @@ END
 BEGIN\r
     "LANGUAGE 9, 1\r\n"\r
     "#pragma code_page(1252)\r\n"\r
-    "#include ""resource.rc2""  // non-Microsoft Visual C++ edited resources\r\n"\r
+    "#include ""resourceshell.rc2""  // non-Microsoft Visual C++ edited resources\r\n"\r
     "\0"\r
 END\r
 \r
@@ -255,20 +255,30 @@ BEGIN
     IDS_STATUSMODIFIED      "modified"\r
 END\r
 \r
-STRINGTABLE\r
+STRINGTABLE \r
+BEGIN\r
+    IDS_git_DEPTH_UNKNOWN   "Unknown depth"\r
+    IDS_git_DEPTH_WORKING   "Working copy"\r
+    IDS_MENUTAG             "Create Tag..."\r
+    IDS_MENUFORMATPATCH     "Create Patch Serial..."\r
+    IDS_MENUIMPORTPATCH     "Apply Patch Serial..."\r
+    IDS_MENUCHERRYPICK      "Cherry Pick..."\r
+    IDS_MENUFETCH           "Fetch..."\r
+    IDS_MENUREBASE          "*Rebase..."\r
+    IDS_MENUSTASHSAVE       "Stash Save"\r
+    IDS_MENUSTASHAPPLY      "Stash Apply"\r
+    IDS_MENUSUBADD          "Submodule Add"\r
+    IDS_MENUSUBSYNC         "Submodule Sync"\r
+    IDS_MENUREFLOG          "Show &Reflog"\r
+    IDS_MENUDESCREFLOG      "Shows reference log"\r
+    IDS_MENUSTASHLIST       "Stash List"\r
+END\r
+\r
+STRINGTABLE \r
 BEGIN\r
-       IDS_MENUTAG                             "Create Tag..."\r
-       IDS_MENUFORMATPATCH             "Create Patch Serial..."\r
-       IDS_MENUIMPORTPATCH             "Apply Patch Serial..."\r
-       IDS_MENUCHERRYPICK              "Cherry Pick..."\r
-       IDS_MENUFETCH                   "Fetch..."\r
-       IDS_MENUREBASE                  "*Rebase..."\r
-       IDS_MENUSTASHSAVE               "Stash Save"\r
-       IDS_MENUSTASHAPPLY              "Stash Apply"\r
-       IDS_MENUSTASHLIST               "Stash List"\r
-       IDS_MENUSUBADD                  "Submodule Add"\r
-       IDS_MENUSUBSYNC                 "Submodule Sync"\r
-       IDS_REFLOG_DEL                  "Delete Ref..."\r
+    IDS_REFLOG_DEL          "Delete Ref..."\r
+    IDS_MENUSENDMAIL        "Send Mail..."\r
+    IDS_MENUDESSENDMAIL     "Send Patch by Email"\r
 END\r
 \r
 STRINGTABLE \r
@@ -308,7 +318,7 @@ BEGIN
     IDS_STATUSEXTERNAL      "external"\r
     IDS_MENUDESCBLAME       "Blames each line of a file on an author"\r
     IDS_MENUCREATEPATCH     "Create &patch..."\r
-    IDS_MENUAPPLYPATCH      "Apply &patch..."\r
+    IDS_MENUAPPLYPATCH      "Review &patch..."\r
 END\r
 \r
 STRINGTABLE \r
@@ -318,9 +328,7 @@ BEGIN
     IDS_DROPCOPYADDMENU     "Git Copy and add files to this WC"\r
     IDS_DROPMOVEMENU        "Git Move versioned item(s) here"\r
     IDS_MENULOG             "Show &log"\r
-       IDS_MENUREFLOG          "Show &Reflog"\r
     IDS_MENUDESCLOG         "Shows the log for the selected file / folder"\r
-       IDS_MENUDESCREFLOG      "Shows reference log"\r
     IDS_COLTITLEURL         "Git URL"\r
     IDS_COLDESCURL          "URL of Git items"\r
     IDS_COLTITLESHORTURL    "Git short URL"\r
@@ -336,7 +344,7 @@ END
 STRINGTABLE \r
 BEGIN\r
     IDS_MENUDESCCREATEPATCH "Creates a unified diff file with all changes you made"\r
-    IDS_MENUDESCAPPLYPATCH  "Applies a unified diff file to the working copy"\r
+    IDS_MENUDESCAPPLYPATCH  "Review unified diff file with tortoisemerge"\r
     IDS_MENUMERGEALL        "Merge reintegrate..."\r
     IDS_MENUDESCMERGEALL    "Merges all missing revisions back into the working copy using merge-tracking information"\r
     IDS_MENUUNDOADD         "Undo Add.."\r
@@ -417,12 +425,6 @@ BEGIN
     IDS_git_DEPTH_EMPTY     "Only this item"\r
 END\r
 \r
-STRINGTABLE \r
-BEGIN\r
-    IDS_git_DEPTH_UNKNOWN   "Unknown depth"\r
-    IDS_git_DEPTH_WORKING   "Working copy"\r
-END\r
-\r
 #endif    // English (U.S.) resources\r
 /////////////////////////////////////////////////////////////////////////////\r
 \r