31
45
strCaption.Printf(_("%s - Preferences"), pSkinAdvanced->GetApplicationName().c_str());
34
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
35
this->Centre( wxBOTH );
48
this->SetExtraStyle( this->GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
49
this->Centre( wxBOTH );
36
50
this->SetTitle(strCaption);
39
bSizer1 = new wxBoxSizer( wxVERTICAL );
41
wxStaticBoxSizer* sbSizer92;
42
sbSizer92 = new wxStaticBoxSizer( new wxStaticBox( this, -1, wxT("") ), wxHORIZONTAL );
44
m_bmpWarning = new wxStaticBitmap( this, ID_DEFAULT, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
45
m_bmpWarning->SetMinSize( wxSize( 48,48 ) );
47
sbSizer92->Add( m_bmpWarning, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0 );
49
m_staticText321 = new wxStaticText( this, ID_DEFAULT, _("This dialog controls preferences for this computer only.\nClick OK to set preferences.\nClick Clear to restore web-based settings."), wxDefaultPosition, wxDefaultSize, 0 );
50
sbSizer92->Add( m_staticText321, 1, wxALL, 1 );
52
m_btnClear = new wxButton( this, ID_BTN_CLEAR, _("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
53
m_btnClear->SetToolTip( _("clear all local preferences and close the dialog") );
55
sbSizer92->Add( m_btnClear, 0, wxALIGN_BOTTOM|wxALL, 1 );
57
bSizer1->Add( sbSizer92, 0, wxALL|wxEXPAND, 1 );
59
m_panelControls = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
60
m_panelControls->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
63
bSizer3 = new wxBoxSizer( wxVERTICAL );
65
m_Notebook = new wxNotebook( m_panelControls, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxNB_FLAT|wxNB_TOP );
66
m_Notebook->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
68
m_panelProcessor = new wxPanel( m_Notebook, ID_TABPAGE_PROC, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
69
m_panelProcessor->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
72
bSizer7 = new wxBoxSizer( wxVERTICAL );
74
wxStaticBoxSizer* sbSizer4;
75
sbSizer4 = new wxStaticBoxSizer(
76
new wxStaticBox(m_panelProcessor, -1, _("Computing allowed") ), wxVERTICAL
78
m_chkProcOnBatteries = new wxCheckBox(
79
m_panelProcessor, ID_CHKPROCONBATTERIES,
80
_(" While computer is on batteries"), wxDefaultPosition, wxDefaultSize, 0
82
m_chkProcOnBatteries->SetToolTip(
52
wxBoxSizer* dialogSizer = new wxBoxSizer( wxVERTICAL );
54
wxStaticBoxSizer* topControlsSizer = new wxStaticBoxSizer( new wxStaticBox( this, -1, wxT("") ), wxHORIZONTAL );
56
m_bmpWarning = new wxStaticBitmap( this, ID_DEFAULT, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
57
m_bmpWarning->SetMinSize( wxSize( 48,48 ) );
59
topControlsSizer->Add( m_bmpWarning, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0 );
61
m_staticText321 = new wxStaticText( this, ID_DEFAULT, _("This dialog controls preferences for this computer only.\nClick OK to set preferences.\nClick Clear to restore web-based settings."), wxDefaultPosition, wxDefaultSize, 0 );
62
topControlsSizer->Add( m_staticText321, 1, wxALL, 1 );
64
m_btnClear = new wxButton( this, ID_BTN_CLEAR, _("Clear"), wxDefaultPosition, wxDefaultSize, 0 );
65
m_btnClear->SetToolTip( _("clear all local preferences and close the dialog") );
67
topControlsSizer->Add( m_btnClear, 0, wxALIGN_BOTTOM|wxALL, 1 );
69
dialogSizer->Add( topControlsSizer, 0, wxALL|wxEXPAND, 1 );
71
m_panelControls = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
72
m_panelControls->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
74
wxBoxSizer* notebookSizer = new wxBoxSizer( wxVERTICAL );
76
m_Notebook = new wxNotebook( m_panelControls, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxNB_FLAT|wxNB_TOP );
77
m_Notebook->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
79
m_panelProcessor = createProcessorTab(m_Notebook);
80
m_Notebook->AddPage( m_panelProcessor, _("processor usage"), false );
82
m_panelNetwork = createNetworkTab(m_Notebook);
83
m_Notebook->AddPage( m_panelNetwork, _("network usage"), true );
85
m_panelDiskAndMemory = createDiskAndMemoryTab(m_Notebook);
86
m_Notebook->AddPage( m_panelDiskAndMemory, _("disk and memory usage"), false );
88
notebookSizer->Add( m_Notebook, 1, wxEXPAND | wxALL, 1 );
90
m_panelControls->SetSizer( notebookSizer );
91
m_panelControls->Layout();
92
notebookSizer->Fit( m_panelControls );
93
dialogSizer->Add( m_panelControls, 1, wxALL|wxEXPAND, 1 );
95
m_panelButtons = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
96
wxBoxSizer* buttonSizer = new wxBoxSizer( wxHORIZONTAL );
98
m_btnOK = new wxButton( m_panelButtons, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
99
m_btnOK->SetToolTip( _("save all values and close the dialog") );
101
buttonSizer->Add( m_btnOK, 0, wxALL, 5 );
103
m_btnCancel = new wxButton( m_panelButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
104
m_btnCancel->SetToolTip( _("close the dialog without saving") );
106
buttonSizer->Add( m_btnCancel, 0, wxALL, 5 );
108
m_btnHelp = new wxButton( m_panelButtons, wxID_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 );
109
m_btnHelp->SetToolTip( _("shows the preferences web page") );
111
buttonSizer->Add( m_btnHelp, 0, wxALL, 5 );
113
m_panelButtons->SetSizer( buttonSizer );
114
m_panelButtons->Layout();
115
buttonSizer->Fit( m_panelButtons );
116
dialogSizer->Add( m_panelButtons, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 );
118
dialogSizer->Fit( this );
119
this->SetSizer( dialogSizer );
123
wxPanel* CDlgAdvPreferencesBase::createProcessorTab(wxNotebook* notebook)
125
wxPanel* processorTab = new wxPanel( notebook, ID_TABPAGE_PROC, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
126
processorTab->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
128
wxBoxSizer* processorTabSizer = new wxBoxSizer( wxVERTICAL );
130
wxStaticBoxSizer* computingAllowedBoxSizer = new wxStaticBoxSizer(
131
new wxStaticBox(processorTab, -1, _("Computing allowed") ), wxVERTICAL
133
m_chkProcOnBatteries = new wxCheckBox(
134
processorTab, ID_CHKPROCONBATTERIES,
135
_("While computer is on batteries"), wxDefaultPosition, wxDefaultSize, 0
137
m_chkProcOnBatteries->SetToolTip(
83
138
_("check this if you want this computer to do work while it runs on batteries")
85
sbSizer4->Add( m_chkProcOnBatteries, 0, wxALL, 5 );
140
computingAllowedBoxSizer->Add( m_chkProcOnBatteries, 0, wxALL, 5 );
87
m_chkProcInUse = new wxCheckBox(
88
m_panelProcessor, ID_CHKPROCINUSE,
89
_(" While computer is in use"), wxDefaultPosition, wxDefaultSize, 0
142
m_chkProcInUse = new wxCheckBox(
143
processorTab, ID_CHKPROCINUSE,
144
_("While computer is in use"), wxDefaultPosition, wxDefaultSize, 0
91
m_chkProcInUse->SetToolTip(
146
m_chkProcInUse->SetToolTip(
92
147
_("check this if you want this computer to do work even when you're using it")
94
sbSizer4->Add( m_chkProcInUse, 0, wxALL, 5 );
149
computingAllowedBoxSizer->Add( m_chkProcInUse, 0, wxALL, 5 );
96
151
m_chkGPUProcInUse = new wxCheckBox(
97
m_panelProcessor, ID_CHKGPUPROCINUSE,
98
_(" Use GPU while computer is in use"), wxDefaultPosition, wxDefaultSize, 0
152
processorTab, ID_CHKGPUPROCINUSE,
153
_("Use GPU while computer is in use"), wxDefaultPosition, wxDefaultSize, 0
100
m_chkGPUProcInUse->SetToolTip(
155
m_chkGPUProcInUse->SetToolTip(
101
156
_("check this if you want your GPU to do work even when you're using the computer")
103
sbSizer4->Add( m_chkGPUProcInUse, 0, wxALL, 5 );
158
computingAllowedBoxSizer->Add( m_chkGPUProcInUse, 0, wxALL, 5 );
106
wxFlexGridSizer* fgSizer5 = new wxFlexGridSizer( 2, 4, 0, 0 );
107
fgSizer5->AddGrowableCol( 3 );
108
fgSizer5->SetFlexibleDirection( wxHORIZONTAL );
109
fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
161
wxFlexGridSizer* procIdleSizer = new wxFlexGridSizer( 2, 4, 0, 0 );
162
procIdleSizer->AddGrowableCol( 3 );
163
procIdleSizer->SetFlexibleDirection( wxHORIZONTAL );
164
procIdleSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
111
166
new wxStaticText(
112
m_panelProcessor, ID_DEFAULT,
167
processorTab, ID_DEFAULT,
113
168
_("Only after computer has been idle for"),
114
169
wxDefaultPosition, wxDefaultSize, 0
118
m_txtProcIdleFor = new wxTextCtrl(
119
m_panelProcessor, ID_TXTPROCIDLEFOR, wxT(""), wxDefaultPosition,
173
m_txtProcIdleFor = new wxTextCtrl(
174
processorTab, ID_TXTPROCIDLEFOR, wxT(""), wxDefaultPosition,
120
175
wxSize( 50,-1 ), wxTE_RIGHT
122
m_txtProcIdleFor->SetToolTip(
177
m_txtProcIdleFor->SetToolTip(
123
178
_("do work only after you haven't used the computer for this number of minutes")
125
fgSizer5->Add( m_txtProcIdleFor, 0, wxALL, 1 );
180
procIdleSizer->Add( m_txtProcIdleFor, 0, wxALL, 1 );
127
182
new wxStaticText(
128
m_panelProcessor, ID_DEFAULT, _("minutes"),
183
processorTab, ID_DEFAULT, _("minutes"),
129
184
wxDefaultPosition, wxDefaultSize, 0
134
new wxStaticText( m_panelProcessor, ID_DEFAULT, wxT(""), wxDefaultPosition, wxDefaultSize, 0),
189
new wxStaticText( processorTab, ID_DEFAULT, wxT(""), wxDefaultPosition, wxDefaultSize, 0),
137
sbSizer4->Add( fgSizer5, 0, wxEXPAND, 5);
192
computingAllowedBoxSizer->Add( procIdleSizer, 0, wxEXPAND, 5);
140
wxFlexGridSizer* fgSizer13 = new wxFlexGridSizer( 2, 4, 0, 0 );
141
fgSizer13->AddGrowableCol( 3 );
142
fgSizer13->SetFlexibleDirection( wxHORIZONTAL );
143
fgSizer13->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
195
wxFlexGridSizer* maxLoadSizer = new wxFlexGridSizer( 2, 4, 0, 0 );
196
maxLoadSizer->AddGrowableCol( 3 );
197
maxLoadSizer->SetFlexibleDirection( wxHORIZONTAL );
198
maxLoadSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
145
200
new wxStaticText(
146
m_panelProcessor, ID_DEFAULT,
201
processorTab, ID_DEFAULT,
147
202
_("While processor usage is less than"),
148
203
wxDefaultPosition, wxDefaultSize, 0
152
m_txtMaxLoad = new wxTextCtrl(
153
m_panelProcessor, ID_TXTMAXLOAD, wxT(""), wxDefaultPosition,
207
m_txtMaxLoad = new wxTextCtrl(
208
processorTab, ID_TXTMAXLOAD, wxT(""), wxDefaultPosition,
154
209
wxSize( 30,-1 ), wxTE_RIGHT
156
m_txtMaxLoad->SetToolTip(
211
m_txtMaxLoad->SetToolTip(
157
212
_("suspend work if processor usage exceeds this level")
159
fgSizer13->Add( m_txtMaxLoad, 0, wxALL, 1 );
214
maxLoadSizer->Add( m_txtMaxLoad, 0, wxALL, 1 );
161
216
new wxStaticText(
162
m_panelProcessor, ID_DEFAULT, _("percent (0 means no restriction)"),
217
processorTab, ID_DEFAULT, _("percent (0 means no restriction)"),
163
218
wxDefaultPosition, wxDefaultSize, 0
168
new wxStaticText( m_panelProcessor, ID_DEFAULT, wxT(""), wxDefaultPosition, wxDefaultSize, 0),
223
new wxStaticText( processorTab, ID_DEFAULT, wxT(""), wxDefaultPosition, wxDefaultSize, 0),
171
sbSizer4->Add( fgSizer13, 0, wxEXPAND, 5);
174
wxBoxSizer* bSizer111;
175
bSizer111 = new wxBoxSizer( wxHORIZONTAL );
177
m_staticText351 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("Every day between hours of"), wxDefaultPosition, wxDefaultSize, 0 );
178
bSizer111->Add( m_staticText351, 0, wxALL, 5 );
180
m_txtProcEveryDayStart = new wxTextCtrl( m_panelProcessor, ID_TXTPROCEVERYDAYSTART, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
181
m_txtProcEveryDayStart->SetToolTip( _("start work at this time") );
183
bSizer111->Add( m_txtProcEveryDayStart, 0, wxALL, 1 );
185
m_staticText25 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("and"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
186
bSizer111->Add( m_staticText25, 0, wxALL|wxEXPAND, 5 );
188
m_txtProcEveryDayStop = new wxTextCtrl( m_panelProcessor, ID_TXTPROCEVERYDAYSTOP, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
189
m_txtProcEveryDayStop->SetToolTip( _("stop work at this time") );
191
bSizer111->Add( m_txtProcEveryDayStop, 0, wxALL, 1 );
193
m_staticText55 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("(no restriction if equal)"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
194
bSizer111->Add( m_staticText55, 0, wxALL|wxEXPAND, 5 );
196
sbSizer4->Add( bSizer111, 0, wxEXPAND, 1 );
198
m_staticText36 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("Day-of-week override:"), wxDefaultPosition, wxDefaultSize, 0 );
199
sbSizer4->Add( m_staticText36, 0, wxALL, 5 );
201
m_panelProcSpecialTimes = new wxPanel( m_panelProcessor, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
202
m_panelProcSpecialTimes->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
203
m_panelProcSpecialTimes->SetToolTip( _("check box to specify hours for this day of week") );
205
wxBoxSizer* bSizer11;
206
bSizer11 = new wxBoxSizer( wxVERTICAL );
208
wxFlexGridSizer* fgSizer6;
209
fgSizer6 = new wxFlexGridSizer( 4, 4, 0, 0 );
210
fgSizer6->SetFlexibleDirection( wxHORIZONTAL );
211
fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
213
m_chkProcMonday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCMONDAY, _("Monday"), wxDefaultPosition, wxDefaultSize, 0 );
215
fgSizer6->Add( m_chkProcMonday, 0, wxALL, 5 );
217
m_txtProcMonday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCMONDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
218
fgSizer6->Add( m_txtProcMonday, 0, wxALL, 1 );
220
m_chkProcTuesday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCTUESDAY, _("Tuesday"), wxDefaultPosition, wxDefaultSize, 0 );
222
fgSizer6->Add( m_chkProcTuesday, 0, wxALL, 5 );
224
m_txtProcTuesday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCTUESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
225
fgSizer6->Add( m_txtProcTuesday, 0, wxALL, 1 );
227
m_chkProcWednesday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCWEDNESDAY, _("Wednesday"), wxDefaultPosition, wxDefaultSize, 0 );
229
fgSizer6->Add( m_chkProcWednesday, 0, wxALL, 5 );
231
m_txtProcWednesday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCWEDNESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
232
fgSizer6->Add( m_txtProcWednesday, 0, wxALL, 1 );
234
m_chkProcThursday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCTHURSDAY, _("Thursday"), wxDefaultPosition, wxDefaultSize, 0 );
236
fgSizer6->Add( m_chkProcThursday, 0, wxALL, 5 );
238
m_txtProcThursday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCTHURSDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
239
fgSizer6->Add( m_txtProcThursday, 0, wxALL, 1 );
241
m_chkProcFriday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCFRIDAY, _("Friday"), wxDefaultPosition, wxDefaultSize, 0 );
243
fgSizer6->Add( m_chkProcFriday, 0, wxALL, 5 );
245
m_txtProcFriday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCFRIDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
246
fgSizer6->Add( m_txtProcFriday, 0, wxALL, 1 );
248
m_chkProcSaturday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCSATURDAY, _("Saturday"), wxDefaultPosition, wxDefaultSize, 0 );
250
fgSizer6->Add( m_chkProcSaturday, 0, wxALL, 5 );
252
m_txtProcSaturday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCSATURDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
253
fgSizer6->Add( m_txtProcSaturday, 0, wxALL, 1 );
255
m_chkProcSunday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCSUNDAY, _("Sunday"), wxDefaultPosition, wxDefaultSize, 0 );
257
fgSizer6->Add( m_chkProcSunday, 0, wxALL, 5 );
259
m_txtProcSunday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCSUNDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
260
fgSizer6->Add( m_txtProcSunday, 0, wxALL, 1 );
262
bSizer11->Add( fgSizer6, 1, wxEXPAND, 1 );
264
m_panelProcSpecialTimes->SetSizer( bSizer11 );
265
m_panelProcSpecialTimes->Layout();
266
bSizer11->Fit( m_panelProcSpecialTimes );
267
sbSizer4->Add( m_panelProcSpecialTimes, 1, wxEXPAND | wxALL, 1 );
269
bSizer7->Add( sbSizer4, 0, wxEXPAND, 1 );
271
wxStaticBoxSizer* sbSizer3;
272
sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelProcessor, -1, _("Other options") ), wxVERTICAL );
274
wxFlexGridSizer* fgSizer3;
275
fgSizer3 = new wxFlexGridSizer( 3, 3, 0, 0 );
276
fgSizer3->AddGrowableCol( 2 );
277
fgSizer3->SetFlexibleDirection( wxHORIZONTAL );
278
fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
280
m_staticText18 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("Switch between applications every"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
281
fgSizer3->Add( m_staticText18, 0, wxALL|wxEXPAND, 5 );
283
m_txtProcSwitchEvery = new wxTextCtrl( m_panelProcessor, ID_TXTPROCSWITCHEVERY, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
284
fgSizer3->Add( m_txtProcSwitchEvery, 0, wxALL, 1 );
286
m_staticText19 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
287
fgSizer3->Add( m_staticText19, 0, wxALL, 5 );
289
m_staticText20 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("On multiprocessor systems, use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
290
fgSizer3->Add( m_staticText20, 0, wxALL|wxEXPAND, 5 );
292
m_txtProcUseProcessors = new wxTextCtrl( m_panelProcessor, ID_TXTPROCUSEPROCESSORS, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
293
fgSizer3->Add( m_txtProcUseProcessors, 0, wxALL, 1 );
226
computingAllowedBoxSizer->Add( maxLoadSizer, 0, wxEXPAND, 5);
229
wxBoxSizer* cpuTimesSizer = new wxBoxSizer( wxHORIZONTAL );
231
m_staticText351 = new wxStaticText( processorTab, ID_DEFAULT, _("Every day between hours of"), wxDefaultPosition, wxDefaultSize, 0 );
232
cpuTimesSizer->Add( m_staticText351, 0, wxALL, 5 );
234
m_txtProcEveryDayStart = new wxTextCtrl( processorTab, ID_TXTPROCEVERYDAYSTART, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
235
m_txtProcEveryDayStart->SetToolTip( _("start work at this time") );
237
cpuTimesSizer->Add( m_txtProcEveryDayStart, 0, wxALL, 1 );
239
m_staticText25 = new wxStaticText( processorTab, ID_DEFAULT, _("and"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
240
cpuTimesSizer->Add( m_staticText25, 0, wxALL|wxEXPAND, 5 );
242
m_txtProcEveryDayStop = new wxTextCtrl( processorTab, ID_TXTPROCEVERYDAYSTOP, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
243
m_txtProcEveryDayStop->SetToolTip( _("stop work at this time") );
245
cpuTimesSizer->Add( m_txtProcEveryDayStop, 0, wxALL, 1 );
247
m_staticText55 = new wxStaticText( processorTab, ID_DEFAULT, _("(no restriction if equal)"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
248
cpuTimesSizer->Add( m_staticText55, 0, wxALL|wxEXPAND, 5 );
250
computingAllowedBoxSizer->Add( cpuTimesSizer, 0, wxEXPAND, 1 );
252
m_staticText36 = new wxStaticText( processorTab, ID_DEFAULT, _("Day-of-week override:"), wxDefaultPosition, wxDefaultSize, 0 );
253
computingAllowedBoxSizer->Add( m_staticText36, 0, wxALL, 5 );
255
m_panelProcSpecialTimes = new wxPanel( processorTab, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
256
m_panelProcSpecialTimes->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
257
m_panelProcSpecialTimes->SetToolTip( _("check box to specify hours for this day of week") );
259
wxFlexGridSizer* procDaysSizer = new wxFlexGridSizer( 4, 4, 0, 0 );
260
procDaysSizer->SetFlexibleDirection( wxHORIZONTAL );
261
procDaysSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
263
m_chkProcMonday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCMONDAY, _("Monday"), wxDefaultPosition, wxDefaultSize, 0 );
265
procDaysSizer->Add( m_chkProcMonday, 0, wxALL, 5 );
267
m_txtProcMonday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCMONDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
268
procDaysSizer->Add( m_txtProcMonday, 0, wxALL, 1 );
270
m_chkProcTuesday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCTUESDAY, _("Tuesday"), wxDefaultPosition, wxDefaultSize, 0 );
272
procDaysSizer->Add( m_chkProcTuesday, 0, wxALL, 5 );
274
m_txtProcTuesday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCTUESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
275
procDaysSizer->Add( m_txtProcTuesday, 0, wxALL, 1 );
277
m_chkProcWednesday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCWEDNESDAY, _("Wednesday"), wxDefaultPosition, wxDefaultSize, 0 );
279
procDaysSizer->Add( m_chkProcWednesday, 0, wxALL, 5 );
281
m_txtProcWednesday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCWEDNESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
282
procDaysSizer->Add( m_txtProcWednesday, 0, wxALL, 1 );
284
m_chkProcThursday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCTHURSDAY, _("Thursday"), wxDefaultPosition, wxDefaultSize, 0 );
286
procDaysSizer->Add( m_chkProcThursday, 0, wxALL, 5 );
288
m_txtProcThursday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCTHURSDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
289
procDaysSizer->Add( m_txtProcThursday, 0, wxALL, 1 );
291
m_chkProcFriday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCFRIDAY, _("Friday"), wxDefaultPosition, wxDefaultSize, 0 );
293
procDaysSizer->Add( m_chkProcFriday, 0, wxALL, 5 );
295
m_txtProcFriday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCFRIDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
296
procDaysSizer->Add( m_txtProcFriday, 0, wxALL, 1 );
298
m_chkProcSaturday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCSATURDAY, _("Saturday"), wxDefaultPosition, wxDefaultSize, 0 );
300
procDaysSizer->Add( m_chkProcSaturday, 0, wxALL, 5 );
302
m_txtProcSaturday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCSATURDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
303
procDaysSizer->Add( m_txtProcSaturday, 0, wxALL, 1 );
305
m_chkProcSunday = new wxCheckBox( m_panelProcSpecialTimes, ID_CHKPROCSUNDAY, _("Sunday"), wxDefaultPosition, wxDefaultSize, 0 );
307
procDaysSizer->Add( m_chkProcSunday, 0, wxALL, 5 );
309
m_txtProcSunday = new wxTextCtrl( m_panelProcSpecialTimes, ID_TXTPROCSUNDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
310
procDaysSizer->Add( m_txtProcSunday, 0, wxALL, 1 );
312
m_panelProcSpecialTimes->SetSizer( procDaysSizer );
313
m_panelProcSpecialTimes->Layout();
314
procDaysSizer->Fit( m_panelProcSpecialTimes );
315
computingAllowedBoxSizer->Add( m_panelProcSpecialTimes, 1, wxEXPAND | wxALL, 1 );
317
processorTabSizer->Add( computingAllowedBoxSizer, 0, wxEXPAND, 1 );
319
wxStaticBoxSizer* miscProcBoxSizer = new wxStaticBoxSizer( new wxStaticBox( processorTab, -1, _("Other options") ), wxVERTICAL );
321
wxFlexGridSizer* miscProcGridSizer = new wxFlexGridSizer( 3, 3, 0, 0 );
322
miscProcGridSizer->AddGrowableCol( 2 );
323
miscProcGridSizer->SetFlexibleDirection( wxHORIZONTAL );
324
miscProcGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
326
m_staticText18 = new wxStaticText( processorTab, ID_DEFAULT, _("Switch between applications every"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
327
miscProcGridSizer->Add( m_staticText18, 0, wxALL|wxEXPAND, 5 );
329
m_txtProcSwitchEvery = new wxTextCtrl( processorTab, ID_TXTPROCSWITCHEVERY, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
330
miscProcGridSizer->Add( m_txtProcSwitchEvery, 0, wxALL, 1 );
332
m_staticText19 = new wxStaticText( processorTab, ID_DEFAULT, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
333
miscProcGridSizer->Add( m_staticText19, 0, wxALL, 5 );
335
m_staticText20 = new wxStaticText( processorTab, ID_DEFAULT, _("On multiprocessor systems, use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
336
miscProcGridSizer->Add( m_staticText20, 0, wxALL|wxEXPAND, 5 );
338
m_txtProcUseProcessors = new wxTextCtrl( processorTab, ID_TXTPROCUSEPROCESSORS, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
339
miscProcGridSizer->Add( m_txtProcUseProcessors, 0, wxALL, 1 );
295
341
/*xgettext:no-c-format*/
296
m_staticText21 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("% of the processors"), wxDefaultPosition, wxDefaultSize, 0 );
297
fgSizer3->Add( m_staticText21, 0, wxALL, 5 );
299
m_staticText22 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
300
fgSizer3->Add( m_staticText22, 0, wxALL|wxEXPAND, 5 );
302
m_txtProcUseCPUTime = new wxTextCtrl( m_panelProcessor, ID_TXTPOCUSECPUTIME, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
303
fgSizer3->Add( m_txtProcUseCPUTime, 0, wxALL, 1 );
342
m_staticText21 = new wxStaticText( processorTab, ID_DEFAULT, _("% of the processors"), wxDefaultPosition, wxDefaultSize, 0 );
343
miscProcGridSizer->Add( m_staticText21, 0, wxALL, 5 );
345
m_staticText22 = new wxStaticText( processorTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
346
miscProcGridSizer->Add( m_staticText22, 0, wxALL|wxEXPAND, 5 );
348
m_txtProcUseCPUTime = new wxTextCtrl( processorTab, ID_TXTPOCUSECPUTIME, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
349
miscProcGridSizer->Add( m_txtProcUseCPUTime, 0, wxALL, 1 );
305
351
/*xgettext:no-c-format*/
306
m_staticText23 = new wxStaticText( m_panelProcessor, ID_DEFAULT, _("% CPU time"), wxDefaultPosition, wxDefaultSize, 0 );
307
fgSizer3->Add( m_staticText23, 0, wxALL, 5 );
309
sbSizer3->Add( fgSizer3, 0, wxEXPAND, 1 );
311
bSizer7->Add( sbSizer3, 0, wxEXPAND, 1 );
313
m_panelProcessor->SetSizer( bSizer7 );
314
m_panelProcessor->Layout();
315
bSizer7->Fit( m_panelProcessor );
316
m_Notebook->AddPage( m_panelProcessor, _("processor usage"), false );
317
m_panelNetwork = new wxPanel( m_Notebook, ID_TABPAGE_NET, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
318
m_panelNetwork->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
320
wxBoxSizer* bSizer12;
321
bSizer12 = new wxBoxSizer( wxVERTICAL );
323
wxStaticBoxSizer* sbSizer8;
324
sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_panelNetwork, -1, _("General options") ), wxVERTICAL );
326
wxFlexGridSizer* fgSizer7;
327
fgSizer7 = new wxFlexGridSizer( 3, 6, 0, 0 );
328
fgSizer7->SetFlexibleDirection( wxHORIZONTAL );
329
fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
352
m_staticText23 = new wxStaticText( processorTab, ID_DEFAULT, _("% CPU time"), wxDefaultPosition, wxDefaultSize, 0 );
353
miscProcGridSizer->Add( m_staticText23, 0, wxALL, 5 );
355
miscProcBoxSizer->Add( miscProcGridSizer, 0, wxEXPAND, 1 );
357
processorTabSizer->Add( miscProcBoxSizer, 0, wxEXPAND, 1 );
359
processorTab->SetSizer( processorTabSizer );
360
processorTab->Layout();
361
processorTabSizer->Fit( processorTab );
365
wxPanel* CDlgAdvPreferencesBase::createNetworkTab(wxNotebook* notebook)
367
wxPanel* networkTab = new wxPanel( notebook, ID_TABPAGE_NET, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
368
networkTab->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
370
wxBoxSizer* networkTabSizer = new wxBoxSizer( wxVERTICAL );
372
wxStaticBoxSizer* networkGeneralBoxSizer = new wxStaticBoxSizer( new wxStaticBox( networkTab, -1, _("General options") ), wxVERTICAL );
374
wxFlexGridSizer* networkGeneralGridSizer = new wxFlexGridSizer( 3, 6, 0, 0 );
375
networkGeneralGridSizer->SetFlexibleDirection( wxHORIZONTAL );
376
networkGeneralGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
331
378
// upload/download rates
333
m_staticText32 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Maximum download rate"), wxDefaultPosition, wxDefaultSize, 0 );
334
fgSizer7->Add( m_staticText32, 0, wxALL, 5 );
336
m_txtNetDownloadRate = new wxTextCtrl( m_panelNetwork, ID_TXTNETDOWNLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
337
fgSizer7->Add( m_txtNetDownloadRate, 0, wxALL, 1 );
339
m_staticText33 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("KBytes/sec."), wxDefaultPosition, wxDefaultSize, 0 );
340
fgSizer7->Add( m_staticText33, 0, wxALL, 5 );
342
m_staticText34 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Maximum upload rate"), wxDefaultPosition, wxDefaultSize, 0 );
343
fgSizer7->Add( m_staticText34, 0, wxALIGN_RIGHT|wxALL, 5 );
345
m_txtNetUploadRate = new wxTextCtrl( m_panelNetwork, ID_TXTNETUPLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
346
fgSizer7->Add( m_txtNetUploadRate, 0, wxALL, 1 );
348
m_staticText35 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("KBytes/sec."), wxDefaultPosition, wxDefaultSize, 0 );
349
fgSizer7->Add( m_staticText35, 0, wxALL, 5 );
380
m_staticText32 = new wxStaticText( networkTab, ID_DEFAULT, _("Maximum download rate"), wxDefaultPosition, wxDefaultSize, 0 );
381
networkGeneralGridSizer->Add( m_staticText32, 0, wxALL, 5 );
383
m_txtNetDownloadRate = new wxTextCtrl( networkTab, ID_TXTNETDOWNLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
384
networkGeneralGridSizer->Add( m_txtNetDownloadRate, 0, wxALL, 1 );
386
m_staticText33 = new wxStaticText( networkTab, ID_DEFAULT, _("KBytes/sec."), wxDefaultPosition, wxDefaultSize, 0 );
387
networkGeneralGridSizer->Add( m_staticText33, 0, wxALL, 5 );
389
m_staticText34 = new wxStaticText( networkTab, ID_DEFAULT, _("Maximum upload rate"), wxDefaultPosition, wxDefaultSize, 0 );
390
networkGeneralGridSizer->Add( m_staticText34, 0, wxALIGN_RIGHT|wxALL, 5 );
392
m_txtNetUploadRate = new wxTextCtrl( networkTab, ID_TXTNETUPLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
393
networkGeneralGridSizer->Add( m_txtNetUploadRate, 0, wxALL, 1 );
395
m_staticText35 = new wxStaticText( networkTab, ID_DEFAULT, _("KBytes/sec."), wxDefaultPosition, wxDefaultSize, 0 );
396
networkGeneralGridSizer->Add( m_staticText35, 0, wxALL, 5 );
351
398
// long-term quota
353
m_staticText_daily_xfer1 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Transfer at most"), wxDefaultPosition, wxDefaultSize, 0 );
354
fgSizer7->Add( m_staticText_daily_xfer1, 0, wxALL, 5 );
356
m_txt_daily_xfer_limit_mb = new wxTextCtrl( m_panelNetwork, ID_TXTNETDOWNLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
357
fgSizer7->Add( m_txt_daily_xfer_limit_mb, 0, wxALL, 1 );
359
m_staticText_daily_xfer2 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Mbytes"), wxDefaultPosition, wxDefaultSize, 0 );
360
fgSizer7->Add( m_staticText_daily_xfer2, 0, wxALL, 5 );
362
m_staticText_daily_xfer3 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("every"), wxDefaultPosition, wxDefaultSize, 0 );
363
fgSizer7->Add( m_staticText_daily_xfer3, 0, wxALIGN_RIGHT|wxALL, 5 );
365
m_txt_daily_xfer_period_days = new wxTextCtrl( m_panelNetwork, ID_TXTNETUPLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
366
fgSizer7->Add( m_txt_daily_xfer_period_days, 0, wxALL, 1 );
368
m_staticText_daily_xfer4 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
369
fgSizer7->Add( m_staticText_daily_xfer4, 0, wxALL, 5 );
400
m_staticText_daily_xfer1 = new wxStaticText( networkTab, ID_DEFAULT, _("Transfer at most"), wxDefaultPosition, wxDefaultSize, 0 );
401
networkGeneralGridSizer->Add( m_staticText_daily_xfer1, 0, wxALL, 5 );
403
m_txt_daily_xfer_limit_mb = new wxTextCtrl( networkTab, ID_TXTNETDOWNLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
404
networkGeneralGridSizer->Add( m_txt_daily_xfer_limit_mb, 0, wxALL, 1 );
406
m_staticText_daily_xfer2 = new wxStaticText( networkTab, ID_DEFAULT, _("Mbytes"), wxDefaultPosition, wxDefaultSize, 0 );
407
networkGeneralGridSizer->Add( m_staticText_daily_xfer2, 0, wxALL, 5 );
409
m_staticText_daily_xfer3 = new wxStaticText( networkTab, ID_DEFAULT, _("every"), wxDefaultPosition, wxDefaultSize, 0 );
410
networkGeneralGridSizer->Add( m_staticText_daily_xfer3, 0, wxALIGN_RIGHT|wxALL, 5 );
412
m_txt_daily_xfer_period_days = new wxTextCtrl( networkTab, ID_TXTNETUPLOADRATE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
413
networkGeneralGridSizer->Add( m_txt_daily_xfer_period_days, 0, wxALL, 1 );
415
m_staticText_daily_xfer4 = new wxStaticText( networkTab, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
416
networkGeneralGridSizer->Add( m_staticText_daily_xfer4, 0, wxALL, 5 );
374
m_staticText30 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Connect about every"), wxDefaultPosition, wxDefaultSize, 0 );
375
fgSizer7->Add( m_staticText30, 0, wxALL, 5 );
377
m_txtNetConnectInterval = new wxTextCtrl( m_panelNetwork, ID_TXTNETCONNECTINTERVAL, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
378
m_txtNetConnectInterval->SetToolTip( _("this computer is connected to the Internet about every X days\n(0 if it's always connected)") );
380
fgSizer7->Add( m_txtNetConnectInterval, 0, wxALL, 1 );
382
m_staticText31 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
383
fgSizer7->Add( m_staticText31, 0, wxALL, 5 );
385
m_staticText331 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Additional work buffer"), wxDefaultPosition, wxDefaultSize, 0 );
386
fgSizer7->Add( m_staticText331, 0, wxALIGN_RIGHT|wxALL, 5 );
388
m_txtNetAdditionalDays = new wxTextCtrl( m_panelNetwork, ID_TXTNETADDITIONALDAYS, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
389
fgSizer7->Add( m_txtNetAdditionalDays, 0, wxALL, 1 );
391
m_staticText341 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("days (max. 10)"), wxDefaultPosition, wxDefaultSize, 0 );
392
fgSizer7->Add( m_staticText341, 0, wxALL, 5 );
394
m_chkNetSkipImageVerification = new wxCheckBox( m_panelNetwork, ID_CHKNETSKIPIMAGEVERIFICATION, _(" Skip image file verification"), wxDefaultPosition, wxDefaultSize, 0 );
396
m_chkNetSkipImageVerification->SetToolTip( _("check this if your Internet provider modifies image files") );
398
fgSizer7->Add( m_chkNetSkipImageVerification, 0, wxALL, 5 );
400
sbSizer8->Add( fgSizer7, 0, wxEXPAND, 1 );
402
bSizer12->Add( sbSizer8, 0, wxEXPAND, 1 );
404
wxStaticBoxSizer* sbSizer7;
405
sbSizer7 = new wxStaticBoxSizer( new wxStaticBox( m_panelNetwork, -1, _("Connect options") ), wxVERTICAL );
407
m_chkNetConfirmBeforeConnect = new wxCheckBox( m_panelNetwork, ID_CHKNETCONFIRMBEFORECONNECT, _("Confirm before connecting to internet"), wxDefaultPosition, wxDefaultSize, 0 );
409
m_chkNetConfirmBeforeConnect->SetToolTip( _("if checked, a confirmation dialog will be displayed before trying to connect to the Internet") );
411
sbSizer7->Add( m_chkNetConfirmBeforeConnect, 0, wxALL, 5 );
413
m_chkNetDisconnectWhenDone = new wxCheckBox( m_panelNetwork, ID_CHKNETDISCONNECTWHENDONE, _("Disconnect when done"), wxDefaultPosition, wxDefaultSize, 0 );
415
m_chkNetDisconnectWhenDone->SetToolTip( _("if checked, BOINC hangs up when network usage is done\n(only relevant for dialup-connection)") );
417
sbSizer7->Add( m_chkNetDisconnectWhenDone, 0, wxALL, 5 );
419
bSizer12->Add( sbSizer7, 0, wxEXPAND, 1 );
421
wxStaticBoxSizer* sbSizer9;
422
sbSizer9 = new wxStaticBoxSizer( new wxStaticBox( m_panelNetwork, -1, _("Network usage allowed") ), wxVERTICAL );
424
wxBoxSizer* bSizer14;
425
bSizer14 = new wxBoxSizer( wxHORIZONTAL );
427
m_staticText38 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Every day between hours of"), wxDefaultPosition, wxDefaultSize, 0 );
428
bSizer14->Add( m_staticText38, 0, wxALL, 5 );
430
m_txtNetEveryDayStart = new wxTextCtrl( m_panelNetwork, ID_TXTNETEVERYDAYSTART, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), 0 );
431
m_txtNetEveryDayStart->SetToolTip( _("network usage start hour") );
433
bSizer14->Add( m_txtNetEveryDayStart, 0, wxALL, 1 );
435
m_staticText37 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("and"), wxDefaultPosition, wxDefaultSize, 0 );
436
bSizer14->Add( m_staticText37, 0, wxALL, 5 );
438
m_txtNetEveryDayStop = new wxTextCtrl( m_panelNetwork, ID_TXTNETEVERYDAYSTOP, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), 0 );
439
m_txtNetEveryDayStop->SetToolTip( _("network usage stop hour") );
441
bSizer14->Add( m_txtNetEveryDayStop, 0, wxALL, 1 );
443
m_staticText54 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("(no restriction if equal)"), wxDefaultPosition, wxDefaultSize, 0 );
444
bSizer14->Add( m_staticText54, 0, wxALL, 5 );
446
sbSizer9->Add( bSizer14, 0, wxEXPAND, 1 );
448
m_staticText39 = new wxStaticText( m_panelNetwork, ID_DEFAULT, _("Day-of-week override:"), wxDefaultPosition, wxDefaultSize, 0 );
449
sbSizer9->Add( m_staticText39, 0, wxALL, 5 );
451
m_panelNetSpecialTimes = new wxPanel( m_panelNetwork, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
452
m_panelNetSpecialTimes->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
453
m_panelNetSpecialTimes->SetToolTip( _("check box to specify hours for this day of week") );
455
wxBoxSizer* bSizer15;
456
bSizer15 = new wxBoxSizer( wxVERTICAL );
458
wxFlexGridSizer* fgSizer8;
459
fgSizer8 = new wxFlexGridSizer( 4, 4, 0, 0 );
460
fgSizer8->SetFlexibleDirection( wxHORIZONTAL );
461
fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
463
m_chkNetMonday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETMONDAY, _("Monday"), wxDefaultPosition, wxDefaultSize, 0 );
465
fgSizer8->Add( m_chkNetMonday, 0, wxALL, 5 );
467
m_txtNetMonday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETMONDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
468
fgSizer8->Add( m_txtNetMonday, 0, wxALL, 1 );
470
m_chkNetTuesday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETTUESDAY, _("Tuesday"), wxDefaultPosition, wxDefaultSize, 0 );
472
fgSizer8->Add( m_chkNetTuesday, 0, wxALL, 5 );
474
m_txtNetTuesday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETTUESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
475
fgSizer8->Add( m_txtNetTuesday, 0, wxALL, 1 );
477
m_chkNetWednesday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETWEDNESDAY, _("Wednesday"), wxDefaultPosition, wxDefaultSize, 0 );
479
fgSizer8->Add( m_chkNetWednesday, 0, wxALL, 5 );
481
m_txtNetWednesday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETWEDNESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
482
fgSizer8->Add( m_txtNetWednesday, 0, wxALL, 1 );
484
m_chkNetThursday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETTHURSDAY, _("Thursday"), wxDefaultPosition, wxDefaultSize, 0 );
486
fgSizer8->Add( m_chkNetThursday, 0, wxALL, 5 );
488
m_txtNetThursday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETTHURSDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
489
fgSizer8->Add( m_txtNetThursday, 0, wxALL, 1 );
491
m_chkNetFriday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETFRIDAY, _("Friday"), wxDefaultPosition, wxDefaultSize, 0 );
493
fgSizer8->Add( m_chkNetFriday, 0, wxALL, 5 );
495
m_txtNetFriday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETFRIDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
496
fgSizer8->Add( m_txtNetFriday, 0, wxALL, 1 );
498
m_chkNetSaturday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETSATURDAY, _("Saturday"), wxDefaultPosition, wxDefaultSize, 0 );
500
fgSizer8->Add( m_chkNetSaturday, 0, wxALL, 5 );
502
m_txtNetSaturday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETSATURDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
503
fgSizer8->Add( m_txtNetSaturday, 0, wxALL, 1 );
505
m_chkNetSunday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETSUNDAY, _("Sunday"), wxDefaultPosition, wxDefaultSize, 0 );
507
fgSizer8->Add( m_chkNetSunday, 0, wxALL, 5 );
509
m_txtNetSunday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETSUNDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
510
fgSizer8->Add( m_txtNetSunday, 0, wxALL, 1 );
512
bSizer15->Add( fgSizer8, 0, wxEXPAND, 1 );
514
m_panelNetSpecialTimes->SetSizer( bSizer15 );
515
m_panelNetSpecialTimes->Layout();
516
bSizer15->Fit( m_panelNetSpecialTimes );
517
sbSizer9->Add( m_panelNetSpecialTimes, 0, wxEXPAND | wxALL, 1 );
519
bSizer12->Add( sbSizer9, 0, wxEXPAND, 1 );
521
m_panelNetwork->SetSizer( bSizer12 );
522
m_panelNetwork->Layout();
523
bSizer12->Fit( m_panelNetwork );
524
m_Notebook->AddPage( m_panelNetwork, _("network usage"), true );
525
m_panelDiskAndMemory = new wxPanel( m_Notebook, ID_TABPAGE_DISK, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
526
m_panelDiskAndMemory->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
528
wxBoxSizer* bSizer25;
529
bSizer25 = new wxBoxSizer( wxVERTICAL );
531
wxStaticBoxSizer* sbSizerDiskUsage;
532
sbSizerDiskUsage = new wxStaticBoxSizer( new wxStaticBox( m_panelDiskAndMemory, -1, _("Disk usage") ), wxVERTICAL );
534
wxFlexGridSizer* fgSizerDiskUsage;
535
fgSizerDiskUsage = new wxFlexGridSizer( 5, 3, 0, 0 );
536
fgSizerDiskUsage->AddGrowableCol( 2 );
537
fgSizerDiskUsage->SetFlexibleDirection( wxHORIZONTAL );
538
fgSizerDiskUsage->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
540
m_staticText40 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
541
fgSizerDiskUsage->Add( m_staticText40, 0, wxALL|wxEXPAND, 5 );
543
m_txtDiskMaxSpace = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTDISKMAXSPACE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
544
m_txtDiskMaxSpace->SetToolTip( _("the maximum disk space used by BOINC (in Gigabytes)") );
546
fgSizerDiskUsage->Add( m_txtDiskMaxSpace, 0, wxALL, 1 );
548
m_staticText41 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Gigabytes disk space"), wxDefaultPosition, wxDefaultSize, 0 );
549
fgSizerDiskUsage->Add( m_staticText41, 0, wxALL, 5 );
551
m_staticText42 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Leave at least"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
552
fgSizerDiskUsage->Add( m_staticText42, 0, wxALL|wxEXPAND, 5 );
554
m_txtDiskLeastFree = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTDISKLEASTFREE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
555
m_txtDiskLeastFree->SetToolTip( _("BOINC leaves at least this amount of disk space free (in Gigabytes)") );
557
fgSizerDiskUsage->Add( m_txtDiskLeastFree, 0, wxALL, 1 );
559
m_staticText43 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Gigabytes disk space free"), wxDefaultPosition, wxDefaultSize, 0 );
560
fgSizerDiskUsage->Add( m_staticText43, 0, wxALL, 5 );
562
m_staticText44 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
563
fgSizerDiskUsage->Add( m_staticText44, 0, wxALL|wxEXPAND, 5 );
565
m_txtDiskMaxOfTotal = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTDISKMAXOFTOTAL, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
566
m_txtDiskMaxOfTotal->SetToolTip( _("BOINC uses at most this percentage of total disk space") );
568
fgSizerDiskUsage->Add( m_txtDiskMaxOfTotal, 0, wxALL, 1 );
570
/*xgettext:no-c-format*/
571
m_staticText45 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("% of total disk space"), wxDefaultPosition, wxDefaultSize, 0 );
572
fgSizerDiskUsage->Add( m_staticText45, 0, wxALL, 5 );
574
m_staticText46 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Tasks checkpoint to disk at most every"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
575
fgSizerDiskUsage->Add( m_staticText46, 0, wxALL|wxEXPAND, 5 );
577
m_txtDiskWriteToDisk = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTDISKWRITETODISK, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
578
fgSizerDiskUsage->Add( m_txtDiskWriteToDisk, 0, wxALL, 1 );
580
m_staticText47 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
581
fgSizerDiskUsage->Add( m_staticText47, 0, wxALL, 5 );
583
m_staticText48 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
584
fgSizerDiskUsage->Add( m_staticText48, 0, wxALL|wxEXPAND, 5 );
586
m_txtDiskMaxSwap = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTDISKWRITETODISK, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
587
fgSizerDiskUsage->Add( m_txtDiskMaxSwap, 0, wxALL, 1 );
589
/*xgettext:no-c-format*/
590
m_staticText49 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("% of page file (swap space)"), wxDefaultPosition, wxDefaultSize, 0 );
591
fgSizerDiskUsage->Add( m_staticText49, 0, wxALL, 5 );
593
sbSizerDiskUsage->Add( fgSizerDiskUsage, 0, wxEXPAND, 1 );
595
bSizer25->Add( sbSizerDiskUsage, 0, wxEXPAND, 1 );
597
wxStaticBoxSizer* sbSizerMemoryUsage;
598
sbSizerMemoryUsage = new wxStaticBoxSizer( new wxStaticBox( m_panelDiskAndMemory, -1, _("Memory usage") ), wxVERTICAL );
600
wxFlexGridSizer* fgSizerMemoryUsage;
601
fgSizerMemoryUsage = new wxFlexGridSizer( 3, 3, 0, 0 );
602
fgSizerMemoryUsage->AddGrowableCol( 2 );
603
fgSizerMemoryUsage->SetFlexibleDirection( wxHORIZONTAL );
604
fgSizerMemoryUsage->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
606
m_staticText50 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
607
fgSizerMemoryUsage->Add( m_staticText50, 0, wxALL|wxEXPAND, 5 );
609
m_txtMemoryMaxInUse = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTMEMORYMAXINUSE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
610
fgSizerMemoryUsage->Add( m_txtMemoryMaxInUse, 0, wxALL, 1 );
612
/*xgettext:no-c-format*/
613
m_staticText51 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("% when computer is in use"), wxDefaultPosition, wxDefaultSize, 0 );
614
fgSizerMemoryUsage->Add( m_staticText51, 0, wxALL, 5 );
616
m_staticText52 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
617
fgSizerMemoryUsage->Add( m_staticText52, 0, wxALL|wxEXPAND, 5 );
619
m_txtMemoryMaxOnIdle = new wxTextCtrl( m_panelDiskAndMemory, ID_TXTMEMORYMAXONIDLE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
620
fgSizerMemoryUsage->Add( m_txtMemoryMaxOnIdle, 0, wxALL, 1 );
622
/*xgettext:no-c-format*/
623
m_staticText53 = new wxStaticText( m_panelDiskAndMemory, ID_DEFAULT, _("% when computer is idle"), wxDefaultPosition, wxDefaultSize, 0 );
624
fgSizerMemoryUsage->Add( m_staticText53, 0, wxALL, 5 );
626
sbSizerMemoryUsage->Add( fgSizerMemoryUsage, 0, wxEXPAND, 1 );
628
m_chkMemoryWhileSuspended = new wxCheckBox( m_panelDiskAndMemory, ID_CHKMEMORYWHILESUSPENDED, _(" Leave applications in memory while suspended"), wxDefaultPosition, wxDefaultSize, 0 );
630
m_chkMemoryWhileSuspended->SetToolTip( _("if checked, suspended work units are left in memory") );
632
sbSizerMemoryUsage->Add( m_chkMemoryWhileSuspended, 0, wxALL, 5 );
634
bSizer25->Add( sbSizerMemoryUsage, 0, wxALL|wxEXPAND, 1 );
636
m_panelDiskAndMemory->SetSizer( bSizer25 );
637
m_panelDiskAndMemory->Layout();
638
bSizer25->Fit( m_panelDiskAndMemory );
639
m_Notebook->AddPage( m_panelDiskAndMemory, _("disk and memory usage"), false );
641
bSizer3->Add( m_Notebook, 1, wxEXPAND | wxALL, 1 );
643
m_panelControls->SetSizer( bSizer3 );
644
m_panelControls->Layout();
645
bSizer3->Fit( m_panelControls );
646
bSizer1->Add( m_panelControls, 1, wxALL|wxEXPAND, 1 );
648
m_panelButtons = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
650
bSizer5 = new wxBoxSizer( wxHORIZONTAL );
652
m_btnOK = new wxButton( m_panelButtons, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
653
m_btnOK->SetToolTip( _("save all values and close the dialog") );
655
bSizer5->Add( m_btnOK, 0, wxALL, 5 );
657
m_btnCancel = new wxButton( m_panelButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
658
m_btnCancel->SetToolTip( _("close the dialog without saving") );
660
bSizer5->Add( m_btnCancel, 0, wxALL, 5 );
662
m_btnHelp = new wxButton( m_panelButtons, wxID_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 );
663
m_btnHelp->SetToolTip( _("shows the preferences web page") );
665
bSizer5->Add( m_btnHelp, 0, wxALL, 5 );
667
m_panelButtons->SetSizer( bSizer5 );
668
m_panelButtons->Layout();
669
bSizer5->Fit( m_panelButtons );
670
bSizer1->Add( m_panelButtons, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 );
672
bSizer1->Fit( this );
673
this->SetSizer( bSizer1 );
421
m_staticText30 = new wxStaticText( networkTab, ID_DEFAULT, _("Connect about every"), wxDefaultPosition, wxDefaultSize, 0 );
422
networkGeneralGridSizer->Add( m_staticText30, 0, wxALL, 5 );
424
m_txtNetConnectInterval = new wxTextCtrl( networkTab, ID_TXTNETCONNECTINTERVAL, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
425
m_txtNetConnectInterval->SetToolTip( _("this computer is connected to the Internet about every X days\n(0 if it's always connected)") );
427
networkGeneralGridSizer->Add( m_txtNetConnectInterval, 0, wxALL, 1 );
429
m_staticText31 = new wxStaticText( networkTab, ID_DEFAULT, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
430
networkGeneralGridSizer->Add( m_staticText31, 0, wxALL, 5 );
432
m_staticText331 = new wxStaticText( networkTab, ID_DEFAULT, _("Additional work buffer"), wxDefaultPosition, wxDefaultSize, 0 );
433
networkGeneralGridSizer->Add( m_staticText331, 0, wxALIGN_RIGHT|wxALL, 5 );
435
m_txtNetAdditionalDays = new wxTextCtrl( networkTab, ID_TXTNETADDITIONALDAYS, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
436
networkGeneralGridSizer->Add( m_txtNetAdditionalDays, 0, wxALL, 1 );
438
m_staticText341 = new wxStaticText( networkTab, ID_DEFAULT, _("days (max. 10)"), wxDefaultPosition, wxDefaultSize, 0 );
439
networkGeneralGridSizer->Add( m_staticText341, 0, wxALL, 5 );
441
m_chkNetSkipImageVerification = new wxCheckBox( networkTab, ID_CHKNETSKIPIMAGEVERIFICATION, _("Skip image file verification"), wxDefaultPosition, wxDefaultSize, 0 );
443
m_chkNetSkipImageVerification->SetToolTip( _("check this if your Internet provider modifies image files") );
445
networkGeneralGridSizer->Add( m_chkNetSkipImageVerification, 0, wxALL, 5 );
447
networkGeneralBoxSizer->Add( networkGeneralGridSizer, 0, wxEXPAND, 1 );
449
networkTabSizer->Add( networkGeneralBoxSizer, 0, wxEXPAND, 1 );
451
wxStaticBoxSizer* connectOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( networkTab, -1, _("Connect options") ), wxVERTICAL );
453
m_chkNetConfirmBeforeConnect = new wxCheckBox( networkTab, ID_CHKNETCONFIRMBEFORECONNECT, _("Confirm before connecting to internet"), wxDefaultPosition, wxDefaultSize, 0 );
455
m_chkNetConfirmBeforeConnect->SetToolTip( _("if checked, a confirmation dialog will be displayed before trying to connect to the Internet") );
457
connectOptionsSizer->Add( m_chkNetConfirmBeforeConnect, 0, wxALL, 5 );
459
m_chkNetDisconnectWhenDone = new wxCheckBox( networkTab, ID_CHKNETDISCONNECTWHENDONE, _("Disconnect when done"), wxDefaultPosition, wxDefaultSize, 0 );
461
m_chkNetDisconnectWhenDone->SetToolTip( _("if checked, BOINC hangs up when network usage is done\n(only relevant for dialup-connection)") );
463
connectOptionsSizer->Add( m_chkNetDisconnectWhenDone, 0, wxALL, 5 );
465
networkTabSizer->Add( connectOptionsSizer, 0, wxEXPAND, 1 );
467
wxStaticBoxSizer* networkTimesBoxSizer = new wxStaticBoxSizer( new wxStaticBox( networkTab, -1, _("Network usage allowed") ), wxVERTICAL );
469
wxBoxSizer* networkTimesSizer = new wxBoxSizer( wxHORIZONTAL );
471
m_staticText38 = new wxStaticText( networkTab, ID_DEFAULT, _("Every day between hours of"), wxDefaultPosition, wxDefaultSize, 0 );
472
networkTimesSizer->Add( m_staticText38, 0, wxALL, 5 );
474
m_txtNetEveryDayStart = new wxTextCtrl( networkTab, ID_TXTNETEVERYDAYSTART, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), 0 );
475
m_txtNetEveryDayStart->SetToolTip( _("network usage start hour") );
477
networkTimesSizer->Add( m_txtNetEveryDayStart, 0, wxALL, 1 );
479
m_staticText37 = new wxStaticText( networkTab, ID_DEFAULT, _("and"), wxDefaultPosition, wxDefaultSize, 0 );
480
networkTimesSizer->Add( m_staticText37, 0, wxALL, 5 );
482
m_txtNetEveryDayStop = new wxTextCtrl( networkTab, ID_TXTNETEVERYDAYSTOP, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), 0 );
483
m_txtNetEveryDayStop->SetToolTip( _("network usage stop hour") );
485
networkTimesSizer->Add( m_txtNetEveryDayStop, 0, wxALL, 1 );
487
m_staticText54 = new wxStaticText( networkTab, ID_DEFAULT, _("(no restriction if equal)"), wxDefaultPosition, wxDefaultSize, 0 );
488
networkTimesSizer->Add( m_staticText54, 0, wxALL, 5 );
490
networkTimesBoxSizer->Add( networkTimesSizer, 0, wxEXPAND, 1 );
492
m_staticText39 = new wxStaticText( networkTab, ID_DEFAULT, _("Day-of-week override:"), wxDefaultPosition, wxDefaultSize, 0 );
493
networkTimesBoxSizer->Add( m_staticText39, 0, wxALL, 5 );
495
m_panelNetSpecialTimes = new wxPanel( networkTab, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
496
m_panelNetSpecialTimes->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
497
m_panelNetSpecialTimes->SetToolTip( _("check box to specify hours for this day of week") );
499
wxFlexGridSizer* netDaysGridSizer = new wxFlexGridSizer( 4, 4, 0, 0 );
500
netDaysGridSizer->SetFlexibleDirection( wxHORIZONTAL );
501
netDaysGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
503
m_chkNetMonday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETMONDAY, _("Monday"), wxDefaultPosition, wxDefaultSize, 0 );
505
netDaysGridSizer->Add( m_chkNetMonday, 0, wxALL, 5 );
507
m_txtNetMonday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETMONDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
508
netDaysGridSizer->Add( m_txtNetMonday, 0, wxALL, 1 );
510
m_chkNetTuesday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETTUESDAY, _("Tuesday"), wxDefaultPosition, wxDefaultSize, 0 );
512
netDaysGridSizer->Add( m_chkNetTuesday, 0, wxALL, 5 );
514
m_txtNetTuesday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETTUESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
515
netDaysGridSizer->Add( m_txtNetTuesday, 0, wxALL, 1 );
517
m_chkNetWednesday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETWEDNESDAY, _("Wednesday"), wxDefaultPosition, wxDefaultSize, 0 );
519
netDaysGridSizer->Add( m_chkNetWednesday, 0, wxALL, 5 );
521
m_txtNetWednesday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETWEDNESDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
522
netDaysGridSizer->Add( m_txtNetWednesday, 0, wxALL, 1 );
524
m_chkNetThursday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETTHURSDAY, _("Thursday"), wxDefaultPosition, wxDefaultSize, 0 );
526
netDaysGridSizer->Add( m_chkNetThursday, 0, wxALL, 5 );
528
m_txtNetThursday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETTHURSDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
529
netDaysGridSizer->Add( m_txtNetThursday, 0, wxALL, 1 );
531
m_chkNetFriday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETFRIDAY, _("Friday"), wxDefaultPosition, wxDefaultSize, 0 );
533
netDaysGridSizer->Add( m_chkNetFriday, 0, wxALL, 5 );
535
m_txtNetFriday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETFRIDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
536
netDaysGridSizer->Add( m_txtNetFriday, 0, wxALL, 1 );
538
m_chkNetSaturday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETSATURDAY, _("Saturday"), wxDefaultPosition, wxDefaultSize, 0 );
540
netDaysGridSizer->Add( m_chkNetSaturday, 0, wxALL, 5 );
542
m_txtNetSaturday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETSATURDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
543
netDaysGridSizer->Add( m_txtNetSaturday, 0, wxALL, 1 );
545
m_chkNetSunday = new wxCheckBox( m_panelNetSpecialTimes, ID_CHKNETSUNDAY, _("Sunday"), wxDefaultPosition, wxDefaultSize, 0 );
547
netDaysGridSizer->Add( m_chkNetSunday, 0, wxALL, 5 );
549
m_txtNetSunday = new wxTextCtrl( m_panelNetSpecialTimes, ID_TXTNETSUNDAY, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
550
netDaysGridSizer->Add( m_txtNetSunday, 0, wxALL, 1 );
552
m_panelNetSpecialTimes->SetSizer( netDaysGridSizer );
553
m_panelNetSpecialTimes->Layout();
554
netDaysGridSizer->Fit( m_panelNetSpecialTimes );
555
networkTimesBoxSizer->Add( m_panelNetSpecialTimes, 0, wxEXPAND | wxALL, 1 );
557
networkTabSizer->Add( networkTimesBoxSizer, 0, wxEXPAND, 1 );
559
networkTab->SetSizer( networkTabSizer );
560
networkTab->Layout();
561
networkTabSizer->Fit( networkTab );
565
wxPanel* CDlgAdvPreferencesBase::createDiskAndMemoryTab(wxNotebook* notebook)
567
wxPanel* diskMemoryTab = new wxPanel( notebook, ID_TABPAGE_DISK, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
568
diskMemoryTab->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
570
wxBoxSizer* diskAndMemoryBoxSizer = new wxBoxSizer( wxVERTICAL );
572
wxStaticBoxSizer* diskUsageBoxSizer = new wxStaticBoxSizer( new wxStaticBox( diskMemoryTab, -1, _("Disk usage") ), wxVERTICAL );
574
wxFlexGridSizer* diskUsageGridSizer = new wxFlexGridSizer( 5, 3, 0, 0 );
575
diskUsageGridSizer->AddGrowableCol( 2 );
576
diskUsageGridSizer->SetFlexibleDirection( wxHORIZONTAL );
577
diskUsageGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
579
m_staticText40 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
580
diskUsageGridSizer->Add( m_staticText40, 0, wxALL|wxEXPAND, 5 );
582
m_txtDiskMaxSpace = new wxTextCtrl( diskMemoryTab, ID_TXTDISKMAXSPACE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
583
m_txtDiskMaxSpace->SetToolTip( _("the maximum disk space used by BOINC (in Gigabytes)") );
585
diskUsageGridSizer->Add( m_txtDiskMaxSpace, 0, wxALL, 1 );
587
m_staticText41 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Gigabytes disk space"), wxDefaultPosition, wxDefaultSize, 0 );
588
diskUsageGridSizer->Add( m_staticText41, 0, wxALL, 5 );
590
m_staticText42 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Leave at least"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
591
diskUsageGridSizer->Add( m_staticText42, 0, wxALL|wxEXPAND, 5 );
593
m_txtDiskLeastFree = new wxTextCtrl( diskMemoryTab, ID_TXTDISKLEASTFREE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
594
m_txtDiskLeastFree->SetToolTip( _("BOINC leaves at least this amount of disk space free (in Gigabytes)") );
596
diskUsageGridSizer->Add( m_txtDiskLeastFree, 0, wxALL, 1 );
598
m_staticText43 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Gigabytes disk space free"), wxDefaultPosition, wxDefaultSize, 0 );
599
diskUsageGridSizer->Add( m_staticText43, 0, wxALL, 5 );
601
m_staticText44 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
602
diskUsageGridSizer->Add( m_staticText44, 0, wxALL|wxEXPAND, 5 );
604
m_txtDiskMaxOfTotal = new wxTextCtrl( diskMemoryTab, ID_TXTDISKMAXOFTOTAL, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
605
m_txtDiskMaxOfTotal->SetToolTip( _("BOINC uses at most this percentage of total disk space") );
607
diskUsageGridSizer->Add( m_txtDiskMaxOfTotal, 0, wxALL, 1 );
609
/*xgettext:no-c-format*/
610
m_staticText45 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("% of total disk space"), wxDefaultPosition, wxDefaultSize, 0 );
611
diskUsageGridSizer->Add( m_staticText45, 0, wxALL, 5 );
613
m_staticText46 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Tasks checkpoint to disk at most every"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
614
diskUsageGridSizer->Add( m_staticText46, 0, wxALL|wxEXPAND, 5 );
616
m_txtDiskWriteToDisk = new wxTextCtrl( diskMemoryTab, ID_TXTDISKWRITETODISK, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
617
diskUsageGridSizer->Add( m_txtDiskWriteToDisk, 0, wxALL, 1 );
619
m_staticText47 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("seconds"), wxDefaultPosition, wxDefaultSize, 0 );
620
diskUsageGridSizer->Add( m_staticText47, 0, wxALL, 5 );
622
m_staticText48 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
623
diskUsageGridSizer->Add( m_staticText48, 0, wxALL|wxEXPAND, 5 );
625
m_txtDiskMaxSwap = new wxTextCtrl( diskMemoryTab, ID_TXTDISKWRITETODISK, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
626
diskUsageGridSizer->Add( m_txtDiskMaxSwap, 0, wxALL, 1 );
628
/*xgettext:no-c-format*/
629
m_staticText49 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("% of page file (swap space)"), wxDefaultPosition, wxDefaultSize, 0 );
630
diskUsageGridSizer->Add( m_staticText49, 0, wxALL, 5 );
632
diskUsageBoxSizer->Add( diskUsageGridSizer, 0, wxEXPAND, 1 );
634
diskAndMemoryBoxSizer->Add( diskUsageBoxSizer, 0, wxEXPAND, 1 );
636
wxStaticBoxSizer* memoryUsageBoxSizer = new wxStaticBoxSizer( new wxStaticBox( diskMemoryTab, -1, _("Memory usage") ), wxVERTICAL );
638
wxFlexGridSizer* memoryUsageGridSizer = new wxFlexGridSizer( 3, 3, 0, 0 );
639
memoryUsageGridSizer->AddGrowableCol( 2 );
640
memoryUsageGridSizer->SetFlexibleDirection( wxHORIZONTAL );
641
memoryUsageGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
643
m_staticText50 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
644
memoryUsageGridSizer->Add( m_staticText50, 0, wxALL|wxEXPAND, 5 );
646
m_txtMemoryMaxInUse = new wxTextCtrl( diskMemoryTab, ID_TXTMEMORYMAXINUSE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
647
memoryUsageGridSizer->Add( m_txtMemoryMaxInUse, 0, wxALL, 1 );
649
/*xgettext:no-c-format*/
650
m_staticText51 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("% when computer is in use"), wxDefaultPosition, wxDefaultSize, 0 );
651
memoryUsageGridSizer->Add( m_staticText51, 0, wxALL, 5 );
653
m_staticText52 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("Use at most"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
654
memoryUsageGridSizer->Add( m_staticText52, 0, wxALL|wxEXPAND, 5 );
656
m_txtMemoryMaxOnIdle = new wxTextCtrl( diskMemoryTab, ID_TXTMEMORYMAXONIDLE, wxT(""), wxDefaultPosition, wxSize( 50,-1 ), wxTE_RIGHT );
657
memoryUsageGridSizer->Add( m_txtMemoryMaxOnIdle, 0, wxALL, 1 );
659
/*xgettext:no-c-format*/
660
m_staticText53 = new wxStaticText( diskMemoryTab, ID_DEFAULT, _("% when computer is idle"), wxDefaultPosition, wxDefaultSize, 0 );
661
memoryUsageGridSizer->Add( m_staticText53, 0, wxALL, 5 );
663
memoryUsageBoxSizer->Add( memoryUsageGridSizer, 0, wxEXPAND, 1 );
665
m_chkMemoryWhileSuspended = new wxCheckBox( diskMemoryTab, ID_CHKMEMORYWHILESUSPENDED, _("Leave applications in memory while suspended"), wxDefaultPosition, wxDefaultSize, 0 );
667
m_chkMemoryWhileSuspended->SetToolTip( _("if checked, suspended work units are left in memory") );
669
memoryUsageBoxSizer->Add( m_chkMemoryWhileSuspended, 0, wxALL, 5 );
671
diskAndMemoryBoxSizer->Add( memoryUsageBoxSizer, 0, wxALL|wxEXPAND, 1 );
673
diskMemoryTab->SetSizer( diskAndMemoryBoxSizer );
674
diskMemoryTab->Layout();
675
diskAndMemoryBoxSizer->Fit( diskMemoryTab );
677
return diskMemoryTab;