2 // This file is part of the aMule Project.
4 // Copyright (c) 2004-2008 aMule Team ( admin@amule.org / http://www.amule.org )
5 // Original author: Emilio Sandoz
7 // Any parts of this program derived from the xMule, lMule or eMule project,
8 // or contributed by third-party developers are copyrighted by their
11 // This program is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation; either version 2 of the License, or
14 // (at your option) any later version.
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU General Public License for more details.
21 // You should have received a copy of the GNU General Public License
22 // along with this program; if not, write to the Free Software
23 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
26 #ifndef __PrefsUnifiedDlg_H__
27 #define __PrefsUnifiedDlg_H__
29 #include <wx/dialog.h> // Needed for wxDialog
33 class CDirectoryTreeCtrl
;
45 class wxInitDialogEvent
;
49 * This class represents a dialog used to display preferences.
51 class PrefsUnifiedDlg
: public wxDialog
57 * @param parent The parent window.
59 * This constructor is a much more simple version of the wxDialog one,
60 * which only needs to know the parent of the dialog. Please note that
61 * it is private so that we can ensure that only one dialog has been
62 * created at one time.
64 PrefsUnifiedDlg(wxWindow
* parent
);
67 * Updates the widgets with the values of the preference-variables.
69 bool TransferFromWindow();
71 * Updates the prefernce-variables with the values of the widgets.
73 bool TransferToWindow();
78 * Helper functions which checks if a Cfg has has changed.
80 bool CfgChanged(int id
);
83 * Helper functions which returns the Cfg assosiated with the specified id.
85 Cfg_Base
* GetCfg(int id
);
88 //! Pointer to the shared-files list
89 CDirectoryTreeCtrl
* m_ShareSelector
;
91 //! Pointer to the color-selector
92 wxChoice
* m_choiceColor
;
94 //! Pointer to the color-selection button
95 wxButton
* m_buttonColor
;
97 //! Pointer to the currently shown preference-page
98 wxPanel
* m_CurrentPanel
;
100 //! hide/show server tab
101 int m_IndexServerTab
;
102 bool m_ServerTabVisible
;
103 wxPanel
* m_ServerWidget
;
104 wxListCtrl
* m_PrefsIcons
;
105 void EnableServerTab(bool enable
);
107 void OnOk(wxCommandEvent
&event
);
108 void OnCancel(wxCommandEvent
&event
);
109 void OnClose(wxCloseEvent
&event
);
111 void OnButtonBrowseApplication(wxCommandEvent
&event
);
112 void OnButtonDir(wxCommandEvent
& event
);
113 void OnButtonEditAddr(wxCommandEvent
& event
);
114 void OnButtonColorChange(wxCommandEvent
&event
);
115 void OnButtonIPFilterReload(wxCommandEvent
&event
);
116 void OnButtonIPFilterUpdate(wxCommandEvent
&event
);
117 void OnColorCategorySelected(wxCommandEvent
&event
);
118 void OnCheckBoxChange(wxCommandEvent
&event
);
119 void OnPrefsPageChange(wxListEvent
& event
);
120 void OnToolTipDelayChange(wxSpinEvent
& event
);
121 void OnScrollBarChange( wxScrollEvent
& event
);
122 void OnRateLimitChanged( wxSpinEvent
& event
);
123 void OnTCPClientPortChange(wxSpinEvent
& event
);
124 void OnUserEventSelected(wxListEvent
& event
);
125 void OnLanguageChoice(wxCommandEvent
&event
);
126 void CreateEventPanels(const int idx
, const wxString
& vars
, wxWindow
* parent
);
128 void OnInitDialog( wxInitDialogEvent
& evt
);
130 DECLARE_EVENT_TABLE()
134 // File_checked_for_headers