OSDN Git Service

Change Dir Structure to be same as TortoiseSVN'
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Settings / SettingsColors.cpp
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 #include "stdafx.h"\r
20 #include "TortoiseProc.h"\r
21 #include "SettingsColors.h"\r
22 #include ".\settingscolors.h"\r
23 \r
24 IMPLEMENT_DYNAMIC(CSettingsColors, ISettingsPropPage)\r
25 CSettingsColors::CSettingsColors()\r
26         : ISettingsPropPage(CSettingsColors::IDD)\r
27 {\r
28 }\r
29 \r
30 CSettingsColors::~CSettingsColors()\r
31 {\r
32 }\r
33 \r
34 void CSettingsColors::DoDataExchange(CDataExchange* pDX)\r
35 {\r
36         ISettingsPropPage::DoDataExchange(pDX);\r
37         DDX_Control(pDX, IDC_CONFLICTCOLOR, m_cConflict);\r
38         DDX_Control(pDX, IDC_ADDEDCOLOR, m_cAdded);\r
39         DDX_Control(pDX, IDC_DELETEDCOLOR, m_cDeleted);\r
40         DDX_Control(pDX, IDC_MERGEDCOLOR, m_cMerged);\r
41         DDX_Control(pDX, IDC_MODIFIEDCOLOR, m_cModified);\r
42         DDX_Control(pDX, IDC_DELETEDNODECOLOR, m_cDeletedNode);\r
43         DDX_Control(pDX, IDC_ADDEDNODECOLOR, m_cAddedNode);\r
44         DDX_Control(pDX, IDC_REPLACEDNODECOLOR, m_cReplacedNode);\r
45         DDX_Control(pDX, IDC_RENAMEDNODECOLOR, m_cRenamedNode);\r
46 }\r
47 \r
48 \r
49 BEGIN_MESSAGE_MAP(CSettingsColors, ISettingsPropPage)\r
50         ON_BN_CLICKED(IDC_RESTORE, OnBnClickedRestore)\r
51         ON_BN_CLICKED(IDC_CONFLICTCOLOR, &CSettingsColors::OnBnClickedColor)\r
52         ON_BN_CLICKED(IDC_ADDEDCOLOR, &CSettingsColors::OnBnClickedColor)\r
53         ON_BN_CLICKED(IDC_DELETEDCOLOR, &CSettingsColors::OnBnClickedColor)\r
54         ON_BN_CLICKED(IDC_MERGEDCOLOR, &CSettingsColors::OnBnClickedColor)\r
55         ON_BN_CLICKED(IDC_MODIFIEDCOLOR, &CSettingsColors::OnBnClickedColor)\r
56         ON_BN_CLICKED(IDC_DELETEDNODECOLOR, &CSettingsColors::OnBnClickedColor)\r
57         ON_BN_CLICKED(IDC_ADDEDNODECOLOR, &CSettingsColors::OnBnClickedColor)\r
58         ON_BN_CLICKED(IDC_REPLACEDNODECOLOR, &CSettingsColors::OnBnClickedColor)\r
59         ON_BN_CLICKED(IDC_RENAMEDNODECOLOR, &CSettingsColors::OnBnClickedColor)\r
60 END_MESSAGE_MAP()\r
61 \r
62 BOOL CSettingsColors::OnInitDialog()\r
63 {\r
64         ISettingsPropPage::OnInitDialog();\r
65 \r
66         m_cAdded.SetColor(m_Colors.GetColor(CColors::Added));\r
67         m_cDeleted.SetColor(m_Colors.GetColor(CColors::Deleted));\r
68         m_cMerged.SetColor(m_Colors.GetColor(CColors::Merged));\r
69         m_cModified.SetColor(m_Colors.GetColor(CColors::Modified));\r
70         m_cConflict.SetColor(m_Colors.GetColor(CColors::Conflict));\r
71         m_cAddedNode.SetColor(m_Colors.GetColor(CColors::AddedNode));\r
72         m_cDeletedNode.SetColor(m_Colors.GetColor(CColors::DeletedNode));\r
73         m_cRenamedNode.SetColor(m_Colors.GetColor(CColors::RenamedNode));\r
74         m_cReplacedNode.SetColor(m_Colors.GetColor(CColors::ReplacedNode));\r
75 \r
76         CString sDefaultText, sCustomText;\r
77         sDefaultText.LoadString(IDS_COLOURPICKER_DEFAULTTEXT);\r
78         sCustomText.LoadString(IDS_COLOURPICKER_CUSTOMTEXT);\r
79         m_cAdded.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::Added, true));\r
80         m_cAdded.EnableOtherButton(sCustomText);\r
81         m_cDeleted.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::Deleted, true));\r
82         m_cDeleted.EnableOtherButton(sCustomText);\r
83         m_cMerged.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::Merged, true));\r
84         m_cMerged.EnableOtherButton(sCustomText);\r
85         m_cModified.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::Modified, true));\r
86         m_cModified.EnableOtherButton(sCustomText);\r
87         m_cConflict.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::Conflict, true));\r
88         m_cConflict.EnableOtherButton(sCustomText);\r
89         m_cAddedNode.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::AddedNode, true));\r
90         m_cAddedNode.EnableOtherButton(sCustomText);\r
91         m_cDeletedNode.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::DeletedNode, true));\r
92         m_cDeletedNode.EnableOtherButton(sCustomText);\r
93         m_cRenamedNode.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::RenamedNode, true));\r
94         m_cRenamedNode.EnableOtherButton(sCustomText);\r
95         m_cReplacedNode.EnableAutomaticButton(sDefaultText, m_Colors.GetColor(CColors::ReplacedNode, true));\r
96         m_cReplacedNode.EnableOtherButton(sCustomText);\r
97         \r
98         return TRUE;\r
99 }\r
100 \r
101 void CSettingsColors::OnBnClickedRestore()\r
102 {\r
103         m_cAdded.SetColor(m_Colors.GetColor(CColors::Added));\r
104         m_cDeleted.SetColor(m_Colors.GetColor(CColors::Deleted));\r
105         m_cMerged.SetColor(m_Colors.GetColor(CColors::Merged));\r
106         m_cModified.SetColor(m_Colors.GetColor(CColors::Modified));\r
107         m_cConflict.SetColor(m_Colors.GetColor(CColors::Conflict));\r
108         m_cAddedNode.SetColor(m_Colors.GetColor(CColors::AddedNode));\r
109         m_cDeletedNode.SetColor(m_Colors.GetColor(CColors::DeletedNode));\r
110         m_cRenamedNode.SetColor(m_Colors.GetColor(CColors::RenamedNode));\r
111         m_cReplacedNode.SetColor(m_Colors.GetColor(CColors::ReplacedNode));\r
112         SetModified(TRUE);\r
113 }\r
114 \r
115 BOOL CSettingsColors::OnApply()\r
116 {\r
117         m_Colors.SetColor(CColors::Added, m_cAdded.GetColor() == -1 ? m_cAdded.GetAutomaticColor() : m_cAdded.GetColor());\r
118         m_Colors.SetColor(CColors::Deleted, m_cDeleted.GetColor() == -1 ? m_cDeleted.GetAutomaticColor() : m_cDeleted.GetColor());\r
119         m_Colors.SetColor(CColors::Merged, m_cMerged.GetColor() == -1 ? m_cMerged.GetAutomaticColor() : m_cMerged.GetColor());\r
120         m_Colors.SetColor(CColors::Modified, m_cModified.GetColor() == -1 ? m_cModified.GetAutomaticColor() : m_cModified.GetColor());\r
121         m_Colors.SetColor(CColors::Conflict, m_cConflict.GetColor() == -1 ? m_cConflict.GetAutomaticColor() : m_cConflict.GetColor());\r
122         m_Colors.SetColor(CColors::AddedNode, m_cAddedNode.GetColor() == -1 ? m_cAddedNode.GetAutomaticColor() : m_cAddedNode.GetColor());\r
123         m_Colors.SetColor(CColors::DeletedNode, m_cDeletedNode.GetColor() == -1 ? m_cDeletedNode.GetAutomaticColor() : m_cDeletedNode.GetColor());\r
124         m_Colors.SetColor(CColors::RenamedNode, m_cRenamedNode.GetColor() == -1 ? m_cRenamedNode.GetAutomaticColor() : m_cRenamedNode.GetColor());\r
125         m_Colors.SetColor(CColors::ReplacedNode, m_cReplacedNode.GetColor() == -1 ? m_cReplacedNode.GetAutomaticColor() : m_cReplacedNode.GetColor());\r
126         m_Colors.SetColor(CColors::PropertyChanged, m_cModified.GetColor() == -1 ? m_cModified.GetAutomaticColor() : m_cModified.GetColor());\r
127 \r
128         return ISettingsPropPage::OnApply();\r
129 }\r
130 \r
131 void CSettingsColors::OnBnClickedColor()\r
132 {\r
133         SetModified();\r
134 }\r