void CRefLogDlg::Refresh() { STRING_VECTOR list; list.push_back(_T("HEAD")); if (g_Git.GetRefList(list)) MessageBox(g_Git.GetGitLastErr(_T("Could not get all refs.")), _T("TortoiseGit"), MB_ICONERROR); m_ChooseRef.SetList(list); if (m_CurrentBranch.IsEmpty()) { m_CurrentBranch.Format(_T("refs/heads/%s"), (LPCTSTR)g_Git.GetCurrentBranch()); m_ChooseRef.SetCurSel(0); /* Choose HEAD */ } else { bool found = false; for (int i = 0; i < (int)list.size(); ++i) { if(list[i] == m_CurrentBranch) { m_ChooseRef.SetCurSel(i); found = true; break; } } if (!found) m_ChooseRef.SetCurSel(0); } m_RefList.m_RevCache.clear(); OnCbnSelchangeRef(); }
LRESULT CRefLogDlg::OnRefLogChanged(WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(lParam); m_RefList.m_RefMap.clear(); OnCbnSelchangeRef(); return 0; }
BOOL CRefLogDlg::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); CAppUtils::MarkWindowAsUnpinnable(m_hWnd); AddAnchor(IDOK,BOTTOM_RIGHT); AddAnchor(IDCANCEL,BOTTOM_RIGHT); AddAnchor(IDC_REFLOG_LIST,TOP_LEFT,BOTTOM_RIGHT); AddAnchor(IDHELP, BOTTOM_RIGHT); AddOthersToAnchor(); this->EnableSaveRestore(_T("RefLogDlg")); CString sWindowTitle; GetWindowText(sWindowTitle); CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); STRING_VECTOR list; list.push_back(_T("HEAD")); g_Git.GetRefList(list); m_RefList.m_hasWC = !g_GitAdminDir.IsBareRepo(g_Git.m_CurrentDir); m_ChooseRef.SetMaxHistoryItems(0x7FFFFFFF); this->m_ChooseRef.AddString(list); this->m_RefList.InsertRefLogColumn(); //m_RefList.m_logEntries.ParserFromRefLog(_T("master")); if(this->m_CurrentBranch.IsEmpty()) { m_CurrentBranch.Format(_T("refs/heads/%s"),g_Git.GetCurrentBranch()); m_ChooseRef.SetCurSel(0); /* Choose HEAD */ } else { for(int i=0;i<list.size();i++) { if(list[i] == m_CurrentBranch) { m_ChooseRef.SetCurSel(i); break; } } } OnCbnSelchangeRef(); return TRUE; }
void CRefLogDlg::OnBnClickedClearStash() { if (CMessageBox::Show(this->GetSafeHwnd(), IDS_PROC_DELETEALLSTASH, IDS_APPNAME, 2, IDI_QUESTION, IDS_DELETEBUTTON, IDS_ABORTBUTTON) == 1) { CString cmdOut; if (g_Git.Run(_T("git.exe stash clear"), &cmdOut, CP_UTF8)) { MessageBox(cmdOut, _T("TortoiseGit"), MB_ICONERROR); return; } m_RefList.m_RevCache.clear(); OnCbnSelchangeRef(); } }
void CRefLogDlg::OnBnClickedClearStash() { size_t count = m_RefList.m_arShownList.size(); CString msg; msg.Format(IDS_PROC_DELETEALLSTASH, count); if (CMessageBox::Show(this->GetSafeHwnd(), msg, _T("TortoiseGit"), 2, IDI_QUESTION, CString(MAKEINTRESOURCE(IDS_DELETEBUTTON)), CString(MAKEINTRESOURCE(IDS_ABORTBUTTON))) == 1) { CString cmdOut; if (g_Git.Run(_T("git.exe stash clear"), &cmdOut, CP_UTF8)) { MessageBox(cmdOut, _T("TortoiseGit"), MB_ICONERROR); return; } m_RefList.m_RevCache.clear(); OnCbnSelchangeRef(); } }
LRESULT CRefLogDlg::OnRefLogChanged(WPARAM /*wParam*/, LPARAM /*lParam*/) { m_RefList.m_RevCache.clear(); OnCbnSelchangeRef(); return 0; }