OSDN Git Service

Auto add patch file that chosen at export to import patch list
authorFrank Li <lznuaa@gmail.com>
Mon, 13 Apr 2009 05:12:31 +0000 (13:12 +0800)
committerFrank Li <lznuaa@gmail.com>
Mon, 13 Apr 2009 05:12:31 +0000 (13:12 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseProc/Commands/ImportPatchCommand.cpp
src/TortoiseProc/ImportPatchDlg.cpp
src/TortoiseShell/ContextMenu.cpp

index 2737153..6509e2e 100644 (file)
@@ -32,6 +32,15 @@ bool ImportPatchCommand::Execute()
 //     dlg.m_bIsTag=TRUE;\r
        CString cmd;\r
        CString output;\r
 //     dlg.m_bIsTag=TRUE;\r
        CString cmd;\r
        CString output;\r
+\r
+       for(int i=0;i<this->pathList.GetCount();i++)\r
+       {\r
+               if(!pathList[i].IsDirectory())\r
+               {\r
+                       dlg.m_PathList.AddPath(pathList[i]);\r
+               }\r
+       }\r
+\r
        if(dlg.DoModal()==IDOK)\r
        {\r
                for(int i=0;i<dlg.m_PathList.GetCount();i++)\r
        if(dlg.DoModal()==IDOK)\r
        {\r
                for(int i=0;i<dlg.m_PathList.GetCount();i++)\r
index 00b00a1..611ed08 100644 (file)
@@ -42,7 +42,17 @@ BOOL CImportPatchDlg::OnInitDialog()
 \r
        this->AddOthersToAnchor();\r
 \r
 \r
        this->AddOthersToAnchor();\r
 \r
+       m_PathList.SortByPathname(true);\r
+\r
+       for(int i=0;i<m_PathList.GetCount();i++)\r
+       {\r
+               m_cList.InsertItem(0,m_PathList[i].GetWinPath());\r
+       }\r
+\r
+       //CAppUtils::SetListCtrlBackgroundImage(m_cList.GetSafeHwnd(), nID);\r
+\r
        EnableSaveRestore(_T("ImportDlg"));\r
        EnableSaveRestore(_T("ImportDlg"));\r
+\r
        return TRUE;\r
 }\r
 \r
        return TRUE;\r
 }\r
 \r
@@ -147,6 +157,8 @@ void CImportPatchDlg::OnBnClickedButtonRemove()
 \r
 void CImportPatchDlg::OnBnClickedOk()\r
 {\r
 \r
 void CImportPatchDlg::OnBnClickedOk()\r
 {\r
+       m_PathList.Clear();\r
+\r
        for(int i=0;i<m_cList.GetItemCount();i++)\r
        {\r
                CTGitPath path;\r
        for(int i=0;i<m_cList.GetItemCount();i++)\r
        {\r
                CTGitPath path;\r
index d41c0ae..c04ef91 100644 (file)
@@ -2088,12 +2088,11 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
                                break;\r
 \r
                        case ShellMenuImportPatch:\r
                                break;\r
 \r
                        case ShellMenuImportPatch:\r
-                               svnCmd += _T("importpatch /path:\"");\r
-                               if (files_.size() > 0)\r
-                                       svnCmd += files_.front();\r
-                               else\r
-                                       svnCmd += folder_;\r
+                               tempfile = WriteFileListToTempFile();\r
+                               svnCmd += _T("importpatch /pathfile:\"");\r
+                               svnCmd += tempfile;\r
                                svnCmd += _T("\"");\r
                                svnCmd += _T("\"");\r
+                               svnCmd += _T(" /deletepathfile");\r
                                break;\r
 \r
                        case ShellMenuCherryPick:\r
                                break;\r
 \r
                        case ShellMenuCherryPick:\r