OSDN Git Service

Show Ignore Sub Menu
[tortoisegit/TortoiseGitJp.git] / TortoiseProc / Settings / SettingsRevisionGraph.cpp
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 #include "stdafx.h"\r
20 #include "TortoiseProc.h"\r
21 #include "SettingsRevisionGraph.h"\r
22 #include "MessageBox.h"\r
23 \r
24 IMPLEMENT_DYNAMIC(CSettingsRevisionGraph, ISettingsPropPage)\r
25 \r
26 CSettingsRevisionGraph::CSettingsRevisionGraph()\r
27         : ISettingsPropPage(CSettingsRevisionGraph::IDD)\r
28     , regTrunkPattern (_T("Software\\TortoiseSVN\\RevisionGraph\\TrunkPattern"), _T("trunk"))\r
29     , regBranchesPattern (_T("Software\\TortoiseSVN\\RevisionGraph\\BranchPattern"), _T("branches"))\r
30     , regTagsPattern (_T("Software\\TortoiseSVN\\RevisionGraph\\TagsPattern"), _T("tags"))\r
31     , regTweakTrunkColors (_T("Software\\TortoiseSVN\\RevisionGraph\\TweakTrunkColors"), TRUE)\r
32     , regTweakTagsColors (_T("Software\\TortoiseSVN\\RevisionGraph\\TweakTagsColors"), TRUE)\r
33     , trunkPattern (regTrunkPattern)\r
34     , branchesPattern (regBranchesPattern)\r
35     , tagsPattern (regTagsPattern)\r
36     , tweakTrunkColors (regTweakTrunkColors)\r
37     , tweakTagsColors (regTweakTagsColors)\r
38 {\r
39 }\r
40 \r
41 CSettingsRevisionGraph::~CSettingsRevisionGraph()\r
42 {\r
43 }\r
44 \r
45 // update cache list\r
46 \r
47 void CSettingsRevisionGraph::DoDataExchange(CDataExchange* pDX)\r
48 {\r
49         ISettingsPropPage::DoDataExchange(pDX);\r
50 \r
51         DDX_Text(pDX, IDC_TRUNKPATTERN, trunkPattern);\r
52         DDX_Text(pDX, IDC_BRANCHESPATTERN, branchesPattern);\r
53         DDX_Text(pDX, IDC_TAGSPATTERN, tagsPattern);\r
54 \r
55         DDX_Check(pDX, IDC_TWEAKTRUNKCOLORS, tweakTrunkColors);\r
56         DDX_Check(pDX, IDC_TWEAKTAGSCOLORS, tweakTagsColors);\r
57 }\r
58 \r
59 \r
60 BEGIN_MESSAGE_MAP(CSettingsRevisionGraph, ISettingsPropPage)\r
61         ON_EN_CHANGE(IDC_TRUNKPATTERN, OnChanged)\r
62         ON_EN_CHANGE(IDC_BRANCHESPATTERN, OnChanged)\r
63         ON_EN_CHANGE(IDC_TAGSPATTERN, OnChanged)\r
64 \r
65         ON_BN_CLICKED(IDC_TWEAKTRUNKCOLORS, OnChanged)\r
66         ON_BN_CLICKED(IDC_TWEAKTAGSCOLORS, OnChanged)\r
67 END_MESSAGE_MAP()\r
68 \r
69 void CSettingsRevisionGraph::OnChanged()\r
70 {\r
71         SetModified();\r
72 }\r
73 \r
74 BOOL CSettingsRevisionGraph::OnApply()\r
75 {\r
76         UpdateData();\r
77 \r
78     Store (trunkPattern, regTrunkPattern);\r
79     Store (branchesPattern, regBranchesPattern);\r
80     Store (tagsPattern, regTagsPattern);\r
81     Store (tweakTrunkColors, regTweakTrunkColors);\r
82     Store (tweakTagsColors, regTweakTagsColors);\r
83 \r
84     SetModified(FALSE);\r
85         return ISettingsPropPage::OnApply();\r
86 }\r
87 \r
88 BOOL CSettingsRevisionGraph::OnInitDialog()\r
89 {\r
90         ISettingsPropPage::OnInitDialog();\r
91 \r
92     // tooltips\r
93 \r
94         m_tooltips.Create(this);\r
95 \r
96         m_tooltips.AddTool(IDC_TRUNKPATTERN, IDS_SETTINGS_TRUNKPATTERN);\r
97         m_tooltips.AddTool(IDC_BRANCHESPATTERN, IDS_SETTINGS_BRANCHESPATTERN);\r
98         m_tooltips.AddTool(IDC_TAGSPATTERN, IDS_SETTINGS_TAGSPATTERN);\r
99 \r
100     m_tooltips.AddTool(IDC_TWEAKTRUNKCOLORS, IDS_SETTINGS_TWEAKTRUNKCOLORS);\r
101     m_tooltips.AddTool(IDC_TWEAKTAGSCOLORS, IDS_SETTINGS_TWEAKTAGSCOLORS);\r
102 \r
103         return TRUE;\r
104 }\r
105 \r
106 BOOL CSettingsRevisionGraph::PreTranslateMessage(MSG* pMsg)\r
107 {\r
108         m_tooltips.RelayEvent(pMsg);\r
109         return ISettingsPropPage::PreTranslateMessage(pMsg);\r
110 }\r