OSDN Git Service

Try to enable Setting
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Settings / SettingsLogCaches.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2007-2008 - TortoiseSVN\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 #pragma once\r
20 #include "SettingsPropPage.h"\r
21 #include "Tooltip.h"\r
22 #include "Registry.h"\r
23 #include "ILogReceiver.h"\r
24 \r
25 class CProgressDlg;\r
26 \r
27 /**\r
28  * \ingroup TortoiseProc\r
29  * Settings page to configure miscellaneous stuff. \r
30  */\r
31 class CSettingsLogCaches \r
32     : public ISettingsPropPage\r
33     , private ILogReceiver\r
34 {\r
35         DECLARE_DYNAMIC(CSettingsLogCaches)\r
36 \r
37 public:\r
38         CSettingsLogCaches();\r
39         virtual ~CSettingsLogCaches();\r
40         \r
41         UINT GetIconID() {return IDI_CACHELIST;}\r
42 \r
43     // update cache list\r
44 \r
45         virtual BOOL OnSetActive();\r
46 \r
47 // Dialog Data\r
48         enum { IDD = IDD_SETTINGSLOGCACHELIST };\r
49 \r
50 protected:\r
51         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
52         virtual BOOL OnInitDialog();\r
53         virtual BOOL PreTranslateMessage(MSG* pMsg);\r
54 \r
55         afx_msg void OnBnClickedDetails();\r
56         afx_msg void OnBnClickedUpdate();\r
57         afx_msg void OnBnClickedExport();\r
58         afx_msg void OnBnClickedDelete();\r
59 \r
60         afx_msg LRESULT OnRefeshRepositoryList (WPARAM wParam, LPARAM lParam);\r
61         afx_msg void OnNMDblclkRepositorylist(NMHDR *pNMHDR, LRESULT *pResult);\r
62         afx_msg void OnLvnItemchangedRepositorylist(NMHDR *pNMHDR, LRESULT *pResult);\r
63 \r
64     DECLARE_MESSAGE_MAP()\r
65 private:\r
66         CToolTips               m_tooltips;\r
67 \r
68         CListCtrl       m_cRepositoryList;\r
69 \r
70     /// current repository list\r
71 \r
72     typedef std::multimap<CString, CString> TRepos;\r
73     typedef TRepos::value_type TRepo;\r
74     typedef TRepos::const_iterator IT;\r
75     TRepos          repos;\r
76 \r
77     TRepo GetSelectedRepo();\r
78     void FillRepositoryList();\r
79 \r
80     static UINT WorkerThread(LPVOID pVoid);\r
81 \r
82     /// used by cache update\r
83 \r
84     CProgressDlg*   progress;\r
85     git_revnum_t    headRevision;\r
86 \r
87     void ReceiveLog ( LogChangedPathArray* changes\r
88                         , git_revnum_t rev\r
89                     , const StandardRevProps* stdRevProps\r
90                     , UserRevPropArray* userRevProps\r
91                     , bool mergesFollow);\r
92 };\r