#define LOGFILTER_REGEX 6\r
#define LOGFILTER_BUGID 7\r
\r
-typedef void CALLBACK_PROCESS(void * data, int progress);\r
+//typedef void CALLBACK_PROCESS(void * data, int progress);\r
+#define MSG_LOADED (WM_USER+110)\r
+#define MSG_LOAD_PERCENTAGE (WM_USER+111)\r
\r
class CGitLogListBase : public CHintListCtrl\r
{\r
virtual ~CGitLogListBase();\r
volatile LONG m_bNoDispUpdates;\r
BOOL m_IsIDReplaceAction;\r
+ BOOL m_IsOldFirst;\r
+ BOOL m_IsRebaseReplaceGraph;\r
+\r
+\r
BOOL m_bStrictStopped;\r
BOOL m_bShowBugtraqColumn;\r
BOOL m_bSearchIndex;\r
BOOL m_bCancelled;\r
+ unsigned __int64 m_ContextMenuMask;\r
+\r
bool m_hasWC;\r
GitRev m_wcRev;\r
volatile LONG m_bThreadRunning;\r
ID_CREATE_BRANCH,\r
ID_CREATE_TAG,\r
ID_SWITCHTOREV,\r
- ID_RESET\r
+ ID_RESET,\r
+ ID_REBASE_PICK,\r
+ ID_REBASE_EDIT,\r
+ ID_REBASE_SQUASH,\r
+ ID_REBASE_SKIP,\r
+ ID_COMBINE_COMMIT,\r
};\r
+ inline unsigned __int64 GetContextMenuBit(int i){ return ((unsigned __int64 )0x1)<<i ;}\r
void InsertGitColumn();\r
void ResizeAllListCtrlCols();\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);\r
+ int FillGitLog(CTGitPath *path,int infomask=CGit:: LOG_INFO_STAT| CGit::LOG_INFO_FILESTATE,CString *from=NULL,CString *to=NULL);\r
\r
inline int ShownCountWithStopped() const { return (int)m_arShownList.GetCount() + (m_bStrictStopped ? 1 : 0); }\r
- int FetchLogAsync(CALLBACK_PROCESS *proc=NULL, void * data=NULL);\r
+ int FetchLogAsync(void * data=NULL);\r
CPtrArray m_arShownList;\r
void Refresh();\r
void RecalculateShownList(CPtrArray * pShownlist);\r
CTime m_To;\r
\r
CTGitPath m_Path;\r
- BOOL m_bAllBranch;\r
+ int m_ShowMask;\r
\r
void GetTimeRange(CTime &oldest,CTime &latest);\r
virtual void ContextMenuAction(int cmd,int FirstSelect, int LastSelect)=0;\r
if(this->m_LoadingThread)\r
AfxTermThread((HINSTANCE)m_LoadingThread->m_hThread);\r
};\r
+\r
+ bool IsInWorkingThread()\r
+ {\r
+ return (AfxGetThread() == m_LoadingThread);\r
+ }\r
\r
volatile bool m_bExitThread;\r
CWinThread* m_LoadingThread;\r
afx_msg void OnLvnGetdispinfoLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);\r
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);\r
+ afx_msg LRESULT OnLoad(WPARAM wParam, LPARAM lParam);\r
void OnNMDblclkLoglist(NMHDR * /*pNMHDR*/, LRESULT *pResult);\r
afx_msg void OnLvnOdfinditemLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
void PreSubclassWindow();\r
virtual BOOL PreTranslateMessage(MSG* pMsg);\r
static UINT LogThreadEntry(LPVOID pVoid);\r
UINT LogThread();\r
+ void FetchFullLogInfoOrig();\r
+ void FetchFullLogInfo();\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
void paintGraphLane(HDC hdc,int laneHeight, int type, int x1, int x2,\r
const COLORREF& col,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
+ /**\r
+ * Save column widths to the registry\r
+ */\r
+ void SaveColumnWidths(); // save col widths to the registry\r
\r
BOOL IsEntryInDateRange(int i);\r
\r
CRegDWORD m_regMaxBugIDColWidth;\r
int m_nSearchIndex;\r
\r
- CALLBACK_PROCESS *m_ProcCallBack;\r
void *m_ProcData;\r
CStoreSelection* m_pStoreSelection;\r
MAP_HASH_NAME m_HashMap;\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
};\r
\r
\r