#include "GitLoglist.h"\r
// CSyncDlg dialog\r
#define IDC_SYNC_TAB 0x1000000\r
-#define IDC_CMD_LOG 0x1\r
-#define IDC_OUT_LOGLIST 0x2\r
-#define IDC_OUT_CHANGELIST 0x3\r
+\r
+#define IDC_CMD_LOG 0x1\r
+#define IDC_IN_LOGLIST 0x2\r
+#define IDC_IN_CHANGELIST 0x3\r
+#define IDC_IN_CONFLICT 0x4\r
+#define IDC_OUT_LOGLIST 0x5\r
+#define IDC_OUT_CHANGELIST 0x6\r
+\r
class CSyncDlg : public CResizableStandAloneDialog,public CBranchCombox\r
{\r
DECLARE_DYNAMIC(CSyncDlg)\r
// Dialog Data\r
enum { IDD = IDD_SYNC };\r
\r
+ enum { GIT_COMMAND_PUSH,\r
+ GIT_COMMAND_PULL,\r
+ };\r
protected:\r
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support\r
BRANCH_COMBOX_EVENT_HANDLE();\r
\r
+ int m_CurrentCmd;\r
+\r
CRegDWORD m_regPullButton;\r
CRegDWORD m_regPushButton;\r
CMFCTabCtrl m_ctrlTabCtrl;\r
+\r
CBalloon m_tooltips;\r
\r
BOOL m_bInited;\r
CGitStatusListCtrl m_OutChangeFileList;\r
CGitStatusListCtrl m_InChangeFileList;\r
CGitStatusListCtrl m_ConflictFileList;\r
+ \r
CRichEditCtrl m_ctrlCmdOut;\r
\r
CTGitPathList m_arOutChangeList;\r
+ CTGitPathList m_arInChangeList;\r
+\r
+ int m_CmdOutCurrentPos;\r
\r
CWinThread* m_pThread; \r
\r
\r
virtual void LocalBranchChange(){FetchOutList();};\r
virtual void RemoteBranchChange(){FetchOutList();};\r
+ void ShowTab(int windowid)\r
+ {\r
+ this->m_ctrlTabCtrl.ShowTab(windowid-1);\r
+ this->m_ctrlTabCtrl.SetActiveTab(windowid-1);\r
+ }\r
\r
- void FetchOutList();\r
+ void FetchOutList(bool force=false);\r
\r
bool IsURL();\r
\r
}\r
\r
std::vector<CString> m_GitCmdList;\r
+ \r
bool m_bAbort;\r
+\r
int m_GitCmdStatus;\r
\r
CString m_LogText;\r
CString m_OutLocalBranch;\r
CString m_OutRemoteBranch;\r
\r
+ CString m_oldHash;\r
+\r
void ShowProgressCtrl(bool bShow=true);\r
void ShowInputCtrl(bool bShow=true);\r
- void SwitchToRun(){ShowProgressCtrl(true);ShowInputCtrl(false);}\r
+ void SwitchToRun(){ShowProgressCtrl(true);ShowInputCtrl(false);EnableControlButton(false);}\r
void SwitchToInput(){ShowProgressCtrl(false);ShowInputCtrl(true);}\r
+ \r
LRESULT OnProgressUpdateUI(WPARAM wParam,LPARAM lParam);\r
\r
+ void UpateCombox()\r
+ {\r
+ this->m_strLocalBranch = this->m_ctrlLocalBranch.GetString();\r
+ this->m_ctrlRemoteBranch.GetWindowText(this->m_strRemoteBranch);\r
+ this->m_ctrlURL.GetWindowText(this->m_strURL);\r
+ m_strRemoteBranch=m_strRemoteBranch.Trim();\r
+ }\r
+\r
+ void AddDiffFileList(CGitStatusListCtrl *pCtrlList, CTGitPathList *pGitList,\r
+ CString &rev1,CString &rev2)\r
+ {\r
+ g_Git.GetCommitDiffList(rev1,rev2,*pGitList);\r
+ pCtrlList->m_Rev1=rev1;\r
+ pCtrlList->m_Rev2=rev2;\r
+ pCtrlList->Show(0,*pGitList);\r
+ pCtrlList->SetEmptyString(CString(_T("No changed file")));\r
+ return;\r
+ }\r
+\r
+ void PullComplete();\r
\r
DECLARE_MESSAGE_MAP()\r
public:\r
BOOL m_bAutoLoadPuttyKey;\r
+ BOOL m_bForce;\r
CString m_strURL;\r
\r
static UINT ProgressThreadEntry(LPVOID pVoid){ return ((CSyncDlg*)pVoid) ->ProgressThread(); };\r
afx_msg void OnCbnEditchangeComboboxexUrl();\r
\r
void EnableControlButton(bool bEnabled=true);\r
+ afx_msg void OnBnClickedButtonCommit();\r
};\r