#pragma once\r
+#include "GitLoglistBase.h"\r
\r
-#include "HintListCtrl.h"\r
-#include "XPTheme.h"\r
-#include "resource.h"\r
-#include "Git.h"\r
-#include "ProjectProperties.h"\r
-#include "StandAloneDlg.h"\r
-#include "TGitPath.h"\r
-#include "registry.h"\r
-#include "SplitterControl.h"\r
-#include "Colors.h"\r
-#include "MenuButton.h"\r
-#include "LogDlgHelper.h"\r
-#include "FilterEdit.h"\r
-#include "GitRev.h"\r
-#include "Tooltip.h"\r
-#include "HintListCtrl.h"\r
-#include "GitLogList.h"\r
+class CGitLogListBase;\r
\r
-#include <regex>\r
-// CGitLogList\r
-#if (NTDDI_VERSION < NTDDI_LONGHORN)\r
-\r
-enum LISTITEMSTATES_MINE {\r
- LISS_NORMAL = 1,\r
- LISS_HOT = 2,\r
- LISS_SELECTED = 3,\r
- LISS_DISABLED = 4,\r
- LISS_SELECTEDNOTFOCUS = 5,\r
- LISS_HOTSELECTED = 6,\r
-};\r
-\r
-#define MCS_NOTRAILINGDATES 0x0040\r
-#define MCS_SHORTDAYSOFWEEK 0x0080\r
-#define MCS_NOSELCHANGEONNAV 0x0100\r
-\r
-#define DTM_SETMCSTYLE (DTM_FIRST + 11)\r
-\r
-#endif\r
-\r
-#define ICONITEMBORDER 5\r
-\r
-class CGitLogList : public CHintListCtrl\r
+class CGitLogList : public CGitLogListBase\r
{\r
DECLARE_DYNAMIC(CGitLogList)\r
-\r
public:\r
- CGitLogList();\r
- virtual ~CGitLogList();\r
- BOOL m_bNoDispUpdates;\r
- BOOL m_bStrictStopped;\r
- BOOL m_bShowBugtraqColumn;\r
- BOOL m_bSearchIndex;\r
- BOOL m_bCancelled;\r
- bool m_hasWC;\r
- GitRev m_wcRev;\r
-\r
- enum\r
- {\r
- LOGLIST_GRAPH,\r
- LOGLIST_ACTION,\r
- LOGLIST_MESSAGE,\r
- LOGLIST_AUTHOR,\r
- LOGLIST_DATE,\r
- LOGLIST_BUG,\r
- LOGLIST_MESSAGE_MAX=250\r
- };\r
-\r
- enum \r
- {\r
- // needs to start with 1, since 0 is the return value if *nothing* is clicked on in the context menu\r
- ID_COMPARE = 1,\r
- ID_SAVEAS,\r
- ID_COMPARETWO,\r
- ID_UPDATE,\r
- ID_COPY,\r
- ID_REVERTREV,\r
- ID_MERGEREV,\r
- ID_GNUDIFF1,\r
- ID_GNUDIFF2,\r
- ID_FINDENTRY,\r
- ID_OPEN,\r
- ID_BLAME,\r
- ID_REPOBROWSE,\r
- ID_LOG,\r
- ID_POPPROPS,\r
- ID_EDITAUTHOR,\r
- ID_EDITLOG,\r
- ID_DIFF,\r
- ID_OPENWITH,\r
- ID_COPYCLIPBOARD,\r
- ID_CHECKOUT,\r
- ID_REVERTTOREV,\r
- ID_BLAMECOMPARE,\r
- ID_BLAMETWO,\r
- ID_BLAMEDIFF,\r
- ID_VIEWREV,\r
- ID_VIEWPATHREV,\r
- ID_EXPORT,\r
- ID_COMPAREWITHPREVIOUS,\r
- ID_BLAMEWITHPREVIOUS,\r
- ID_GETMERGELOGS,\r
- ID_REVPROPS\r
- };\r
- void InsertGitColumn();\r
- void ResizeAllListCtrlCols();\r
- void CopySelectionToClipBoard();\r
- void DiffSelectedRevWithPrevious();\r
- bool IsSelectionContinuous();\r
- int FillGitLog();\r
- inline int ShownCountWithStopped() const { return (int)m_arShownList.GetCount() + (m_bStrictStopped ? 1 : 0); }\r
-\r
-protected:\r
- DECLARE_MESSAGE_MAP()\r
- afx_msg void OnNMCustomdrawLoglist(NMHDR *pNMHDR, LRESULT *pResult);\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
- void OnNMDblclkLoglist(NMHDR * /*pNMHDR*/, LRESULT *pResult);\r
- afx_msg void OnLvnOdfinditemLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
- virtual BOOL PreTranslateMessage(MSG* pMsg);\r
-\r
- CPtrArray m_arShownList;\r
- CXPTheme m_Theme;\r
- BOOL m_bVista;\r
- BOOL m_bThreadRunning;\r
- \r
- HICON m_hModifiedIcon;\r
- HICON m_hReplacedIcon;\r
- HICON m_hAddedIcon;\r
- HICON m_hDeletedIcon;\r
-\r
- HFONT m_boldFont;\r
-\r
- CRegDWORD m_regMaxBugIDColWidth;\r
-\r
-\r
- int m_nSearchIndex;\r
- CLogDataVector m_logEntries;\r
-\r
-};\r
-\r
-\r
+ void ContextMenuAction(int cmd,int FirstSelect, int LastSelect);\r
+};
\ No newline at end of file