1 // TortoiseSVN - a Windows shell extension for easy version control
\r
3 // Copyright (C) 2003-2008 - TortoiseSVN
\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
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
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
20 #include "TortoiseProc.h"
\r
21 #include "SettingsColors.h"
\r
22 #include ".\settingscolors.h"
\r
24 IMPLEMENT_DYNAMIC(CSettingsColors, ISettingsPropPage)
\r
25 CSettingsColors::CSettingsColors()
\r
26 : ISettingsPropPage(CSettingsColors::IDD)
\r
30 CSettingsColors::~CSettingsColors()
\r
34 void CSettingsColors::DoDataExchange(CDataExchange* pDX)
\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
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
62 BOOL CSettingsColors::OnInitDialog()
\r
64 ISettingsPropPage::OnInitDialog();
\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
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
101 void CSettingsColors::OnBnClickedRestore()
\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
115 BOOL CSettingsColors::OnApply()
\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
128 return ISettingsPropPage::OnApply();
\r
131 void CSettingsColors::OnBnClickedColor()
\r