LOGACTIONS_REBASE_PICK = 0x04000000,\r
LOGACTIONS_REBASE_SQUASH = 0x02000000,\r
LOGACTIONS_REBASE_EDIT = 0x01000000,\r
- LOGACTIONS_REBASE_MASK = 0x0F000000,\r
- LOGACTIONS_REBASE_MODE_MASK=0x07000000,\r
+ LOGACTIONS_REBASE_DONE = 0x00800000,\r
+ LOGACTIONS_REBASE_MASK = 0x0F100000,\r
+ LOGACTIONS_REBASE_MODE_MASK=0x07100000,\r
\r
};\r
\r
rItem.stateMask = LVIS_SELECTED | LVIS_FOCUSED;\r
GetItem(&rItem);\r
\r
+ GitRev* pLogEntry = (GitRev*)m_arShownList.GetAt(Index);\r
+\r
if (m_Theme.IsAppThemed() && m_bVista)\r
{\r
m_Theme.Open(m_hWnd, L"Explorer");\r
//if (pLogEntry->bCopiedSelf)\r
// brush = ::CreateSolidBrush(::GetSysColor(COLOR_MENU));\r
//else\r
+ if(pLogEntry->m_Action&CTGitPath::LOGACTIONS_REBASE_SQUASH)\r
+ brush = ::CreateSolidBrush(RGB(156,156,156));\r
+ else if(pLogEntry->m_Action&CTGitPath::LOGACTIONS_REBASE_EDIT)\r
+ brush = ::CreateSolidBrush(RGB(200,200,128));\r
+ else \r
brush = ::CreateSolidBrush(::GetSysColor(COLOR_WINDOW));\r
}\r
if (brush == NULL)\r
if (data->bCopies)\r
crText = m_Colors.GetColor(CColors::Modified);\r
#endif\r
+ if (data->m_Action&CTGitPath::LOGACTIONS_REBASE_DONE )\r
+ crText = RGB(128,128,128);\r
+\r
+ if(data->m_Action&CTGitPath::LOGACTIONS_REBASE_SQUASH)\r
+ pLVCD->clrTextBk = RGB(156,156,156);\r
+ else if(data->m_Action&CTGitPath::LOGACTIONS_REBASE_EDIT)\r
+ pLVCD->clrTextBk = RGB(200,200,128);\r
+ else \r
+ pLVCD->clrTextBk = ::GetSysColor(COLOR_WINDOW);\r
+\r
+ if(data->m_Action&CTGitPath::LOGACTIONS_REBASE_CURRENT)\r
+ {\r
+ SelectObject(pLVCD->nmcd.hdc, m_boldFont);\r
+ *pResult = CDRF_NOTIFYSUBITEMDRAW | CDRF_NEWFONT;\r
+ }\r
+\r
// if ((data->childStackDepth)||(m_mergedRevs.find(data->Rev) != m_mergedRevs.end()))\r
// crText = GetSysColor(COLOR_GRAYTEXT);\r
// if (data->Rev == m_wcRev)\r
, m_bEditAll(FALSE)\r
{\r
m_RebaseStage=CHOOSE_BRANCH;\r
+ m_CurrentRebaseIndex=-1;\r
}\r
\r
CRebaseDlg::~CRebaseDlg()\r
ON_BN_CLICKED(IDC_SQUASH_ALL, &CRebaseDlg::OnBnClickedSquashAll)\r
ON_BN_CLICKED(IDC_EDIT_ALL, &CRebaseDlg::OnBnClickedEditAll)\r
ON_BN_CLICKED(IDC_REBASE_SPLIT, &CRebaseDlg::OnBnClickedRebaseSplit)\r
+ ON_BN_CLICKED(IDC_REBASE_CONTINUE,OnBnClickedContinue)\r
ON_WM_SIZE()\r
ON_CBN_SELCHANGE(IDC_REBASE_COMBOXEX_BRANCH, &CRebaseDlg::OnCbnSelchangeBranch)\r
ON_CBN_SELCHANGE(IDC_REBASE_COMBOXEX_UPSTREAM, &CRebaseDlg::OnCbnSelchangeUpstream)\r
{\r
m_tooltips.RelayEvent(pMsg);\r
return CResizableStandAloneDialog::PreTranslateMessage(pMsg);\r
+}\r
+\r
+void CRebaseDlg::OnBnClickedContinue()\r
+{\r
+ GitRev *prevRev,*curRev;\r
+ prevRev=curRev=NULL;\r
+ CRect rect;\r
+ if( m_CurrentRebaseIndex >= m_CommitList.m_arShownList.GetSize())\r
+ return;\r
+\r
+ if( m_CurrentRebaseIndex >= 0)\r
+ {\r
+ prevRev=(GitRev*)m_CommitList.m_arShownList[m_CurrentRebaseIndex];\r
+ }\r
+ m_CurrentRebaseIndex++;\r
+ if(m_CurrentRebaseIndex<m_CommitList.m_arShownList.GetSize())\r
+ {\r
+ curRev=(GitRev*)m_CommitList.m_arShownList[m_CurrentRebaseIndex];\r
+\r
+ }\r
+ if(prevRev)\r
+ {\r
+ prevRev->m_Action &= ~ CTGitPath::LOGACTIONS_REBASE_CURRENT;\r
+ prevRev->m_Action |= CTGitPath::LOGACTIONS_REBASE_DONE;\r
+ m_CommitList.GetItemRect(m_CurrentRebaseIndex-1,&rect,LVIR_BOUNDS);\r
+ m_CommitList.InvalidateRect(rect);\r
+\r
+ }\r
+\r
+ if(curRev)\r
+ {\r
+ curRev->m_Action |= CTGitPath::LOGACTIONS_REBASE_CURRENT;\r
+ m_CommitList.GetItemRect(m_CurrentRebaseIndex,&rect,LVIR_BOUNDS);\r
+ m_CommitList.InvalidateRect(rect);\r
+ }\r
+\r
+ \r
}
\ No newline at end of file
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
\r
CProgressCtrl m_ProgressBar;\r
CStatic m_CtrlStatusText;\r
\r
void AddBranchToolTips(CHistoryCombo *pBranch);\r
\r
+ int m_CurrentRebaseIndex;\r
\r
};\r