#define GITLOG_START_ALL 1\r
#define GITLOG_END 100\r
\r
+#define LOGFILTER_ALL 1\r
+#define LOGFILTER_MESSAGES 2\r
+#define LOGFILTER_PATHS 3\r
+#define LOGFILTER_AUTHORS 4\r
+#define LOGFILTER_REVS 5\r
+#define LOGFILTER_REGEX 6\r
+#define LOGFILTER_BUGID 7\r
+\r
typedef void CALLBACK_PROCESS(void * data, int progress);\r
\r
class CGitLogList : public CHintListCtrl\r
int FetchLogAsync(CALLBACK_PROCESS *proc=NULL, void * data=NULL);\r
CPtrArray m_arShownList;\r
void Refresh();\r
+ void RecalculateShownList(CPtrArray * pShownlist);\r
\r
+ int m_nSelectedFilter;\r
+ CLogDataVector m_logEntries;\r
+ void RemoveFilter();\r
+ void StartFilter();\r
+ bool ValidateRegexp(LPCTSTR regexp_str, tr1::wregex& pat, bool bMatchCase = false );\r
+ CString m_sFilterText;\r
+ CTime m_From;\r
+ CTime m_To;\r
+ void GetTimeRange(CTime &oldest,CTime &latest);\r
protected:\r
DECLARE_MESSAGE_MAP()\r
afx_msg void OnNMCustomdrawLoglist(NMHDR *pNMHDR, LRESULT *pResult);\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
+ BOOL IsEntryInDateRange(int i);\r
+\r
+\r
+\r
+ bool m_bFilterWithRegex;\r
+\r
\r
CXPTheme m_Theme;\r
BOOL m_bVista;\r
\r
CRegDWORD m_regMaxBugIDColWidth;\r
int m_nSearchIndex;\r
- CLogDataVector m_logEntries;\r
+ \r
CALLBACK_PROCESS *m_ProcCallBack;\r
void *m_ProcData;\r
CStoreSelection* m_pStoreSelection;\r