OSDN Git Service

Show Ignore Sub Menu
[tortoisegit/TortoiseGitJp.git] / TortoiseProc / Settings / SetMisc.cpp
1 // TortoiseSVN - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2003-2007 - 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 "SetMisc.h"\r
22 #include "MessageBox.h"\r
23 \r
24 IMPLEMENT_DYNAMIC(CSetMisc, ISettingsPropPage)\r
25 \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
31         , m_bSpell(TRUE)\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
37 {\r
38         m_regUnversionedRecurse = CRegDWORD(_T("Software\\TortoiseSVN\\UnversionedRecurse"), TRUE);\r
39         m_bUnversionedRecurse = (DWORD)m_regUnversionedRecurse;\r
40         m_regAutocompletion = CRegDWORD(_T("Software\\TortoiseSVN\\Autocompletion"), TRUE);\r
41         m_bAutocompletion = (DWORD)m_regAutocompletion;\r
42         m_regAutocompletionTimeout = CRegDWORD(_T("Software\\TortoiseSVN\\AutocompleteParseTimeout"), 5);\r
43         m_dwAutocompletionTimeout = (DWORD)m_regAutocompletionTimeout;\r
44         m_regSpell = CRegDWORD(_T("Software\\TortoiseSVN\\Spellchecker"), FALSE);\r
45         m_bSpell = (DWORD)m_regSpell;\r
46         m_regCheckRepo = CRegDWORD(_T("Software\\TortoiseSVN\\CheckRepo"), FALSE);\r
47         m_bCheckRepo = (DWORD)m_regCheckRepo;\r
48         m_regMaxHistory = CRegDWORD(_T("Software\\TortoiseSVN\\MaxHistoryItems"), 25);\r
49         m_dwMaxHistory = (DWORD)m_regMaxHistory;\r
50         m_regCommitReopen = CRegDWORD(_T("Software\\TortoiseSVN\\CommitReopen"), FALSE);\r
51         m_bCommitReopen = (BOOL)(DWORD)m_regCommitReopen;\r
52         m_regShowLockDlg = CRegDWORD(_T("Software\\TortoiseSVN\\ShowLockDlg"), TRUE);\r
53         m_bShowLockDlg = (BOOL)(DWORD)m_regShowLockDlg;\r
54         m_regAutoSelect = CRegDWORD(_T("Software\\TortoiseSVN\\SelectFilesForCommit"), TRUE);\r
55         m_bAutoSelect = (BOOL)(DWORD)m_regAutoSelect;\r
56 }\r
57 \r
58 CSetMisc::~CSetMisc()\r
59 {\r
60 }\r
61 \r
62 void CSetMisc::DoDataExchange(CDataExchange* pDX)\r
63 {\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
76 }\r
77 \r
78 \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
89 END_MESSAGE_MAP()\r
90 \r
91 void CSetMisc::OnChanged()\r
92 {\r
93         SetModified();\r
94 }\r
95 \r
96 BOOL CSetMisc::OnApply()\r
97 {\r
98         UpdateData();\r
99 \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
109 \r
110     SetModified(FALSE);\r
111         return ISettingsPropPage::OnApply();\r
112 }\r
113 \r
114 BOOL CSetMisc::OnInitDialog()\r
115 {\r
116         ISettingsPropPage::OnInitDialog();\r
117 \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
130         return TRUE;\r
131 }\r
132 \r
133 BOOL CSetMisc::PreTranslateMessage(MSG* pMsg)\r
134 {\r
135         m_tooltips.RelayEvent(pMsg);\r
136         return ISettingsPropPage::PreTranslateMessage(pMsg);\r
137 }\r