//typedef void CALLBACK_PROCESS(void * data, int progress);\r
#define MSG_LOADED (WM_USER+110)\r
#define MSG_LOAD_PERCENTAGE (WM_USER+111)\r
+#define MSG_REFLOG_CHANGED (WM_USER+112)\r
\r
class CGitLogListBase : public CHintListCtrl\r
{\r
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
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
ID_REBASE_SQUASH,\r
ID_REBASE_SKIP,\r
ID_COMBINE_COMMIT,\r
+ ID_STASH_APPLY,\r
+ 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
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
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
{\r
return (AfxGetThread() == m_LoadingThread);\r
}\r
+\r
+ void SetStartRef(const CString& StartRef)\r
+ {\r
+ m_StartRef=StartRef;\r
+ }\r
+\r
+ CString GetStartRef() const {return m_StartRef;}\r
+\r
\r
volatile bool m_bExitThread;\r
CWinThread* m_LoadingThread;\r
virtual BOOL PreTranslateMessage(MSG* pMsg);\r
static UINT LogThreadEntry(LPVOID pVoid);\r
UINT LogThread();\r
- void FetchFullLogInfoOrig();\r
- void FetchFullLogInfo();\r
+ void FetchLastLogInfo();\r
+ void FetchFullLogInfo(CString &from, CString &to);\r
void FillBackGround(HDC hdc, int Index,CRect &rect);\r
void DrawTagBranch(HDC,CRect &rect,INT_PTR index);\r
void DrawGraph(HDC,CRect &rect,INT_PTR index);\r
\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
\r
int GetHeadIndex();\r
\r
+ CComCriticalSection m_critSec;\r
+\r
bool m_bFilterWithRegex;\r
\r
\r
\r
CString m_CurrentBranch;\r
CString m_HeadHash;\r
+\r
+ CString m_StartRef; //Ref of the top-commit\r
\r
CString m_ColumnRegKey;\r
\r
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