#include "HistoryCombo.h"\r
#include "Balloon.h"\r
#include "GitLogList.h"\r
+#include "MenuButton.h"\r
// CRebaseDlg dialog\r
#define IDC_REBASE_TAB 0x1000000\r
\r
+#define REBASE_TAB_CONFLICT 0\r
+#define REBASE_TAB_MESSAGE 1\r
+#define REBASE_TAB_LOG 2\r
+\r
+#define MSG_REBASE_UPDATE_UI (WM_USER+151)\r
+\r
class CRebaseDlg : public CResizableStandAloneDialog\r
{\r
DECLARE_DYNAMIC(CRebaseDlg)\r
REBASE_START,\r
REBASE_CONTINUE,\r
REBASE_ABORT,\r
+ REBASE_FINISH,\r
+ REBASE_CONFLICT,\r
+ REBASE_EDIT,\r
+ REBASE_SQUASH_EDIT,\r
+ REBASE_SQUASH_CONFLICT,\r
+ REBASE_DONE,\r
};\r
\r
protected:\r
virtual BOOL OnInitDialog();\r
DECLARE_MESSAGE_MAP()\r
virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);\r
+ LRESULT OnRebaseUpdateUI(WPARAM wParam, LPARAM lParam);\r
void DoSize(int delta);\r
void AddRebaseAnchor();\r
void RemoveAnchor();\r
\r
void LoadBranchInfo();\r
void FetchLogList();\r
+ void SetAllRebaseAction(int action);\r
+ void OnCancel();\r
\r
CRect m_DlgOrigRect;\r
CRect m_CommitListOrigRect;\r
BOOL PreTranslateMessage(MSG* pMsg);\r
\r
+ CSciEdit m_wndOutputRebase;\r
+ void SetContinueButtonText();\r
+ void SetControlEnable();\r
+ void UpdateProgress();\r
+ void UpdateCurrentStatus();\r
+ void ListConflictFile();\r
+ int DoRebase();\r
+ volatile LONG m_bThreadRunning;\r
+ int RebaseThread();\r
+ static UINT RebaseThreadEntry(LPVOID pVoid){return ((CRebaseDlg *)pVoid)->RebaseThread();};\r
+ BOOL IsEnd();\r
+\r
+ BOOL m_IsFastForward;\r
+\r
+ CString m_OrigBranchHash;\r
+ CString m_OrigUpstreamHash;\r
+\r
+ int VerifyNoConflict();\r
+ CString GetRebaseModeName(int rebasemode);\r
+\r
+ CString m_SquashMessage;\r
+\r
+ int CheckNextCommitIsSquash();\r
+ int GetCurrentCommitID();\r
+ int FinishRebase();\r
+\r
+ CMenuButton m_PostButton;\r
+\r
public:\r
\r
afx_msg void OnBnClickedPickAll();\r
afx_msg void OnSize(UINT nType, int cx, int cy);\r
afx_msg void OnCbnSelchangeBranch();\r
afx_msg void OnCbnSelchangeUpstream();\r
+ afx_msg void OnBnClickedContinue();\r
+ afx_msg void OnBnClickedAbort();\r
\r
CProgressCtrl m_ProgressBar;\r
CStatic m_CtrlStatusText;\r
CBalloon m_tooltips;\r
\r
+ CString m_PreCmd;\r
+\r
BOOL m_bPickAll;\r
BOOL m_bSquashAll;\r
BOOL m_bEditAll;\r
+ \r
+ BOOL m_bForce;\r
+ CStringArray m_PostButtonTexts;\r
\r
CSplitterControl m_wndSplitter;\r
CMFCTabCtrl m_ctrlTabCtrl;\r
\r
CHistoryCombo m_BranchCtrl;\r
CHistoryCombo m_UpstreamCtrl;\r
+ \r
+ CString m_Upstream;\r
+ CString m_Branch;\r
+\r
+ BOOL m_IsCherryPick;\r
\r
REBASE_STAGE m_RebaseStage;\r
\r
void AddBranchToolTips(CHistoryCombo *pBranch);\r
- \r
-\r
+ void AddLogString(CString str);\r
+ int StartRebase();\r
+ int CheckRebaseCondition();\r
+ int m_CurrentRebaseIndex;\r
+ int StateAction();\r
+ int GoNext();\r
+ afx_msg void OnBnClickedButtonBrowse();\r
+ afx_msg void OnBnClickedRebaseCheckForce();\r
+ afx_msg void OnStnClickedStatusStatic();\r
+ afx_msg void OnBnClickedRebasePostButton();\r
};\r