OSDN Git Service

Add TortoiseProc
[tortoisegit/TortoiseGitJp.git] / TortoiseProc / Settings / SettingsProgsMerge.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  * \ingroup TortoiseProc\r
27  * Setting page to configure the external merge tools.\r
28  */\r
29 class CSettingsProgsMerge : public ISettingsPropPage\r
30 {\r
31         DECLARE_DYNAMIC(CSettingsProgsMerge)\r
32 \r
33 public:\r
34         CSettingsProgsMerge();\r
35         virtual ~CSettingsProgsMerge();\r
36 \r
37         UINT GetIconID() {return IDI_MERGE;}\r
38 // Dialog Data\r
39         enum { IDD = IDD_SETTINGSPROGSMERGE };\r
40 \r
41 protected:\r
42         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
43 \r
44         DECLARE_MESSAGE_MAP()\r
45 public:\r
46         virtual BOOL OnInitDialog();\r
47         virtual BOOL PreTranslateMessage(MSG* pMsg);\r
48         virtual BOOL OnApply();\r
49         afx_msg void OnBnClickedExtmergeOff();\r
50         afx_msg void OnBnClickedExtmergeOn();\r
51         afx_msg void OnBnClickedExtmergebrowse();\r
52         afx_msg void OnBnClickedExtmergeadvanced();\r
53         afx_msg void OnEnChangeExtmerge();\r
54 private:\r
55         bool IsExternal(const CString& path) const { return !path.IsEmpty() && path.Left(1) != _T("#"); }\r
56         void CheckProgComment();\r
57 private:\r
58         CString                 m_sMergePath;\r
59         CRegString              m_regMergePath;\r
60         int             m_iExtMerge;\r
61         CSetProgsAdvDlg m_dlgAdvMerge;\r
62         CToolTips               m_tooltips;\r
63 \r
64         CFileDropEdit   m_cMergeEdit;\r
65 };\r