OSDN Git Service

Add user Config and remote config to setting dialog
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Settings / Settings.h
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 #pragma once\r
20 \r
21 #include "SettingsPropPage.h"\r
22 #include "SetMainPage.h"\r
23 #include "SetProxyPage.h"\r
24 #include "SetOverlayPage.h"\r
25 #include "SettingsProgsDiff.h"\r
26 #include "SettingsProgsMerge.h"\r
27 #include "SettingsProgsUniDiff.h"\r
28 #include "SetOverlayIcons.h"\r
29 #include "SetLookAndFeelPage.h"\r
30 #include "SetDialogs.h"\r
31 #include "SettingsColors.h"\r
32 #include "SettingsColors2.h"\r
33 #include "SettingsColors3.h"\r
34 #include "SetMisc.h"\r
35 #include "SetLogCache.h"\r
36 #include "SettingsLogCaches.h"\r
37 #include "SetSavedDataPage.h"\r
38 #include "SetHooks.h"\r
39 #include "SetBugTraq.h"\r
40 #include "SettingsTBlame.h"\r
41 #include "SettingsRevisionGraph.h"\r
42 #include "TreePropSheet/TreePropSheet.h"\r
43 #include "SettingGitConfig.h"\r
44 #include "SettingGitRemote.h"\r
45 \r
46 using namespace TreePropSheet;\r
47 \r
48 /**\r
49  * \ingroup TortoiseProc\r
50  * This is the container for all settings pages. A setting page is\r
51  * a class derived from CPropertyPage with an additional method called\r
52  * SaveData(). The SaveData() method is used by the dialog to save\r
53  * the settings the user has made - if that method is not called then\r
54  * it means that the changes are discarded! Each settings page has\r
55  * to make sure that no changes are saved outside that method.\r
56  */\r
57 class CSettings : public CTreePropSheet\r
58 {\r
59         DECLARE_DYNAMIC(CSettings)\r
60 private:\r
61         /**\r
62          * Adds all pages to this Settings-Dialog.\r
63          */\r
64         void AddPropPages();\r
65         /**\r
66          * Removes the pages and frees up memory.\r
67          */\r
68         void RemovePropPages();\r
69 \r
70 private:\r
71         CSetMainPage *                  m_pMainPage;\r
72         CSetProxyPage *                 m_pProxyPage;\r
73         CSetOverlayPage *               m_pOverlayPage;\r
74         CSetOverlayIcons *              m_pOverlaysPage;\r
75         CSettingsProgsDiff*             m_pProgsDiffPage;\r
76         CSettingsProgsMerge *   m_pProgsMergePage;\r
77         CSettingsProgsUniDiff * m_pProgsUniDiffPage;\r
78         CSetLookAndFeelPage *   m_pLookAndFeelPage;\r
79         CSetDialogs *                   m_pDialogsPage;\r
80     CSettingsRevisionGraph* m_pRevisionGraphPage;\r
81         CSettingsColors *               m_pColorsPage;\r
82     CSettingsColors2 *          m_pColorsPage2;\r
83     CSettingsColors3 *          m_pColorsPage3;\r
84         CSetMisc *                              m_pMiscPage;\r
85 //      CSetLogCache *                  m_pLogCachePage;\r
86 //    CSettingsLogCaches*     m_pLogCacheListPage;\r
87         CSetSavedDataPage *             m_pSavedPage;\r
88 //      CSetHooks *                             m_pHooksPage;\r
89         CSetBugTraq *                   m_pBugTraqPage;\r
90         CSettingsTBlame *               m_pTBlamePage;\r
91         CSettingGitConfig *             m_pGitConfig;\r
92         CSettingGitRemote *             m_pGitRemote;\r
93 \r
94         HICON                                   m_hIcon;\r
95 public:\r
96         CSettings(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);\r
97         virtual ~CSettings();\r
98 \r
99         /**\r
100          * Calls the SaveData()-methods of each of the settings pages.\r
101          */\r
102         void HandleRestart();\r
103 protected:\r
104         DECLARE_MESSAGE_MAP()\r
105         virtual BOOL OnInitDialog();\r
106         afx_msg void OnPaint();\r
107         afx_msg HCURSOR OnQueryDragIcon();\r
108 };\r
109 \r
110 \r