X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=blobdiff_plain;f=src%2FTortoiseProc%2FLogDlg.cpp;h=e2bb8a1cd5cd1f8e52dc76069357e74816711810;hp=e85e71e8852e0653bbadef1e17eacbb258bdb50f;hb=5f37370ce639f772be0bd96f7a9867a64b41c96a;hpb=6b8fc62e4b6c4e0ec125dced809b80c1e5685a41 diff --git a/src/TortoiseProc/LogDlg.cpp b/src/TortoiseProc/LogDlg.cpp index e85e71e..e2bb8a1 100644 --- a/src/TortoiseProc/LogDlg.cpp +++ b/src/TortoiseProc/LogDlg.cpp @@ -216,7 +216,7 @@ BOOL CLogDlg::OnInitDialog() m_LogList.DeleteAllItems(); m_LogList.InsertGitColumn(); - m_ChangedFileListCtrl.Init(SVNSLC_COLEXT | SVNSLC_COLSTATUS |IDS_STATUSLIST_COLADD|IDS_STATUSLIST_COLDEL , _T("LogDlg")); + m_ChangedFileListCtrl.Init(SVNSLC_COLEXT | SVNSLC_COLSTATUS |IDS_STATUSLIST_COLADD|IDS_STATUSLIST_COLDEL , _T("LogDlg"),(SVNSLC_POPALL ^ SVNSLC_POPCOMMIT),false); GetDlgItem(IDC_LOGLIST)->UpdateData(FALSE); @@ -348,6 +348,7 @@ BOOL CLogDlg::OnInitDialog() //m_tTo = 0; //m_tFrom = (DWORD)-1; + m_LogList.m_Path=m_path; m_LogList.FetchLogAsync(LogCallBack,this); GetDlgItem(IDC_LOGLIST)->SetFocus(); @@ -395,7 +396,7 @@ void CLogDlg::LogRunStatus(int cur) DialogEnableWindow(IDC_STATBUTTON, TRUE); DialogEnableWindow(IDC_REFRESH, TRUE); - PostMessage(WM_TIMER, LOGFILTER_TIMER); +// PostMessage(WM_TIMER, LOGFILTER_TIMER); //CTime time=m_LogList.GetOldestTime(); CTime begin,end; @@ -426,6 +427,8 @@ void CLogDlg::SetDlgTitle(bool bOffline) { if (m_path.IsUrl()) SetWindowText(m_sTitle + _T(" - ") + m_path.GetUIPathString()); + else if (m_path.IsEmpty()) + SetWindowText(m_sTitle + _T(" - ") + CString(_T("Whole Project"))); else if (m_path.IsDirectory()) SetWindowText(m_sTitle + _T(" - ") + m_path.GetWinPathString()); else @@ -595,53 +598,32 @@ void CLogDlg::OnBnClickedGetall() void CLogDlg::GetAll(bool bForceAll /* = false */) { -#if 0 + // fetch all requested log messages, either the specified range or // really *all* available log messages. - UpdateData(); + ///UpdateData(); INT_PTR entry = m_btnShow.GetCurrentEntry(); if (bForceAll) entry = 0; switch (entry) { - case 0: // show all - - m_endrev = 0; - m_startrev = m_LogRevision; - if (m_bStrict) - m_bShowedAll = true; - + case 0: // show all branch; + m_LogList.m_bAllBranch=true; break; - case 1: // show range - { - - // ask for a revision range - CRevisionRangeDlg dlg; - dlg.SetStartRevision(m_startrev); - dlg.SetEndRevision( (m_endrev>=0) ? m_endrev : 0); - if (dlg.DoModal()!=IDOK) - { - return; - } - m_endrev = dlg.GetEndRevision(); - m_startrev = dlg.GetStartRevision(); - if (((m_endrev.IsNumber())&&(m_startrev.IsNumber()))|| - (m_endrev.IsHead()||m_startrev.IsHead())) - { - if (((LONG)m_startrev < (LONG)m_endrev)|| - (m_endrev.IsHead())) - { - git_revnum_t temp = m_startrev; - m_startrev = m_endrev; - m_endrev = temp; - } - } - m_bShowedAll = false; - } - + case 1: // show whole project + m_LogList.m_Path.Reset(); + SetWindowText(m_sTitle + _T(" - ")); break; } + //m_LogList.m_bExitThread=TRUE; + //::WaitForSingleObject(m_LogList.m_LoadingThread->m_hThread,INFINITE); + + m_LogList.TerminateThread(); + + m_LogList.Clear(); + m_LogList.FetchLogAsync(LogCallBack,this); +#if 0 m_ChangedFileListCtrl.SetItemCountEx(0); m_ChangedFileListCtrl.Invalidate(); // We need to create CStoreSelection on the heap or else @@ -768,8 +750,16 @@ void CLogDlg::OnCancel() temp2.LoadString(IDS_MSGBOX_CANCEL); if ((temp.Compare(temp2)==0)||(this->IsThreadRunning())) { - m_bCancelled = true; - return; + //m_bCancelled = true; + //return; + if(m_LogList.m_bThreadRunning) + { + //m_LogList.m_bExitThread=true; + //WaitForSingleObject(m_LogList.m_LoadingThread->m_hThread,INFINITE); + m_LogList.TerminateThread(); + } + + //m_LogList.TerminateThread(); } UpdateData(); if (m_bSaveStrict) @@ -2818,7 +2808,7 @@ void CLogDlg::UpdateLogInfoLabel() git_revnum_t rev1 ; git_revnum_t rev2 ; - long selectedrevs ; + long selectedrevs = 0; int count =m_LogList.m_arShownList.GetCount(); if (count) {