1 // TortoiseSVN - a Windows shell extension for easy version control
\r
3 // Copyright (C) 2003-2007 - 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 "SetMisc.h"
\r
22 #include "MessageBox.h"
\r
24 IMPLEMENT_DYNAMIC(CSetMisc, ISettingsPropPage)
\r
26 CSetMisc::CSetMisc()
\r
27 : ISettingsPropPage(CSetMisc::IDD)
\r
28 , m_bUnversionedRecurse(FALSE)
\r
29 , m_bAutocompletion(FALSE)
\r
30 , m_dwAutocompletionTimeout(0)
\r
32 , m_bCheckRepo(FALSE)
\r
33 , m_dwMaxHistory(25)
\r
34 , m_bCommitReopen(FALSE)
\r
35 , m_bShowLockDlg(FALSE)
\r
36 , m_bAutoSelect(TRUE)
\r
38 m_regUnversionedRecurse = CRegDWORD(_T("Software\\TortoiseGit\\UnversionedRecurse"), TRUE);
\r
39 m_bUnversionedRecurse = (DWORD)m_regUnversionedRecurse;
\r
40 m_regAutocompletion = CRegDWORD(_T("Software\\TortoiseGit\\Autocompletion"), TRUE);
\r
41 m_bAutocompletion = (DWORD)m_regAutocompletion;
\r
42 m_regAutocompletionTimeout = CRegDWORD(_T("Software\\TortoiseGit\\AutocompleteParseTimeout"), 5);
\r
43 m_dwAutocompletionTimeout = (DWORD)m_regAutocompletionTimeout;
\r
44 m_regSpell = CRegDWORD(_T("Software\\TortoiseGit\\Spellchecker"), FALSE);
\r
45 m_bSpell = (DWORD)m_regSpell;
\r
46 m_regCheckRepo = CRegDWORD(_T("Software\\TortoiseGit\\CheckRepo"), FALSE);
\r
47 m_bCheckRepo = (DWORD)m_regCheckRepo;
\r
48 m_regMaxHistory = CRegDWORD(_T("Software\\TortoiseGit\\MaxHistoryItems"), 25);
\r
49 m_dwMaxHistory = (DWORD)m_regMaxHistory;
\r
50 m_regCommitReopen = CRegDWORD(_T("Software\\TortoiseGit\\CommitReopen"), FALSE);
\r
51 m_bCommitReopen = (BOOL)(DWORD)m_regCommitReopen;
\r
52 m_regShowLockDlg = CRegDWORD(_T("Software\\TortoiseGit\\ShowLockDlg"), TRUE);
\r
53 m_bShowLockDlg = (BOOL)(DWORD)m_regShowLockDlg;
\r
54 m_regAutoSelect = CRegDWORD(_T("Software\\TortoiseGit\\SelectFilesForCommit"), TRUE);
\r
55 m_bAutoSelect = (BOOL)(DWORD)m_regAutoSelect;
\r
58 CSetMisc::~CSetMisc()
\r
62 void CSetMisc::DoDataExchange(CDataExchange* pDX)
\r
64 ISettingsPropPage::DoDataExchange(pDX);
\r
65 DDX_Check(pDX, IDC_UNVERSIONEDRECURSE, m_bUnversionedRecurse);
\r
66 DDX_Check(pDX, IDC_AUTOCOMPLETION, m_bAutocompletion);
\r
67 DDX_Text(pDX, IDC_AUTOCOMPLETIONTIMEOUT, m_dwAutocompletionTimeout);
\r
68 DDV_MinMaxUInt(pDX, m_dwAutocompletionTimeout, 1, 100);
\r
69 DDX_Check(pDX, IDC_SPELL, m_bSpell);
\r
70 DDX_Check(pDX, IDC_REPOCHECK, m_bCheckRepo);
\r
71 DDX_Text(pDX, IDC_MAXHISTORY, m_dwMaxHistory);
\r
72 DDV_MinMaxUInt(pDX, m_dwMaxHistory, 1, 100);
\r
73 DDX_Check(pDX, IDC_REOPENCOMMIT, m_bCommitReopen);
\r
74 DDX_Check(pDX, IDC_SHOWLOCKDLG, m_bShowLockDlg);
\r
75 DDX_Check(pDX, IDC_SELECTFILESONCOMMIT, m_bAutoSelect);
\r
79 BEGIN_MESSAGE_MAP(CSetMisc, ISettingsPropPage)
\r
80 ON_BN_CLICKED(IDC_UNVERSIONEDRECURSE, &CSetMisc::OnChanged)
\r
81 ON_BN_CLICKED(IDC_AUTOCOMPLETION, &CSetMisc::OnChanged)
\r
82 ON_EN_CHANGE(IDC_AUTOCOMPLETIONTIMEOUT, &CSetMisc::OnChanged)
\r
83 ON_EN_CHANGE(IDC_MAXHISTORY, &CSetMisc::OnChanged)
\r
84 ON_BN_CLICKED(IDC_SPELL, &CSetMisc::OnChanged)
\r
85 ON_BN_CLICKED(IDC_REPOCHECK, &CSetMisc::OnChanged)
\r
86 ON_BN_CLICKED(IDC_REOPENCOMMIT, &CSetMisc::OnChanged)
\r
87 ON_BN_CLICKED(IDC_SHOWLOCKDLG, &CSetMisc::OnChanged)
\r
88 ON_BN_CLICKED(IDC_SELECTFILESONCOMMIT, &CSetMisc::OnChanged)
\r
91 void CSetMisc::OnChanged()
\r
96 BOOL CSetMisc::OnApply()
\r
100 Store (m_bUnversionedRecurse, m_regUnversionedRecurse);
\r
101 Store (m_bAutocompletion, m_regAutocompletion);
\r
102 Store (m_dwAutocompletionTimeout, m_regAutocompletionTimeout);
\r
103 Store (m_bSpell, m_regSpell);
\r
104 Store (m_bCheckRepo, m_regCheckRepo);
\r
105 Store (m_dwMaxHistory, m_regMaxHistory);
\r
106 Store (m_bCommitReopen, m_regCommitReopen);
\r
107 Store (m_bShowLockDlg, m_regShowLockDlg);
\r
108 Store (m_bAutoSelect, m_regAutoSelect);
\r
110 SetModified(FALSE);
\r
111 return ISettingsPropPage::OnApply();
\r
114 BOOL CSetMisc::OnInitDialog()
\r
116 ISettingsPropPage::OnInitDialog();
\r
118 m_tooltips.Create(this);
\r
119 m_tooltips.AddTool(IDC_UNVERSIONEDRECURSE, IDS_SETTINGS_UNVERSIONEDRECURSE_TT);
\r
120 m_tooltips.AddTool(IDC_AUTOCOMPLETION, IDS_SETTINGS_AUTOCOMPLETION_TT);
\r
121 m_tooltips.AddTool(IDC_AUTOCOMPLETIONTIMEOUT, IDS_SETTINGS_AUTOCOMPLETIONTIMEOUT_TT);
\r
122 m_tooltips.AddTool(IDC_AUTOCOMPLETIONTIMEOUTLABEL, IDS_SETTINGS_AUTOCOMPLETIONTIMEOUT_TT);
\r
123 m_tooltips.AddTool(IDC_SPELL, IDS_SETTINGS_SPELLCHECKER_TT);
\r
124 m_tooltips.AddTool(IDC_REOPENCOMMIT, IDS_SETTINGS_COMMITREOPEN_TT);
\r
125 m_tooltips.AddTool(IDC_REPOCHECK, IDS_SETTINGS_REPOCHECK_TT);
\r
126 m_tooltips.AddTool(IDC_MAXHISTORY, IDS_SETTINGS_MAXHISTORY_TT);
\r
127 m_tooltips.AddTool(IDC_MAXHISTORYLABEL, IDS_SETTINGS_MAXHISTORY_TT);
\r
128 m_tooltips.AddTool(IDC_SHOWLOCKDLG, IDS_SETTINGS_SHOWLOCKDLG_TT);
\r
129 m_tooltips.AddTool(IDC_SELECTFILESONCOMMIT, IDS_SETTINGS_SELECTFILESONCOMMIT_TT);
\r
133 BOOL CSetMisc::PreTranslateMessage(MSG* pMsg)
\r
135 m_tooltips.RelayEvent(pMsg);
\r
136 return ISettingsPropPage::PreTranslateMessage(pMsg);
\r