OSDN Git Service

Show User and Email info at setting dialog
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Settings / SettingsProgsDiff.h
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-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 "SetProgsAdvDlg.h"\r
22 #include "FileDropEdit.h"\r
23 #include "Tooltip.h"\r
24 \r
25 \r
26 /**\r
27  * \ingroup TortoiseProc\r
28  * Settings page to configure the external diff tools.\r
29  */\r
30 class CSettingsProgsDiff : public ISettingsPropPage\r
31 {\r
32         DECLARE_DYNAMIC(CSettingsProgsDiff)\r
33 \r
34 public:\r
35         CSettingsProgsDiff();\r
36         virtual ~CSettingsProgsDiff();\r
37 \r
38         UINT GetIconID() {return IDI_DIFF;}\r
39 \r
40         enum { IDD = IDD_SETTINGSPROGSDIFF };\r
41 \r
42 protected:\r
43         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
44 \r
45         DECLARE_MESSAGE_MAP()\r
46 protected:\r
47         virtual BOOL OnInitDialog();\r
48         virtual BOOL PreTranslateMessage(MSG* pMsg);\r
49         virtual BOOL OnApply();\r
50         afx_msg void OnBnClickedExtdiffOff();\r
51         afx_msg void OnBnClickedExtdiffOn();\r
52         afx_msg void OnBnClickedExtdiffbrowse();\r
53         afx_msg void OnBnClickedExtdiffpropsOff();\r
54         afx_msg void OnBnClickedExtdiffpropsOn();\r
55         afx_msg void OnBnClickedExtdiffpropsbrowse();\r
56         afx_msg void OnBnClickedExtdiffadvanced();\r
57         afx_msg void OnBnClickedDontconvert();\r
58         afx_msg void OnEnChangeExtdiff();\r
59         afx_msg void OnEnChangeExtdiffprops();\r
60 \r
61         bool IsExternal(const CString& path) const { return !path.IsEmpty() && path.Left(1) != _T("#"); }\r
62         void CheckProgComment();\r
63         void CheckProgCommentProps();\r
64 \r
65 private:\r
66         CString                 m_sDiffPath;\r
67         CString                 m_sDiffPropsPath;\r
68         CRegString              m_regDiffPath;\r
69         CRegString              m_regDiffPropsPath;\r
70         int             m_iExtDiff;\r
71         int             m_iExtDiffProps;\r
72         CSetProgsAdvDlg m_dlgAdvDiff;\r
73         CToolTips               m_tooltips;\r
74         CRegDWORD               m_regConvertBase;       ///< registry value for the "Don't Convert" flag\r
75         BOOL                    m_bConvertBase;         ///< don't convert files when diffing against BASE\r
76 \r
77         CFileDropEdit   m_cDiffEdit;\r
78         CFileDropEdit   m_cDiffPropsEdit;\r
79 };\r