#include "TortoiseProc.h"\r
#include "SyncDlg.h"\r
#include "progressdlg.h"\r
+#include "MessageBox.h"\r
\r
// CSyncDlg dialog\r
\r
void CSyncDlg::OnBnClickedButtonEmail()\r
{\r
// TODO: Add your control notification handler code here\r
+ CString cmd,out;\r
+ \r
+ this->m_strLocalBranch = this->m_ctrlLocalBranch.GetString();\r
+ this->m_ctrlRemoteBranch.GetWindowText(this->m_strRemoteBranch);\r
+ \r
+ cmd.Format(_T("git.exe format-patch -o \"%s\" %s..%s"),\r
+ g_Git.m_CurrentDir,\r
+ m_strRemoteBranch,m_strLocalBranch);\r
+ \r
+ if(g_Git.Run(cmd,&out,CP_ACP))\r
+ {\r
+ CMessageBox::Show(NULL,out,_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ return ;\r
+ }\r
+\r
+ CAppUtils::SendPatchMail(cmd,out); \r
+\r
}\r
void CSyncDlg::ShowProgressCtrl(bool bShow)\r
{\r
this->m_ctrlTabCtrl.ShowTab(m_OutChangeFileList.GetDlgCtrlID()-1,FALSE);\r
m_OutLocalBranch.Empty();\r
m_OutRemoteBranch.Empty();\r
+\r
+ this->GetDlgItem(IDC_BUTTON_EMAIL)->EnableWindow(FALSE);\r
return ;\r
\r
}else if(g_Git.GetHash(remotebranch).GetLength()<40)\r
this->m_ctrlTabCtrl.ShowTab(m_OutChangeFileList.GetDlgCtrlID()-1,FALSE);\r
m_OutLocalBranch.Empty();\r
m_OutRemoteBranch.Empty();\r
+\r
+ this->GetDlgItem(IDC_BUTTON_EMAIL)->EnableWindow(FALSE);\r
return ;\r
}\r
else\r
m_OutLogList.ShowText(str);\r
this->m_ctrlStatus.SetWindowText(str);\r
this->m_ctrlTabCtrl.ShowTab(m_OutChangeFileList.GetDlgCtrlID()-1,FALSE);\r
+ this->GetDlgItem(IDC_BUTTON_EMAIL)->EnableWindow(FALSE);\r
}\r
else\r
{\r
m_OutChangeFileList.Show(0,this->m_arOutChangeList);\r
m_OutChangeFileList.SetEmptyString(CString(_T("No changed file")));\r
this->m_ctrlTabCtrl.ShowTab(m_OutChangeFileList.GetDlgCtrlID()-1,TRUE);\r
+ this->GetDlgItem(IDC_BUTTON_EMAIL)->EnableWindow(TRUE);\r
}\r
}\r
this->m_OutLocalBranch=localbranch;\r