//#include "RepositoryInfo.h"\r
//#include "EditPropertiesDlg.h"\r
#include "FileDiffDlg.h"\r
-\r
+#include "BrowseRefsDlg.h"\r
\r
const UINT CLogDlg::m_FindDialogMessage = RegisterWindowMessage(FINDMSGSTRING);\r
\r
ON_WM_SIZE()\r
ON_BN_CLICKED(IDC_LOG_FIRSTPARENT, &CLogDlg::OnBnClickedFirstParent)\r
ON_BN_CLICKED(IDC_REFRESH, &CLogDlg::OnBnClickedRefresh)\r
+ ON_BN_CLICKED(IDC_BUTTON_BROWSE_REF, &CLogDlg::OnBnClickedBrowseRef)\r
ON_COMMAND(ID_LOGDLG_REFRESH,&CLogDlg::OnRefresh)\r
ON_COMMAND(ID_LOGDLG_FIND,&CLogDlg::OnFind)\r
ON_COMMAND(ID_LOGDLG_FOCUSFILTER,&CLogDlg::OnFocusFilter)\r
\r
m_hAccel = LoadAccelerators(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_ACC_LOGDLG));\r
\r
- \r
+\r
// use the state of the "stop on copy/rename" option from the last time\r
UpdateData(FALSE);\r
\r
m_DateTo.SendMessage(DTM_SETMCSTYLE, 0, MCS_WEEKNUMBERS|MCS_NOTODAY|MCS_NOTRAILINGDATES|MCS_NOSELCHANGEONNAV);\r
\r
// resizable stuff\r
+ AddAnchor(IDC_STATIC_REF, TOP_LEFT);\r
+ AddAnchor(IDC_BUTTON_BROWSE_REF, TOP_LEFT);\r
AddAnchor(IDC_FROMLABEL, TOP_LEFT);\r
AddAnchor(IDC_DATEFROM, TOP_LEFT);\r
AddAnchor(IDC_TOLABEL, TOP_LEFT);\r
m_LogList.FetchLogAsync(this);\r
\r
GetDlgItem(IDC_LOGLIST)->SetFocus();\r
+\r
+ ShowStartRef();\r
return FALSE;\r
}\r
\r
void CLogDlg::OnRefresh()\r
{\r
//if (GetDlgItem(IDC_GETALL)->IsWindowEnabled())\r
+ ShowStartRef();\r
{\r
m_limit = 0;\r
this->m_LogProgress.SetPos(0);\r
FillLogMessageCtrl(false);\r
}\r
\r
+void CLogDlg::OnBnClickedBrowseRef()\r
+{\r
+ CString newRef = CBrowseRefsDlg::PickRef(false,m_LogList.GetStartRef()); \r
+ if(newRef.IsEmpty())\r
+ return;\r
+\r
+ SetStartRef(newRef);\r
+ ((CButton*)GetDlgItem(IDC_LOG_ALLBRANCH))->SetCheck(0);\r
+\r
+ OnBnClickedAllBranch();\r
+}\r
+\r
+void CLogDlg::ShowStartRef()\r
+{\r
+ //Show ref name on top\r
+ if(!::IsWindow(m_hWnd))\r
+ return;\r
+ if(m_bAllBranch)\r
+ {\r
+ GetDlgItem(IDC_STATIC_REF)->SetWindowText(L"<All Branches>");\r
+ return;\r
+ }\r
+\r
+ CString showStartRef = m_LogList.GetStartRef();\r
+ if(showStartRef.IsEmpty())\r
+ {\r
+ //Ref name is HEAD\r
+ g_Git.Run(L"git symbolic-ref HEAD",&showStartRef,CP_UTF8);\r
+ showStartRef.Trim(L"\r\n\t ");\r
+ }\r
+\r
+\r
+ if(wcsncmp(showStartRef,L"refs/",5) == 0)\r
+ showStartRef = showStartRef.Mid(5);\r
+ if(wcsncmp(showStartRef,L"heads/",6) == 0)\r
+ showStartRef = showStartRef.Mid(6);\r
+\r
+ GetDlgItem(IDC_STATIC_REF)->SetWindowText(showStartRef);\r
+}\r
+\r
+void CLogDlg::SetStartRef(const CString& StartRef)\r
+{\r
+ m_LogList.SetStartRef(StartRef);\r
+\r
+ ShowStartRef();\r
+}\r
+\r
+\r
\r
void CLogDlg::OnBnClickedFirstParent()\r
{\r