From 64a793785a9f1cc2a599193f3e4a1cf3967fe2ca Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Mon, 11 Jun 2012 05:16:04 +0200 Subject: [PATCH] RefLog: added F5 refresh Signed-off-by: Sven Strickroth --- src/TortoiseProc/RefLogDlg.cpp | 71 ++++++++++++++++++++++++++---------------- src/TortoiseProc/RefLogDlg.h | 3 ++ 2 files changed, 48 insertions(+), 26 deletions(-) diff --git a/src/TortoiseProc/RefLogDlg.cpp b/src/TortoiseProc/RefLogDlg.cpp index 4e9426421..7668e9c57 100644 --- a/src/TortoiseProc/RefLogDlg.cpp +++ b/src/TortoiseProc/RefLogDlg.cpp @@ -82,36 +82,13 @@ BOOL CRefLogDlg::OnInitDialog() GetWindowText(sWindowTitle); CAppUtils::SetWindowTitle(m_hWnd, g_Git.m_CurrentDir, sWindowTitle); - STRING_VECTOR list; - list.push_back(_T("HEAD")); - g_Git.GetRefList(list); + m_ChooseRef.SetMaxHistoryItems(0x7FFFFFFF); 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;iShowWindow(SW_HIDE); -} \ No newline at end of file +} + +BOOL CRefLogDlg::PreTranslateMessage(MSG* pMsg) +{ + if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_F5) + Refresh(); + + return CResizableStandAloneDialog::PreTranslateMessage(pMsg); +} + +void CRefLogDlg::Refresh() +{ + STRING_VECTOR list; + list.push_back(_T("HEAD")); + g_Git.GetRefList(list); + + m_ChooseRef.AddString(list); + + if (m_CurrentBranch.IsEmpty()) + { + m_CurrentBranch.Format(_T("refs/heads/%s"), g_Git.GetCurrentBranch()); + m_ChooseRef.SetCurSel(0); /* Choose HEAD */ + } + else + { + bool found = false; + for (int i = 0; i < list.size(); i++) + { + if(list[i] == m_CurrentBranch) + { + m_ChooseRef.SetCurSel(i); + found = true; + break; + } + } + if (!found) + m_ChooseRef.SetCurSel(0); + } + + m_RefList.m_RefMap.clear(); + + OnCbnSelchangeRef(); +} diff --git a/src/TortoiseProc/RefLogDlg.h b/src/TortoiseProc/RefLogDlg.h index dcdb70513..5cc5dcf6c 100644 --- a/src/TortoiseProc/RefLogDlg.h +++ b/src/TortoiseProc/RefLogDlg.h @@ -41,8 +41,11 @@ protected: afx_msg LRESULT OnRefLogChanged(WPARAM wParam, LPARAM lParam); afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedClearStash(); + virtual BOOL PreTranslateMessage(MSG* pMsg); DECLARE_MESSAGE_MAP() + void Refresh(); + CHistoryCombo m_ChooseRef; CRefLogList m_RefList; -- 2.11.4.GIT