OSDN Git Service

Follow first parent work at log dialog
authorFrank Li <lznuaa@gmail.com>
Sun, 1 Feb 2009 15:38:13 +0000 (23:38 +0800)
committerFrank Li <lznuaa@gmail.com>
Sun, 1 Feb 2009 15:38:13 +0000 (23:38 +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 7354ee1..db83f8c 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
index 5620b1e..a805e59 100644 (file)
@@ -1544,12 +1544,14 @@ UINT CGitLogListBase::LogThread()
 }\r
 \r
 void CGitLogListBase::Refresh()\r
-{\r
+{      \r
        m_bExitThread=TRUE;\r
        DWORD ret =::WaitForSingleObject(m_LoadingThread->m_hThread,20000);\r
        if(ret == WAIT_TIMEOUT)\r
                TerminateThread();\r
 \r
+       this->Clear();\r
+\r
        if(!m_bThreadRunning)\r
        {\r
                this->SetItemCountEx(0);\r
index b7546ea..90d96f2 100644 (file)
@@ -81,7 +81,7 @@ CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/)
 {\r
        m_bFilterWithRegex = !!CRegDWORD(_T("Software\\TortoiseGit\\UseRegexFilter"), TRUE);\r
        m_bAllBranch=FALSE;\r
-       \r
+       m_bFirstParent=FALSE;\r
 }\r
 \r
 CLogDlg::~CLogDlg()\r
@@ -106,7 +106,7 @@ void CLogDlg::DoDataExchange(CDataExchange* pDX)
        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_INCLUDEMERGE, m_bIncludeMerges);\r
+       DDX_Check(pDX, IDC_LOG_FIRSTPARENT, m_bFirstParent);\r
        DDX_Check(pDX, IDC_LOG_ALLBRANCH,m_bAllBranch);\r
        DDX_Control(pDX, IDC_SEARCHEDIT, m_cFilter);\r
 }\r
@@ -143,7 +143,7 @@ BEGIN_MESSAGE_MAP(CLogDlg, CResizableStandAloneDialog)
        ON_NOTIFY(DTN_DROPDOWN, IDC_DATEFROM, &CLogDlg::OnDtnDropdownDatefrom)\r
        ON_NOTIFY(DTN_DROPDOWN, IDC_DATETO, &CLogDlg::OnDtnDropdownDateto)\r
        ON_WM_SIZE()\r
-       ON_BN_CLICKED(IDC_INCLUDEMERGE, &CLogDlg::OnBnClickedIncludemerge)\r
+       ON_BN_CLICKED(IDC_LOG_FIRSTPARENT, &CLogDlg::OnBnClickedFirstParent)\r
        ON_BN_CLICKED(IDC_REFRESH, &CLogDlg::OnBnClickedRefresh)\r
        ON_COMMAND(ID_LOGDLG_REFRESH,&CLogDlg::OnRefresh)\r
        ON_COMMAND(ID_LOGDLG_FIND,&CLogDlg::OnFind)\r
@@ -231,7 +231,7 @@ BOOL CLogDlg::OnInitDialog()
        m_cFilter.SetValidator(this);\r
        \r
        AdjustControlSize(IDC_HIDEPATHS);\r
-       AdjustControlSize(IDC_INCLUDEMERGE);\r
+       AdjustControlSize(IDC_LOG_FIRSTPARENT);\r
        AdjustControlSize(IDC_LOG_ALLBRANCH);\r
 \r
        GetClientRect(m_DlgOrigRect);\r
@@ -260,7 +260,7 @@ BOOL CLogDlg::OnInitDialog()
        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_LOG_FIRSTPARENT, BOTTOM_LEFT);\r
        AddAnchor(IDC_GETALL, BOTTOM_LEFT);\r
        AddAnchor(IDC_SHOWWHOLEPROJECT, BOTTOM_LEFT);\r
        AddAnchor(IDC_REFRESH, BOTTOM_LEFT);\r
@@ -393,7 +393,7 @@ LRESULT CLogDlg::OnLogListLoading(WPARAM wParam, LPARAM lParam)
 \r
                //DialogEnableWindow(IDC_GETALL, FALSE);\r
                //DialogEnableWindow(IDC_SHOWWHOLEPROJECT, FALSE);\r
-               //DialogEnableWindow(IDC_INCLUDEMERGE, FALSE);\r
+               //DialogEnableWindow(IDC_LOG_FIRSTPARENT, FALSE);\r
                DialogEnableWindow(IDC_STATBUTTON, FALSE);\r
                DialogEnableWindow(IDC_REFRESH, FALSE);\r
                DialogEnableWindow(IDC_HIDEPATHS,FALSE);\r
@@ -405,7 +405,7 @@ LRESULT CLogDlg::OnLogListLoading(WPARAM wParam, LPARAM lParam)
                DialogEnableWindow(IDC_SHOWWHOLEPROJECT, TRUE);\r
 \r
                DialogEnableWindow(IDC_GETALL, TRUE);\r
-               DialogEnableWindow(IDC_INCLUDEMERGE, TRUE);\r
+               DialogEnableWindow(IDC_LOG_FIRSTPARENT, TRUE);\r
                DialogEnableWindow(IDC_STATBUTTON, TRUE);\r
                DialogEnableWindow(IDC_REFRESH, TRUE);\r
                DialogEnableWindow(IDC_HIDEPATHS,TRUE);\r
@@ -417,12 +417,16 @@ LRESULT CLogDlg::OnLogListLoading(WPARAM wParam, LPARAM lParam)
                m_LogList.GetTimeRange(begin,end);\r
                m_DateFrom.SetTime(&begin);\r
                m_DateTo.SetTime(&end);\r
-\r
+               \r
+               \r
        \r
        }else\r
        {\r
                if(this->m_LogList.HasText())\r
+               {\r
                        this->m_LogList.ClearText();\r
+                       UpdateLogInfoLabel();\r
+               }\r
                m_LogProgress.SetPos(cur);\r
        }\r
        return 0;\r
@@ -2664,15 +2668,6 @@ void CLogDlg::OnBnClickedCheckStoponcopy()
        Refresh();\r
 }\r
 \r
-void CLogDlg::OnBnClickedIncludemerge()\r
-{\r
-#if 0\r
-       m_endrev = 0;\r
-\r
-       m_limit = 0;\r
-#endif\r
-       Refresh();\r
-}\r
 \r
 void CLogDlg::UpdateLogInfoLabel()\r
 {\r
@@ -3376,4 +3371,20 @@ void CLogDlg::OnBnClickedAllBranch()
        m_LogList.Refresh();\r
 \r
        FillLogMessageCtrl(false);\r
+}\r
+\r
+\r
+void CLogDlg::OnBnClickedFirstParent()\r
+{\r
+       this->UpdateData();\r
+\r
+       if(this->m_bFirstParent)\r
+               m_LogList.m_ShowMask|=CGit::LOG_INFO_FIRST_PARENT;\r
+       else\r
+               m_LogList.m_ShowMask&=~CGit::LOG_INFO_FIRST_PARENT;\r
+\r
+       m_LogList.Refresh();\r
+\r
+       FillLogMessageCtrl(false);\r
+\r
 }
\ No newline at end of file
index 945e694..ae6081d 100644 (file)
@@ -135,7 +135,7 @@ protected:
        afx_msg void OnDtnDropdownDatefrom(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnDtnDropdownDateto(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnSize(UINT nType, int cx, int cy);\r
-       afx_msg void OnBnClickedIncludemerge();\r
+       afx_msg void OnBnClickedFirstParent();\r
        afx_msg void OnBnClickedRefresh();\r
        afx_msg void OnRefresh();\r
        afx_msg void OnFind();\r
@@ -232,6 +232,7 @@ private:
        bool                            m_bCancelled;\r
        \r
        BOOL                            m_bIncludeMerges;\r
+       BOOL                            m_bFirstParent;\r
        BOOL                            m_bAllBranch;\r
 \r
        git_revnum_t            m_lowestRev;\r
index 655fe9a..ff878fb 100644 (file)
Binary files a/src/TortoiseProc/resource.h and b/src/TortoiseProc/resource.h differ