OSDN Git Service

Add All Branch Check Box at LogDlg
authorFrank Li <lznuaa@gmail.com>
Sun, 1 Feb 2009 10:19:23 +0000 (18:19 +0800)
committerFrank Li <lznuaa@gmail.com>
Sun, 1 Feb 2009 10:19:23 +0000 (18:19 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Resources/TortoiseProcENG.rc
src/TortoiseProc/GitLogListBase.cpp
src/TortoiseProc/LogDlg.cpp
src/TortoiseProc/LogDlg.h
src/TortoiseProc/resource.h

index 294f66f..7354ee1 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
index 01e495b..5620b1e 100644 (file)
@@ -1545,10 +1545,16 @@ UINT CGitLogListBase::LogThread()
 \r
 void CGitLogListBase::Refresh()\r
 {\r
+       m_bExitThread=TRUE;\r
+       DWORD ret =::WaitForSingleObject(m_LoadingThread->m_hThread,20000);\r
+       if(ret == WAIT_TIMEOUT)\r
+               TerminateThread();\r
+\r
        if(!m_bThreadRunning)\r
        {\r
                this->SetItemCountEx(0);\r
                m_logEntries.clear();\r
+               m_bExitThread=FALSE;\r
                InterlockedExchange(&m_bThreadRunning, TRUE);\r
                InterlockedExchange(&m_bNoDispUpdates, TRUE);\r
                if (AfxBeginThread(LogThreadEntry, this)==NULL)\r
index 0ba7f79..b7546ea 100644 (file)
@@ -80,6 +80,7 @@ CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/)
        , m_bVista(false)\r
 {\r
        m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE);\r
+       m_bAllBranch=FALSE;\r
        \r
 }\r
 \r
@@ -106,6 +107,7 @@ void CLogDlg::DoDataExchange(CDataExchange* pDX)
        DDX_Control(pDX, IDC_SHOWWHOLEPROJECT,m_btnShowWholeProject);\r
        DDX_Text(pDX, IDC_LOGINFO, m_sLogInfo);\r
        DDX_Check(pDX, IDC_INCLUDEMERGE, m_bIncludeMerges);\r
+       DDX_Check(pDX, IDC_LOG_ALLBRANCH,m_bAllBranch);\r
        DDX_Control(pDX, IDC_SEARCHEDIT, m_cFilter);\r
 }\r
 \r
@@ -119,6 +121,7 @@ BEGIN_MESSAGE_MAP(CLogDlg, CResizableStandAloneDialog)
        ON_NOTIFY(LVN_ITEMCHANGED, IDC_LOGLIST, OnLvnItemchangedLoglist)\r
        ON_NOTIFY(EN_LINK, IDC_MSGVIEW, OnEnLinkMsgview)\r
        ON_BN_CLICKED(IDC_STATBUTTON, OnBnClickedStatbutton)\r
+\r
        \r
        ON_MESSAGE(WM_FILTEREDIT_INFOCLICKED, OnClickedInfoIcon)\r
        ON_MESSAGE(WM_FILTEREDIT_CANCELCLICKED, OnClickedCancelFilter)\r
@@ -135,6 +138,7 @@ BEGIN_MESSAGE_MAP(CLogDlg, CResizableStandAloneDialog)
        ON_NOTIFY(LVN_COLUMNCLICK,IDC_LOGLIST   , OnLvnColumnclick)\r
        //ON_NOTIFY(LVN_COLUMNCLICK, IDC_LOGMSG, OnLvnColumnclickChangedFileList)\r
        ON_BN_CLICKED(IDC_HIDEPATHS, OnBnClickedHidepaths)\r
+       ON_BN_CLICKED(IDC_LOG_ALLBRANCH,OnBnClickedAllBranch)\r
        \r
        ON_NOTIFY(DTN_DROPDOWN, IDC_DATEFROM, &CLogDlg::OnDtnDropdownDatefrom)\r
        ON_NOTIFY(DTN_DROPDOWN, IDC_DATETO, &CLogDlg::OnDtnDropdownDateto)\r
@@ -228,6 +232,7 @@ BOOL CLogDlg::OnInitDialog()
        \r
        AdjustControlSize(IDC_HIDEPATHS);\r
        AdjustControlSize(IDC_INCLUDEMERGE);\r
+       AdjustControlSize(IDC_LOG_ALLBRANCH);\r
 \r
        GetClientRect(m_DlgOrigRect);\r
        m_LogList.GetClientRect(m_LogListOrigRect);\r
@@ -254,6 +259,7 @@ BOOL CLogDlg::OnInitDialog()
 \r
        AddAnchor(IDC_LOGINFO, BOTTOM_LEFT, BOTTOM_RIGHT);      \r
        AddAnchor(IDC_HIDEPATHS, BOTTOM_LEFT);  \r
+       AddAnchor(IDC_LOG_ALLBRANCH,BOTTOM_LEFT);\r
        AddAnchor(IDC_INCLUDEMERGE, BOTTOM_LEFT);\r
        AddAnchor(IDC_GETALL, BOTTOM_LEFT);\r
        AddAnchor(IDC_SHOWWHOLEPROJECT, BOTTOM_LEFT);\r
@@ -3356,4 +3362,18 @@ void CLogDlg::OnEnChangeSearchedit()
        else\r
                KillTimer(LOGFILTER_TIMER);\r
 \r
+}\r
+\r
+void CLogDlg::OnBnClickedAllBranch()\r
+{\r
+       this->UpdateData();\r
+\r
+       if(this->m_bAllBranch)\r
+               m_LogList.m_ShowMask|=CGit::LOG_INFO_ALL_BRANCH;\r
+       else\r
+               m_LogList.m_ShowMask&=~CGit::LOG_INFO_ALL_BRANCH;\r
+\r
+       m_LogList.Refresh();\r
+\r
+       FillLogMessageCtrl(false);\r
 }
\ No newline at end of file
index 287e7ff..945e694 100644 (file)
@@ -129,6 +129,7 @@ protected:
        afx_msg void OnLvnColumnclickChangedFileList(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnBnClickShowWholeProject();\r
        afx_msg void OnBnClickedHidepaths();\r
+       afx_msg void OnBnClickedAllBranch();\r
        afx_msg void OnBnClickedCheckStoponcopy();\r
        \r
        afx_msg void OnDtnDropdownDatefrom(NMHDR *pNMHDR, LRESULT *pResult);\r
@@ -231,6 +232,8 @@ private:
        bool                            m_bCancelled;\r
        \r
        BOOL                            m_bIncludeMerges;\r
+       BOOL                            m_bAllBranch;\r
+\r
        git_revnum_t            m_lowestRev;\r
        CTGitPathList   *   m_currentChangedArray;\r
        LogChangedPathArray m_CurrentFilteredChangedArray;\r
index 5ac9e9b..655fe9a 100644 (file)
Binary files a/src/TortoiseProc/resource.h and b/src/TortoiseProc/resource.h differ