m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE);\r
m_bAllBranch=FALSE;\r
m_bFirstParent=FALSE;\r
+ m_bWholeProject=FALSE;\r
}\r
\r
CLogDlg::~CLogDlg()\r
DDX_Control(pDX, IDC_DATEFROM, m_DateFrom);\r
DDX_Control(pDX, IDC_DATETO, m_DateTo);\r
DDX_Control(pDX, IDC_HIDEPATHS, m_cHidePaths);\r
- DDX_Control(pDX, IDC_GETALL, m_btnShow);\r
- DDX_Control(pDX, IDC_SHOWWHOLEPROJECT,m_btnShowWholeProject);\r
DDX_Text(pDX, IDC_LOGINFO, m_sLogInfo);\r
DDX_Check(pDX, IDC_LOG_FIRSTPARENT, m_bFirstParent);\r
DDX_Check(pDX, IDC_LOG_ALLBRANCH,m_bAllBranch);\r
+ DDX_Check(pDX, IDC_SHOWWHOLEPROJECT,m_bWholeProject);\r
DDX_Control(pDX, IDC_SEARCHEDIT, m_cFilter);\r
}\r
\r
BEGIN_MESSAGE_MAP(CLogDlg, CResizableStandAloneDialog)\r
ON_REGISTERED_MESSAGE(m_FindDialogMessage, OnFindDialogMessage) \r
- ON_BN_CLICKED(IDC_GETALL, OnBnClickedGetall)\r
+ //ON_BN_CLICKED(IDC_GETALL, OnBnClickedGetall)\r
//ON_NOTIFY(NM_DBLCLK, IDC_LOGMSG, OnNMDblclkChangedFileList)\r
ON_WM_CONTEXTMENU()\r
ON_WM_SETCURSOR()\r
AddAnchor(IDC_HIDEPATHS, BOTTOM_LEFT); \r
AddAnchor(IDC_LOG_ALLBRANCH,BOTTOM_LEFT);\r
AddAnchor(IDC_LOG_FIRSTPARENT, BOTTOM_LEFT);\r
- AddAnchor(IDC_GETALL, BOTTOM_LEFT);\r
+ //AddAnchor(IDC_GETALL, BOTTOM_LEFT);\r
AddAnchor(IDC_SHOWWHOLEPROJECT, BOTTOM_LEFT);\r
AddAnchor(IDC_REFRESH, BOTTOM_LEFT);\r
AddAnchor(IDC_STATBUTTON, BOTTOM_RIGHT);\r
GetDlgItem(IDOK)->ShowWindow(SW_HIDE);\r
}\r
\r
- // set the choices for the "Show All" button\r
- temp.LoadString(IDS_LOG_SHOWALL);\r
- m_btnShow.AddEntry(temp);\r
- CString format;\r
- format.LoadString(IDS_LOG_SHOW_CURRENT_BRANCH);\r
- temp.Format(format,g_Git.GetCurrentBranch());\r
- m_btnShow.AddEntry(temp);\r
- temp.LoadString(IDS_LOG_SHOW_FIRST_PARENT);\r
- m_btnShow.AddEntry(temp);\r
- temp.LoadString(IDS_LOG_SHOW_NO_MERGE);\r
- m_btnShow.AddEntry(temp);\r
- m_btnShow.SetCurrentEntry((LONG)CRegDWORD(_T("Software\\TortoiseGit\\ShowAllEntry")));\r
-\r
- temp.LoadString(IDS_LOG_SHOW_WHOLE);\r
- this->m_btnShowWholeProject.AddEntry(temp);\r
- format.LoadString(IDS_LOG_SHOW_CURRENT_PATH);\r
- temp.Format(format,m_path.GetGitPathString());\r
- if(!m_path.IsEmpty())\r
- {\r
- this->m_btnShowWholeProject.AddEntry(temp);\r
- this->m_btnShowWholeProject.SetCurrentEntry((LONG)CRegDWORD(_T("Software\\TortoiseGit\\ShowWholeProject")));\r
- }\r
-\r
-\r
m_mergedRevs.clear();\r
\r
// first start a thread to obtain the log messages without\r
//if (!m_bShowedAll)\r
DialogEnableWindow(IDC_SHOWWHOLEPROJECT, TRUE);\r
\r
- DialogEnableWindow(IDC_GETALL, TRUE);\r
+ //DialogEnableWindow(IDC_GETALL, TRUE);\r
DialogEnableWindow(IDC_LOG_FIRSTPARENT, TRUE);\r
DialogEnableWindow(IDC_STATBUTTON, TRUE);\r
DialogEnableWindow(IDC_REFRESH, TRUE);\r
\r
for(int i=0;i<pLogEntry->m_Files.GetCount() && (!matchpath.IsEmpty());i++)\r
{\r
+ if( m_bWholeProject )\r
+ break;\r
+\r
((CTGitPath&)pLogEntry->m_Files[i]).m_Action &= ~(CTGitPath::LOGACTIONS_HIDE|CTGitPath::LOGACTIONS_GRAY);\r
\r
if(pLogEntry->m_Files[i].GetGitPathString().Left(matchpath.GetLength()) != matchpath)\r
\r
}\r
\r
-void CLogDlg::OnBnClickedGetall()\r
-{\r
- GetAll();\r
-}\r
-\r
-void CLogDlg::GetAll(bool bIsShowProjectOrBranch)\r
-{\r
-\r
- // fetch all requested log messages, either the specified range or\r
- // really *all* available log messages.\r
- ///UpdateData();\r
- if(bIsShowProjectOrBranch)\r
- {\r
- INT_PTR entry = this->m_btnShowWholeProject.GetCurrentEntry();\r
- switch (entry)\r
- {\r
- case 0: // show whole Project\r
- m_LogList.m_Path.Reset();\r
- SetWindowText(m_sTitle + _T(" - ")+_T("whole project"));\r
- break;\r
- case 1: // show whole project\r
- m_LogList.m_Path=this->m_path;\r
- SetWindowText(m_sTitle + _T(" - ")+this->m_path.GetGitPathString());\r
- break;\r
- }\r
-\r
- }else\r
- {\r
- INT_PTR entry = m_btnShow.GetCurrentEntry();\r
- switch (entry)\r
- {\r
- case 0: // show all branch\r
- m_LogList.m_ShowMask=CGit::LOG_INFO_ALL_BRANCH;\r
- break;\r
- case 1: // show current branch\r
- m_LogList.m_ShowMask=0;\r
- break;\r
- case 2: // first parent\r
- m_LogList.m_ShowMask=CGit::LOG_INFO_FIRST_PARENT;\r
- break;\r
- case 3: // no merge\r
- m_LogList.m_ShowMask=CGit::LOG_INFO_NO_MERGE;\r
- break;\r
- }\r
- }\r
-\r
- m_LogList.m_bExitThread=TRUE;\r
- DWORD ret =::WaitForSingleObject(m_LogList.m_LoadingThread->m_hThread,20000);\r
- if(ret == WAIT_TIMEOUT)\r
- m_LogList.TerminateThread();\r
- \r
- m_LogList.Clear();\r
- m_LogList.FetchLogAsync(this);\r
-\r
-}\r
-\r
void CLogDlg::OnBnClickedRefresh()\r
{\r
m_limit = 0;\r
m_LogList.Refresh();\r
}\r
\r
-void CLogDlg::OnBnClickShowWholeProject()\r
-{\r
- GetAll(true);\r
-}\r
+\r
\r
BOOL CLogDlg::Cancel()\r
{\r
}\r
UpdateData();\r
\r
- CRegDWORD reg = CRegDWORD(_T("Software\\TortoiseGit\\ShowAllEntry"));\r
- reg = m_btnShow.GetCurrentEntry();\r
-\r
- reg = CRegDWORD(_T("Software\\TortoiseGit\\ShowWholeProject"));\r
- reg = m_btnShowWholeProject.GetCurrentEntry();\r
-\r
SaveSplitterPos();\r
__super::OnCancel();\r
}\r
\r
void CLogDlg::OnRefresh()\r
{\r
- if (GetDlgItem(IDC_GETALL)->IsWindowEnabled())\r
+ //if (GetDlgItem(IDC_GETALL)->IsWindowEnabled())\r
{\r
m_limit = 0;\r
+ this->m_LogProgress.SetPos(0);\r
+ \r
Refresh (true);\r
}\r
}\r
else\r
m_LogList.m_ShowMask&=~CGit::LOG_INFO_ALL_BRANCH;\r
\r
- m_LogList.Refresh();\r
+ OnRefresh();\r
\r
FillLogMessageCtrl(false);\r
}\r
else\r
m_LogList.m_ShowMask&=~CGit::LOG_INFO_FIRST_PARENT;\r
\r
- m_LogList.Refresh();\r
+ OnRefresh();\r
+\r
+ FillLogMessageCtrl(false);\r
+\r
+}\r
+\r
+void CLogDlg::OnBnClickShowWholeProject()\r
+{\r
+ this->UpdateData();\r
+\r
+ if(this->m_bWholeProject)\r
+ {\r
+ m_LogList.m_Path.Reset();\r
+ SetWindowText(m_sTitle + _T(" - ") + CString(_T("Whole Project")));\r
+ }\r
+ else\r
+ {\r
+ m_LogList.m_Path=m_path;\r
+ if(!m_path.IsEmpty())\r
+ SetWindowText(m_sTitle + _T(" - ") + m_path.GetGitPathString());\r
+ }\r
+ \r
+ OnRefresh();\r
\r
FillLogMessageCtrl(false);\r
\r