OSDN Git Service

build success
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / GitLogList.h
1 #pragma once\r
2 \r
3 #include "HintListCtrl.h"\r
4 #include "XPTheme.h"\r
5 #include "resource.h"\r
6 #include "Git.h"\r
7 #include "ProjectProperties.h"\r
8 #include "StandAloneDlg.h"\r
9 #include "TGitPath.h"\r
10 #include "registry.h"\r
11 #include "SplitterControl.h"\r
12 #include "Colors.h"\r
13 #include "MenuButton.h"\r
14 #include "LogDlgHelper.h"\r
15 #include "FilterEdit.h"\r
16 #include "GitRev.h"\r
17 #include "Tooltip.h"\r
18 #include "HintListCtrl.h"\r
19 #include "GitLogList.h"\r
20 \r
21 #include <regex>\r
22 // CGitLogList\r
23 #if (NTDDI_VERSION < NTDDI_LONGHORN)\r
24 \r
25 enum LISTITEMSTATES_MINE {\r
26         LISS_NORMAL = 1,\r
27         LISS_HOT = 2,\r
28         LISS_SELECTED = 3,\r
29         LISS_DISABLED = 4,\r
30         LISS_SELECTEDNOTFOCUS = 5,\r
31         LISS_HOTSELECTED = 6,\r
32 };\r
33 \r
34 #define MCS_NOTRAILINGDATES  0x0040\r
35 #define MCS_SHORTDAYSOFWEEK  0x0080\r
36 #define MCS_NOSELCHANGEONNAV 0x0100\r
37 \r
38 #define DTM_SETMCSTYLE    (DTM_FIRST + 11)\r
39 \r
40 #endif\r
41 \r
42 #define ICONITEMBORDER 5\r
43 \r
44 class CGitLogList : public CHintListCtrl\r
45 {\r
46         DECLARE_DYNAMIC(CGitLogList)\r
47 \r
48 public:\r
49         CGitLogList();\r
50         virtual ~CGitLogList();\r
51         BOOL m_bNoDispUpdates;\r
52         BOOL m_bStrictStopped;\r
53         BOOL m_bShowBugtraqColumn;\r
54         BOOL m_bSearchIndex;\r
55         BOOL m_bCancelled;\r
56         bool                            m_hasWC;\r
57         GitRev                          m_wcRev;\r
58 \r
59         enum\r
60         {\r
61                 LOGLIST_GRAPH,\r
62                 LOGLIST_ACTION,\r
63                 LOGLIST_MESSAGE,\r
64                 LOGLIST_AUTHOR,\r
65                 LOGLIST_DATE,\r
66                 LOGLIST_BUG,\r
67                 LOGLIST_MESSAGE_MAX=250\r
68         };\r
69 \r
70         enum \r
71         {\r
72         // needs to start with 1, since 0 is the return value if *nothing* is clicked on in the context menu\r
73         ID_COMPARE = 1,\r
74         ID_SAVEAS,\r
75         ID_COMPARETWO,\r
76         ID_UPDATE,\r
77         ID_COPY,\r
78         ID_REVERTREV,\r
79         ID_MERGEREV,\r
80         ID_GNUDIFF1,\r
81         ID_GNUDIFF2,\r
82         ID_FINDENTRY,\r
83         ID_OPEN,\r
84         ID_BLAME,\r
85         ID_REPOBROWSE,\r
86         ID_LOG,\r
87         ID_POPPROPS,\r
88         ID_EDITAUTHOR,\r
89         ID_EDITLOG,\r
90         ID_DIFF,\r
91         ID_OPENWITH,\r
92         ID_COPYCLIPBOARD,\r
93         ID_CHECKOUT,\r
94         ID_REVERTTOREV,\r
95         ID_BLAMECOMPARE,\r
96         ID_BLAMETWO,\r
97         ID_BLAMEDIFF,\r
98         ID_VIEWREV,\r
99         ID_VIEWPATHREV,\r
100         ID_EXPORT,\r
101         ID_COMPAREWITHPREVIOUS,\r
102         ID_BLAMEWITHPREVIOUS,\r
103         ID_GETMERGELOGS,\r
104         ID_REVPROPS\r
105         };\r
106         void InsertGitColumn();\r
107         void ResizeAllListCtrlCols();\r
108         void CopySelectionToClipBoard();\r
109         void DiffSelectedRevWithPrevious();\r
110         bool IsSelectionContinuous();\r
111         int  FillGitLog();\r
112         inline int ShownCountWithStopped() const { return (int)m_arShownList.GetCount() + (m_bStrictStopped ? 1 : 0); }\r
113 \r
114 protected:\r
115         DECLARE_MESSAGE_MAP()\r
116         afx_msg void OnNMCustomdrawLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
117         afx_msg void OnLvnGetdispinfoLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
118         afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);\r
119         afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);\r
120         void OnNMDblclkLoglist(NMHDR * /*pNMHDR*/, LRESULT *pResult);\r
121         afx_msg void OnLvnOdfinditemLoglist(NMHDR *pNMHDR, LRESULT *pResult);\r
122         virtual BOOL PreTranslateMessage(MSG* pMsg);\r
123 \r
124         CPtrArray                       m_arShownList;\r
125         CXPTheme                        m_Theme;\r
126         BOOL                            m_bVista;\r
127         BOOL                            m_bThreadRunning;\r
128         \r
129         HICON                           m_hModifiedIcon;\r
130         HICON                           m_hReplacedIcon;\r
131         HICON                           m_hAddedIcon;\r
132         HICON                           m_hDeletedIcon;\r
133 \r
134         HFONT                           m_boldFont;\r
135 \r
136         CRegDWORD                       m_regMaxBugIDColWidth;\r
137 \r
138 \r
139         int                                     m_nSearchIndex;\r
140         CLogDataVector          m_logEntries;\r
141 \r
142 };\r
143 \r
144 \r