OSDN Git Service

Add multi-thread protection and correct log info label
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / GitLogListBase.h
index b91a7d2..76564fb 100644 (file)
@@ -70,6 +70,8 @@ public:
        BOOL m_IsOldFirst;\r
        BOOL m_IsRebaseReplaceGraph;\r
 \r
+       void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);\r
+       void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);\r
 \r
        BOOL m_bStrictStopped;\r
        BOOL m_bShowBugtraqColumn;\r
@@ -78,6 +80,7 @@ public:
        unsigned __int64 m_ContextMenuMask;\r
 \r
        bool                            m_hasWC;\r
+       bool                            m_bShowWC;\r
        GitRev                          m_wcRev;\r
        volatile LONG           m_bThreadRunning;\r
        CLogCache                       m_LogCache;\r
@@ -144,6 +147,8 @@ public:
        ID_REFLOG_DEL,\r
        ID_REBASE_TO_VERSION,\r
        ID_CREATE_PATCH,\r
+       ID_DELETE,\r
+       ID_COMMIT,\r
        };\r
        inline unsigned __int64 GetContextMenuBit(int i){ return ((unsigned __int64 )0x1)<<i ;}\r
        void InsertGitColumn();\r
@@ -151,8 +156,8 @@ public:
        void CopySelectionToClipBoard(bool hashonly=FALSE);\r
        void DiffSelectedRevWithPrevious();\r
        bool IsSelectionContinuous();\r
-       int  FillGitShortLog();\r
-       int  FillGitLog(CTGitPath *path,int infomask=CGit::     LOG_INFO_STAT| CGit::LOG_INFO_FILESTATE,CString *from=NULL,CString *to=NULL);\r
+       int  BeginFetchLog();\r
+       int  FillGitLog(CTGitPath *path,int infomask=CGit::     LOG_INFO_STAT| CGit::LOG_INFO_FILESTATE | CGit::LOG_INFO_SHOW_MERGEDFILE,CString *from=NULL,CString *to=NULL);\r
 \r
        inline int ShownCountWithStopped() const { return (int)m_arShownList.GetCount() + (m_bStrictStopped ? 1 : 0); }\r
        int FetchLogAsync(void * data=NULL);\r
@@ -181,6 +186,8 @@ public:
                g_Git.GetMapHashToFriendName(m_HashMap);\r
                m_CurrentBranch=g_Git.GetCurrentBranch();\r
                this->m_HeadHash=g_Git.GetHash(CString(_T("HEAD"))).Left(40);\r
+               m_wcRev.m_ParentHash.clear();\r
+               m_wcRev.m_ParentHash.push_back(m_HeadHash);\r
        }\r
        void TerminateThread()\r
        {\r
@@ -198,6 +205,8 @@ public:
                m_StartRef=StartRef;\r
        }\r
 \r
+       CString GetStartRef() const {return m_StartRef;}\r
+\r
        \r
        volatile bool           m_bExitThread;\r
        CWinThread*                     m_LoadingThread;\r
@@ -223,7 +232,7 @@ protected:
 \r
        BOOL GetShortName(CString ref, CString &shortname,CString prefix);\r
        void paintGraphLane(HDC hdc,int laneHeight, int type, int x1, int x2,\r
-                                      const COLORREF& col,int top) ; \r
+                                      const COLORREF& col,const COLORREF& activeColor, int top) ; \r
        void DrawLine(HDC hdc, int x1, int y1, int x2, int y2){::MoveToEx(hdc,x1,y1,NULL);::LineTo(hdc,x2,y2);}\r
        /**\r
        * Save column widths to the registry\r
@@ -234,6 +243,8 @@ protected:
 \r
        int GetHeadIndex();\r
 \r
+       CComCriticalSection                     m_critSec;\r
+\r
        bool                            m_bFilterWithRegex;\r
 \r
        \r
@@ -266,6 +277,7 @@ protected:
        COLORREF                        m_LineColors[Lanes::COLORS_NUM];\r
        DWORD                           m_DateFormat;   // DATE_SHORTDATE or DATE_LONGDATE\r
        bool                            m_bRelativeTimes;       // Show relative times\r
+       GIT_LOG                         m_DllGitLog;\r
 };\r
 \r
 \r