2010-06-02 17:44:38 +00:00
// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2010 University of California
2007-01-17 18:13:33 +00:00
//
2010-06-02 17:44:38 +00:00
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
// This code was initially generated with wxFormBuilder (version Oct 13 2006)
// http://www.wxformbuilder.org/
2007-01-17 18:13:33 +00:00
2007-08-16 20:06:50 +00:00
# include "stdwx.h"
2011-01-28 09:55:03 +00:00
# include "Events.h"
2007-08-16 20:06:50 +00:00
# include "diagnostics.h"
# include "util.h"
# include "mfile.h"
# include "miofile.h"
# include "parse.h"
# include "LogBOINC.h"
# include "BOINCGUIApp.h"
# include "SkinManager.h"
2007-01-17 18:13:33 +00:00
# include "DlgAdvPreferencesBase.h"
///////////////////////////////////////////////////////////////////////////
2007-08-16 20:06:50 +00:00
CDlgAdvPreferencesBase : : CDlgAdvPreferencesBase ( wxWindow * parent , int id , wxString title , wxPoint pos , wxSize size , int style ) :
wxDialog ( parent , id , title , pos , size , style )
2007-01-17 18:13:33 +00:00
{
2007-08-16 20:06:50 +00:00
wxString strCaption = title ;
if ( strCaption . IsEmpty ( ) ) {
CSkinAdvanced * pSkinAdvanced = wxGetApp ( ) . GetSkinManager ( ) - > GetAdvanced ( ) ;
wxASSERT ( pSkinAdvanced ) ;
wxASSERT ( wxDynamicCast ( pSkinAdvanced , CSkinAdvanced ) ) ;
strCaption . Printf ( _ ( " %s - Preferences " ) , pSkinAdvanced - > GetApplicationName ( ) . c_str ( ) ) ;
}
2010-11-08 17:01:02 +00:00
this - > SetExtraStyle ( this - > GetExtraStyle ( ) | wxWS_EX_VALIDATE_RECURSIVELY ) ;
2010-06-02 17:44:38 +00:00
this - > Centre ( wxBOTH ) ;
2007-08-16 20:06:50 +00:00
this - > SetTitle ( strCaption ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxBoxSizer * dialogSizer = new wxBoxSizer ( wxVERTICAL ) ;
wxStaticBoxSizer * topControlsSizer = new wxStaticBoxSizer ( new wxStaticBox ( this , - 1 , wxT ( " " ) ) , wxHORIZONTAL ) ;
m_bmpWarning = new wxStaticBitmap ( this , ID_DEFAULT , wxNullBitmap , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_bmpWarning - > SetMinSize ( wxSize ( 48 , 48 ) ) ;
topControlsSizer - > Add ( m_bmpWarning , 0 , wxALIGN_CENTER_VERTICAL | wxALL , 0 ) ;
2011-04-29 12:04:07 +00:00
m_staticText321 = new wxStaticText ( this , ID_DEFAULT , _ ( " This dialog controls preferences for this computer only. \n Click OK to set preferences. \n Click Clear to restore web-based settings (except exclusive apps). " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2010-06-02 17:44:38 +00:00
topControlsSizer - > Add ( m_staticText321 , 1 , wxALL , 1 ) ;
m_btnClear = new wxButton ( this , ID_BTN_CLEAR , _ ( " Clear " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_btnClear - > SetToolTip ( _ ( " clear all local preferences and close the dialog " ) ) ;
topControlsSizer - > Add ( m_btnClear , 0 , wxALIGN_BOTTOM | wxALL , 1 ) ;
dialogSizer - > Add ( topControlsSizer , 0 , wxALL | wxEXPAND , 1 ) ;
m_panelControls = new wxPanel ( this , ID_DEFAULT , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
m_panelControls - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
wxBoxSizer * notebookSizer = new wxBoxSizer ( wxVERTICAL ) ;
m_Notebook = new wxNotebook ( m_panelControls , ID_DEFAULT , wxDefaultPosition , wxDefaultSize , wxNB_FLAT | wxNB_TOP ) ;
m_Notebook - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
m_panelProcessor = createProcessorTab ( m_Notebook ) ;
m_Notebook - > AddPage ( m_panelProcessor , _ ( " processor usage " ) , false ) ;
m_panelNetwork = createNetworkTab ( m_Notebook ) ;
m_Notebook - > AddPage ( m_panelNetwork , _ ( " network usage " ) , true ) ;
m_panelDiskAndMemory = createDiskAndMemoryTab ( m_Notebook ) ;
m_Notebook - > AddPage ( m_panelDiskAndMemory , _ ( " disk and memory usage " ) , false ) ;
2007-04-02 18:04:54 +00:00
2011-04-28 13:00:04 +00:00
m_panelExlusiveApps = createExclusiveAppsTab ( m_Notebook ) ;
m_Notebook - > AddPage ( m_panelExlusiveApps , _ ( " exclusive applications " ) , false ) ;
2010-06-02 17:44:38 +00:00
notebookSizer - > Add ( m_Notebook , 1 , wxEXPAND | wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelControls - > SetSizer ( notebookSizer ) ;
m_panelControls - > Layout ( ) ;
notebookSizer - > Fit ( m_panelControls ) ;
dialogSizer - > Add ( m_panelControls , 1 , wxALL | wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelButtons = new wxPanel ( this , ID_DEFAULT , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
wxBoxSizer * buttonSizer = new wxBoxSizer ( wxHORIZONTAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_btnOK = new wxButton ( m_panelButtons , wxID_OK , _ ( " OK " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_btnOK - > SetToolTip ( _ ( " save all values and close the dialog " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
buttonSizer - > Add ( m_btnOK , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_btnCancel = new wxButton ( m_panelButtons , wxID_CANCEL , _ ( " Cancel " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_btnCancel - > SetToolTip ( _ ( " close the dialog without saving " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
buttonSizer - > Add ( m_btnCancel , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2011-01-28 09:55:03 +00:00
m_btnHelp = new wxButton ( m_panelButtons , ID_HELPBOINC , _ ( " Help " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2010-06-02 17:44:38 +00:00
m_btnHelp - > SetToolTip ( _ ( " shows the preferences web page " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
buttonSizer - > Add ( m_btnHelp , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelButtons - > SetSizer ( buttonSizer ) ;
m_panelButtons - > Layout ( ) ;
buttonSizer - > Fit ( m_panelButtons ) ;
dialogSizer - > Add ( m_panelButtons , 0 , wxALIGN_BOTTOM | wxALIGN_CENTER_HORIZONTAL | wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
dialogSizer - > Fit ( this ) ;
this - > SetSizer ( dialogSizer ) ;
this - > Layout ( ) ;
}
wxPanel * CDlgAdvPreferencesBase : : createProcessorTab ( wxNotebook * notebook )
{
wxPanel * processorTab = new wxPanel ( notebook , ID_TABPAGE_PROC , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
processorTab - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxBoxSizer * processorTabSizer = new wxBoxSizer ( wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * computingAllowedBoxSizer = new wxStaticBoxSizer (
new wxStaticBox ( processorTab , - 1 , _ ( " Computing allowed " ) ) , wxVERTICAL
2009-02-13 17:53:10 +00:00
) ;
2010-06-02 17:44:38 +00:00
m_chkProcOnBatteries = new wxCheckBox (
processorTab , ID_CHKPROCONBATTERIES ,
_ ( " While computer is on batteries " ) , wxDefaultPosition , wxDefaultSize , 0
2009-02-13 17:53:10 +00:00
) ;
2010-06-02 17:44:38 +00:00
m_chkProcOnBatteries - > SetToolTip (
2009-02-13 17:53:10 +00:00
_ ( " check this if you want this computer to do work while it runs on batteries " )
) ;
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( m_chkProcOnBatteries , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcInUse = new wxCheckBox (
processorTab , ID_CHKPROCINUSE ,
_ ( " While computer is in use " ) , wxDefaultPosition , wxDefaultSize , 0
2009-02-13 17:53:10 +00:00
) ;
2010-06-02 17:44:38 +00:00
m_chkProcInUse - > SetToolTip (
2009-02-13 17:53:10 +00:00
_ ( " check this if you want this computer to do work even when you're using it " )
) ;
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( m_chkProcInUse , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2009-02-13 17:53:10 +00:00
m_chkGPUProcInUse = new wxCheckBox (
2010-06-02 17:44:38 +00:00
processorTab , ID_CHKGPUPROCINUSE ,
_ ( " Use GPU while computer is in use " ) , wxDefaultPosition , wxDefaultSize , 0
2009-02-13 17:53:10 +00:00
) ;
2010-06-02 17:44:38 +00:00
m_chkGPUProcInUse - > SetToolTip (
2009-02-13 17:53:10 +00:00
_ ( " check this if you want your GPU to do work even when you're using the computer " )
) ;
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( m_chkGPUProcInUse , 0 , wxALL , 5 ) ;
2009-02-13 17:53:10 +00:00
2010-02-16 18:58:00 +00:00
// min idle time
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * procIdleSizer = new wxFlexGridSizer ( 2 , 4 , 0 , 0 ) ;
procIdleSizer - > AddGrowableCol ( 3 ) ;
procIdleSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
procIdleSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
procIdleSizer - > Add (
2010-02-16 18:38:39 +00:00
new wxStaticText (
2010-06-02 17:44:38 +00:00
processorTab , ID_DEFAULT ,
2010-02-16 18:38:39 +00:00
_ ( " Only after computer has been idle for " ) ,
wxDefaultPosition , wxDefaultSize , 0
) ,
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
m_txtProcIdleFor = new wxTextCtrl (
processorTab , ID_TXTPROCIDLEFOR , wxT ( " " ) , wxDefaultPosition ,
2010-02-16 18:38:39 +00:00
wxSize ( 50 , - 1 ) , wxTE_RIGHT
) ;
2010-06-02 17:44:38 +00:00
m_txtProcIdleFor - > SetToolTip (
2010-02-16 18:38:39 +00:00
_ ( " do work only after you haven't used the computer for this number of minutes " )
) ;
2010-06-02 17:44:38 +00:00
procIdleSizer - > Add ( m_txtProcIdleFor , 0 , wxALL , 1 ) ;
procIdleSizer - > Add (
2010-02-16 18:38:39 +00:00
new wxStaticText (
2010-06-02 17:44:38 +00:00
processorTab , ID_DEFAULT , _ ( " minutes " ) ,
2010-02-16 18:38:39 +00:00
wxDefaultPosition , wxDefaultSize , 0
) ,
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
procIdleSizer - > Add (
new wxStaticText ( processorTab , ID_DEFAULT , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ,
2010-02-16 18:58:00 +00:00
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( procIdleSizer , 0 , wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-02-16 18:38:39 +00:00
// max CPU load
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * maxLoadSizer = new wxFlexGridSizer ( 2 , 4 , 0 , 0 ) ;
maxLoadSizer - > AddGrowableCol ( 3 ) ;
maxLoadSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
maxLoadSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
maxLoadSizer - > Add (
2010-02-16 18:38:39 +00:00
new wxStaticText (
2010-06-02 17:44:38 +00:00
processorTab , ID_DEFAULT ,
2010-02-16 18:58:00 +00:00
_ ( " While processor usage is less than " ) ,
2010-02-16 18:38:39 +00:00
wxDefaultPosition , wxDefaultSize , 0
) ,
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
m_txtMaxLoad = new wxTextCtrl (
processorTab , ID_TXTMAXLOAD , wxT ( " " ) , wxDefaultPosition ,
2010-02-16 18:58:00 +00:00
wxSize ( 30 , - 1 ) , wxTE_RIGHT
2010-02-16 18:38:39 +00:00
) ;
2010-06-02 17:44:38 +00:00
m_txtMaxLoad - > SetToolTip (
2010-02-16 18:38:39 +00:00
_ ( " suspend work if processor usage exceeds this level " )
) ;
2010-06-02 17:44:38 +00:00
maxLoadSizer - > Add ( m_txtMaxLoad , 0 , wxALL , 1 ) ;
maxLoadSizer - > Add (
2010-02-16 18:38:39 +00:00
new wxStaticText (
2010-06-02 17:44:38 +00:00
processorTab , ID_DEFAULT , _ ( " percent (0 means no restriction) " ) ,
2010-02-16 18:38:39 +00:00
wxDefaultPosition , wxDefaultSize , 0
) ,
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
maxLoadSizer - > Add (
new wxStaticText ( processorTab , ID_DEFAULT , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ,
2010-02-16 18:58:00 +00:00
0 , wxALL , 5
) ;
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( maxLoadSizer , 0 , wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxBoxSizer * cpuTimesSizer = new wxBoxSizer ( wxHORIZONTAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText351 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " Every day between hours of " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
cpuTimesSizer - > Add ( m_staticText351 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcEveryDayStart = new wxTextCtrl ( processorTab , ID_TXTPROCEVERYDAYSTART , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtProcEveryDayStart - > SetToolTip ( _ ( " start work at this time " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
cpuTimesSizer - > Add ( m_txtProcEveryDayStart , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText25 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " and " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_CENTRE ) ;
cpuTimesSizer - > Add ( m_staticText25 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcEveryDayStop = new wxTextCtrl ( processorTab , ID_TXTPROCEVERYDAYSTOP , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtProcEveryDayStop - > SetToolTip ( _ ( " stop work at this time " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
cpuTimesSizer - > Add ( m_txtProcEveryDayStop , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText55 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " (no restriction if equal) " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_CENTRE ) ;
cpuTimesSizer - > Add ( m_staticText55 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
computingAllowedBoxSizer - > Add ( cpuTimesSizer , 0 , wxEXPAND , 1 ) ;
2007-06-26 03:48:50 +00:00
2010-06-02 17:44:38 +00:00
m_staticText36 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " Day-of-week override: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
computingAllowedBoxSizer - > Add ( m_staticText36 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelProcSpecialTimes = new wxPanel ( processorTab , ID_DEFAULT , wxDefaultPosition , wxDefaultSize , wxSUNKEN_BORDER | wxTAB_TRAVERSAL ) ;
m_panelProcSpecialTimes - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
m_panelProcSpecialTimes - > SetToolTip ( _ ( " check box to specify hours for this day of week " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * procDaysSizer = new wxFlexGridSizer ( 4 , 4 , 0 , 0 ) ;
procDaysSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
procDaysSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcMonday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCMONDAY , _ ( " Monday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcMonday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcMonday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCMONDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcMonday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcTuesday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCTUESDAY , _ ( " Tuesday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcTuesday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcTuesday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCTUESDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcTuesday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcWednesday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCWEDNESDAY , _ ( " Wednesday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcWednesday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcWednesday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCWEDNESDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcWednesday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcThursday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCTHURSDAY , _ ( " Thursday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcThursday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcThursday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCTHURSDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcThursday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcFriday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCFRIDAY , _ ( " Friday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcFriday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcFriday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCFRIDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcFriday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcSaturday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCSATURDAY , _ ( " Saturday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcSaturday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcSaturday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCSATURDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcSaturday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkProcSunday = new wxCheckBox ( m_panelProcSpecialTimes , ID_CHKPROCSUNDAY , _ ( " Sunday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
procDaysSizer - > Add ( m_chkProcSunday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcSunday = new wxTextCtrl ( m_panelProcSpecialTimes , ID_TXTPROCSUNDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
procDaysSizer - > Add ( m_txtProcSunday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelProcSpecialTimes - > SetSizer ( procDaysSizer ) ;
m_panelProcSpecialTimes - > Layout ( ) ;
procDaysSizer - > Fit ( m_panelProcSpecialTimes ) ;
computingAllowedBoxSizer - > Add ( m_panelProcSpecialTimes , 1 , wxEXPAND | wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
processorTabSizer - > Add ( computingAllowedBoxSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * miscProcBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( processorTab , - 1 , _ ( " Other options " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * miscProcGridSizer = new wxFlexGridSizer ( 3 , 3 , 0 , 0 ) ;
miscProcGridSizer - > AddGrowableCol ( 2 ) ;
miscProcGridSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
miscProcGridSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText18 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " Switch between applications every " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
miscProcGridSizer - > Add ( m_staticText18 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcSwitchEvery = new wxTextCtrl ( processorTab , ID_TXTPROCSWITCHEVERY , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
miscProcGridSizer - > Add ( m_txtProcSwitchEvery , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText19 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " minutes " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
miscProcGridSizer - > Add ( m_staticText19 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText20 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " On multiprocessor systems, use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
miscProcGridSizer - > Add ( m_staticText20 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcUseProcessors = new wxTextCtrl ( processorTab , ID_TXTPROCUSEPROCESSORS , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
miscProcGridSizer - > Add ( m_txtProcUseProcessors , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2009-02-25 17:51:32 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText21 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " % of the processors " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
miscProcGridSizer - > Add ( m_staticText21 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText22 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
miscProcGridSizer - > Add ( m_staticText22 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtProcUseCPUTime = new wxTextCtrl ( processorTab , ID_TXTPOCUSECPUTIME , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
miscProcGridSizer - > Add ( m_txtProcUseCPUTime , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2008-02-25 20:11:30 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText23 = new wxStaticText ( processorTab , ID_DEFAULT , _ ( " % CPU time " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
miscProcGridSizer - > Add ( m_staticText23 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
miscProcBoxSizer - > Add ( miscProcGridSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
processorTabSizer - > Add ( miscProcBoxSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
processorTab - > SetSizer ( processorTabSizer ) ;
processorTab - > Layout ( ) ;
processorTabSizer - > Fit ( processorTab ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
return processorTab ;
}
2011-04-28 13:00:04 +00:00
2010-06-02 17:44:38 +00:00
wxPanel * CDlgAdvPreferencesBase : : createNetworkTab ( wxNotebook * notebook )
{
wxPanel * networkTab = new wxPanel ( notebook , ID_TABPAGE_NET , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
networkTab - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
wxBoxSizer * networkTabSizer = new wxBoxSizer ( wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * networkGeneralBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( networkTab , - 1 , _ ( " General options " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * networkGeneralGridSizer = new wxFlexGridSizer ( 3 , 6 , 0 , 0 ) ;
networkGeneralGridSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
networkGeneralGridSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-04-23 21:21:48 +00:00
// upload/download rates
2010-06-02 17:44:38 +00:00
m_staticText32 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Maximum download rate " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText32 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetDownloadRate = new wxTextCtrl ( networkTab , ID_TXTNETDOWNLOADRATE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
networkGeneralGridSizer - > Add ( m_txtNetDownloadRate , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText33 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " KBytes/sec. " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText33 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText34 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Maximum upload rate " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText34 , 0 , wxALIGN_RIGHT | wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetUploadRate = new wxTextCtrl ( networkTab , ID_TXTNETUPLOADRATE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
networkGeneralGridSizer - > Add ( m_txtNetUploadRate , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText35 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " KBytes/sec. " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText35 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-04-23 21:21:48 +00:00
// long-term quota
2010-06-02 17:44:38 +00:00
m_staticText_daily_xfer1 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Transfer at most " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText_daily_xfer1 , 0 , wxALL , 5 ) ;
2010-04-23 21:21:48 +00:00
2010-06-02 17:44:38 +00:00
m_txt_daily_xfer_limit_mb = new wxTextCtrl ( networkTab , ID_TXTNETDOWNLOADRATE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
networkGeneralGridSizer - > Add ( m_txt_daily_xfer_limit_mb , 0 , wxALL , 1 ) ;
2010-04-23 21:21:48 +00:00
2010-06-02 17:44:38 +00:00
m_staticText_daily_xfer2 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Mbytes " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText_daily_xfer2 , 0 , wxALL , 5 ) ;
2010-04-23 21:21:48 +00:00
2010-06-02 17:44:38 +00:00
m_staticText_daily_xfer3 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " every " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText_daily_xfer3 , 0 , wxALIGN_RIGHT | wxALL , 5 ) ;
2010-04-23 21:36:27 +00:00
2010-06-02 17:44:38 +00:00
m_txt_daily_xfer_period_days = new wxTextCtrl ( networkTab , ID_TXTNETUPLOADRATE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
networkGeneralGridSizer - > Add ( m_txt_daily_xfer_period_days , 0 , wxALL , 1 ) ;
2010-04-23 21:21:48 +00:00
2010-06-02 17:44:38 +00:00
m_staticText_daily_xfer4 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " days " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText_daily_xfer4 , 0 , wxALL , 5 ) ;
2010-04-23 21:21:48 +00:00
// buffer sizes
2010-06-02 17:44:38 +00:00
m_staticText30 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Connect about every " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText30 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetConnectInterval = new wxTextCtrl ( networkTab , ID_TXTNETCONNECTINTERVAL , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtNetConnectInterval - > SetToolTip ( _ ( " this computer is connected to the Internet about every X days \n (0 if it's always connected) " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkGeneralGridSizer - > Add ( m_txtNetConnectInterval , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText31 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " days " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText31 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText331 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Additional work buffer " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText331 , 0 , wxALIGN_RIGHT | wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetAdditionalDays = new wxTextCtrl ( networkTab , ID_TXTNETADDITIONALDAYS , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
networkGeneralGridSizer - > Add ( m_txtNetAdditionalDays , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText341 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " days (max. 10) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkGeneralGridSizer - > Add ( m_staticText341 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetSkipImageVerification = new wxCheckBox ( networkTab , ID_CHKNETSKIPIMAGEVERIFICATION , _ ( " Skip image file verification " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetSkipImageVerification - > SetToolTip ( _ ( " check this if your Internet provider modifies image files " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkGeneralGridSizer - > Add ( m_chkNetSkipImageVerification , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkGeneralBoxSizer - > Add ( networkGeneralGridSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTabSizer - > Add ( networkGeneralBoxSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * connectOptionsSizer = new wxStaticBoxSizer ( new wxStaticBox ( networkTab , - 1 , _ ( " Connect options " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetConfirmBeforeConnect = new wxCheckBox ( networkTab , ID_CHKNETCONFIRMBEFORECONNECT , _ ( " Confirm before connecting to internet " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetConfirmBeforeConnect - > SetToolTip ( _ ( " if checked, a confirmation dialog will be displayed before trying to connect to the Internet " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
connectOptionsSizer - > Add ( m_chkNetConfirmBeforeConnect , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetDisconnectWhenDone = new wxCheckBox ( networkTab , ID_CHKNETDISCONNECTWHENDONE , _ ( " Disconnect when done " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetDisconnectWhenDone - > SetToolTip ( _ ( " if checked, BOINC hangs up when network usage is done \n (only relevant for dialup-connection) " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
connectOptionsSizer - > Add ( m_chkNetDisconnectWhenDone , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTabSizer - > Add ( connectOptionsSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * networkTimesBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( networkTab , - 1 , _ ( " Network usage allowed " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxBoxSizer * networkTimesSizer = new wxBoxSizer ( wxHORIZONTAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText38 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Every day between hours of " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkTimesSizer - > Add ( m_staticText38 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetEveryDayStart = new wxTextCtrl ( networkTab , ID_TXTNETEVERYDAYSTART , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , 0 ) ;
m_txtNetEveryDayStart - > SetToolTip ( _ ( " network usage start hour " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTimesSizer - > Add ( m_txtNetEveryDayStart , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText37 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " and " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkTimesSizer - > Add ( m_staticText37 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetEveryDayStop = new wxTextCtrl ( networkTab , ID_TXTNETEVERYDAYSTOP , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , 0 ) ;
m_txtNetEveryDayStop - > SetToolTip ( _ ( " network usage stop hour " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTimesSizer - > Add ( m_txtNetEveryDayStop , 0 , wxALL , 1 ) ;
2007-06-26 03:48:50 +00:00
2010-06-02 17:44:38 +00:00
m_staticText54 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " (no restriction if equal) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkTimesSizer - > Add ( m_staticText54 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTimesBoxSizer - > Add ( networkTimesSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText39 = new wxStaticText ( networkTab , ID_DEFAULT , _ ( " Day-of-week override: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
networkTimesBoxSizer - > Add ( m_staticText39 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelNetSpecialTimes = new wxPanel ( networkTab , ID_DEFAULT , wxDefaultPosition , wxDefaultSize , wxSUNKEN_BORDER | wxTAB_TRAVERSAL ) ;
m_panelNetSpecialTimes - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
m_panelNetSpecialTimes - > SetToolTip ( _ ( " check box to specify hours for this day of week " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * netDaysGridSizer = new wxFlexGridSizer ( 4 , 4 , 0 , 0 ) ;
netDaysGridSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
netDaysGridSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetMonday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETMONDAY , _ ( " Monday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetMonday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetMonday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETMONDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetMonday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetTuesday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETTUESDAY , _ ( " Tuesday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetTuesday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetTuesday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETTUESDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetTuesday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetWednesday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETWEDNESDAY , _ ( " Wednesday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetWednesday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetWednesday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETWEDNESDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetWednesday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetThursday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETTHURSDAY , _ ( " Thursday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetThursday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetThursday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETTHURSDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetThursday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetFriday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETFRIDAY , _ ( " Friday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetFriday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetFriday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETFRIDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetFriday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetSaturday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETSATURDAY , _ ( " Saturday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetSaturday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetSaturday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETSATURDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetSaturday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkNetSunday = new wxCheckBox ( m_panelNetSpecialTimes , ID_CHKNETSUNDAY , _ ( " Sunday " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
netDaysGridSizer - > Add ( m_chkNetSunday , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtNetSunday = new wxTextCtrl ( m_panelNetSpecialTimes , ID_TXTNETSUNDAY , wxT ( " " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
netDaysGridSizer - > Add ( m_txtNetSunday , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_panelNetSpecialTimes - > SetSizer ( netDaysGridSizer ) ;
m_panelNetSpecialTimes - > Layout ( ) ;
netDaysGridSizer - > Fit ( m_panelNetSpecialTimes ) ;
networkTimesBoxSizer - > Add ( m_panelNetSpecialTimes , 0 , wxEXPAND | wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTabSizer - > Add ( networkTimesBoxSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
networkTab - > SetSizer ( networkTabSizer ) ;
networkTab - > Layout ( ) ;
networkTabSizer - > Fit ( networkTab ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
return networkTab ;
}
2011-04-28 13:00:04 +00:00
2010-06-02 17:44:38 +00:00
wxPanel * CDlgAdvPreferencesBase : : createDiskAndMemoryTab ( wxNotebook * notebook )
{
wxPanel * diskMemoryTab = new wxPanel ( notebook , ID_TABPAGE_DISK , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
diskMemoryTab - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxBoxSizer * diskAndMemoryBoxSizer = new wxBoxSizer ( wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * diskUsageBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( diskMemoryTab , - 1 , _ ( " Disk usage " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * diskUsageGridSizer = new wxFlexGridSizer ( 5 , 3 , 0 , 0 ) ;
diskUsageGridSizer - > AddGrowableCol ( 2 ) ;
diskUsageGridSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
diskUsageGridSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText40 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
diskUsageGridSizer - > Add ( m_staticText40 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtDiskMaxSpace = new wxTextCtrl ( diskMemoryTab , ID_TXTDISKMAXSPACE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtDiskMaxSpace - > SetToolTip ( _ ( " the maximum disk space used by BOINC (in Gigabytes) " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskUsageGridSizer - > Add ( m_txtDiskMaxSpace , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText41 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Gigabytes disk space " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
diskUsageGridSizer - > Add ( m_staticText41 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText42 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Leave at least " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
diskUsageGridSizer - > Add ( m_staticText42 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtDiskLeastFree = new wxTextCtrl ( diskMemoryTab , ID_TXTDISKLEASTFREE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtDiskLeastFree - > SetToolTip ( _ ( " BOINC leaves at least this amount of disk space free (in Gigabytes) " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskUsageGridSizer - > Add ( m_txtDiskLeastFree , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText43 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Gigabytes disk space free " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
diskUsageGridSizer - > Add ( m_staticText43 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText44 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
diskUsageGridSizer - > Add ( m_staticText44 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtDiskMaxOfTotal = new wxTextCtrl ( diskMemoryTab , ID_TXTDISKMAXOFTOTAL , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
m_txtDiskMaxOfTotal - > SetToolTip ( _ ( " BOINC uses at most this percentage of total disk space " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskUsageGridSizer - > Add ( m_txtDiskMaxOfTotal , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2008-02-25 20:11:30 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText45 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " % of total disk space " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
diskUsageGridSizer - > Add ( m_staticText45 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText46 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Tasks checkpoint to disk at most every " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
diskUsageGridSizer - > Add ( m_staticText46 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtDiskWriteToDisk = new wxTextCtrl ( diskMemoryTab , ID_TXTDISKWRITETODISK , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
diskUsageGridSizer - > Add ( m_txtDiskWriteToDisk , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText47 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " seconds " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
diskUsageGridSizer - > Add ( m_staticText47 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText48 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
diskUsageGridSizer - > Add ( m_staticText48 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtDiskMaxSwap = new wxTextCtrl ( diskMemoryTab , ID_TXTDISKWRITETODISK , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
diskUsageGridSizer - > Add ( m_txtDiskMaxSwap , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2008-02-25 20:11:30 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText49 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " % of page file (swap space) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
diskUsageGridSizer - > Add ( m_staticText49 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskUsageBoxSizer - > Add ( diskUsageGridSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskAndMemoryBoxSizer - > Add ( diskUsageBoxSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxStaticBoxSizer * memoryUsageBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( diskMemoryTab , - 1 , _ ( " Memory usage " ) ) , wxVERTICAL ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
wxFlexGridSizer * memoryUsageGridSizer = new wxFlexGridSizer ( 3 , 3 , 0 , 0 ) ;
memoryUsageGridSizer - > AddGrowableCol ( 2 ) ;
memoryUsageGridSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
memoryUsageGridSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText50 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
memoryUsageGridSizer - > Add ( m_staticText50 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtMemoryMaxInUse = new wxTextCtrl ( diskMemoryTab , ID_TXTMEMORYMAXINUSE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
memoryUsageGridSizer - > Add ( m_txtMemoryMaxInUse , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2009-02-25 17:51:32 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText51 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " % when computer is in use " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
memoryUsageGridSizer - > Add ( m_staticText51 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_staticText52 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " Use at most " ) , wxDefaultPosition , wxDefaultSize , wxALIGN_RIGHT ) ;
memoryUsageGridSizer - > Add ( m_staticText52 , 0 , wxALL | wxEXPAND , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_txtMemoryMaxOnIdle = new wxTextCtrl ( diskMemoryTab , ID_TXTMEMORYMAXONIDLE , wxT ( " " ) , wxDefaultPosition , wxSize ( 50 , - 1 ) , wxTE_RIGHT ) ;
memoryUsageGridSizer - > Add ( m_txtMemoryMaxOnIdle , 0 , wxALL , 1 ) ;
2007-04-02 18:04:54 +00:00
2009-02-25 17:51:32 +00:00
/*xgettext:no-c-format*/
2010-06-02 17:44:38 +00:00
m_staticText53 = new wxStaticText ( diskMemoryTab , ID_DEFAULT , _ ( " % when computer is idle " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
memoryUsageGridSizer - > Add ( m_staticText53 , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
memoryUsageBoxSizer - > Add ( memoryUsageGridSizer , 0 , wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkMemoryWhileSuspended = new wxCheckBox ( diskMemoryTab , ID_CHKMEMORYWHILESUSPENDED , _ ( " Leave applications in memory while suspended " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
m_chkMemoryWhileSuspended - > SetToolTip ( _ ( " if checked, suspended work units are left in memory " ) ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
memoryUsageBoxSizer - > Add ( m_chkMemoryWhileSuspended , 0 , wxALL , 5 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskAndMemoryBoxSizer - > Add ( memoryUsageBoxSizer , 0 , wxALL | wxEXPAND , 1 ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
diskMemoryTab - > SetSizer ( diskAndMemoryBoxSizer ) ;
diskMemoryTab - > Layout ( ) ;
diskAndMemoryBoxSizer - > Fit ( diskMemoryTab ) ;
2007-04-02 18:04:54 +00:00
2010-06-02 17:44:38 +00:00
return diskMemoryTab ;
2007-01-17 18:13:33 +00:00
}
2011-04-28 13:00:04 +00:00
wxPanel * CDlgAdvPreferencesBase : : createExclusiveAppsTab ( wxNotebook * notebook )
{
wxPanel * exclusiveAppsTab = new wxPanel ( notebook , ID_TABPAGE_EXCLAPPS , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
exclusiveAppsTab - > SetExtraStyle ( wxWS_EX_VALIDATE_RECURSIVELY ) ;
wxBoxSizer * exclusiveAppsTabBoxSizer = new wxBoxSizer ( wxVERTICAL ) ;
wxStaticBoxSizer * exclusiveAppsListBoxSizer = new wxStaticBoxSizer ( new wxStaticBox ( exclusiveAppsTab , - 1 , _ ( " Suspend processor and network usage when these applications are running: " ) ) , wxVERTICAL ) ;
wxBoxSizer * exclusiveAppsBoxSizer = new wxBoxSizer ( wxVERTICAL ) ;
2011-04-29 12:04:07 +00:00
m_exclusiveApsListBox = new wxListBox ( exclusiveAppsTab , ID_LISTBOX_EXCLAPPS , wxDefaultPosition , wxDefaultSize , 0 , NULL , wxLB_EXTENDED | wxLB_NEEDED_SB | wxLB_SORT ) ;
2011-04-28 13:00:04 +00:00
exclusiveAppsBoxSizer - > Add ( m_exclusiveApsListBox , 1 , wxALL | wxEXPAND , 5 ) ;
wxBoxSizer * exclusiveAppsButtonSizer = new wxBoxSizer ( wxHORIZONTAL ) ;
2011-04-29 12:04:07 +00:00
m_addExclusiveAppButton = new wxButton ( exclusiveAppsTab , ID_ADDEXCLUSIVEAPPBUTTON , _ ( " Add " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2011-04-28 13:00:04 +00:00
m_addExclusiveAppButton - > SetToolTip ( _ ( " Add an application to this list " ) ) ;
exclusiveAppsButtonSizer - > Add ( m_addExclusiveAppButton , 0 , wxRIGHT , 5 ) ;
exclusiveAppsButtonSizer - > AddStretchSpacer ( ) ;
2011-04-29 12:04:07 +00:00
m_removeExclusiveAppButton = new wxButton ( exclusiveAppsTab , ID_REMOVEEXCLUSIVEAPPBUTTON , _ ( " Remove " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
2011-04-28 13:00:04 +00:00
m_removeExclusiveAppButton - > SetToolTip ( _ ( " Remove an application from this list " ) ) ;
exclusiveAppsButtonSizer - > Add ( m_removeExclusiveAppButton , 0 , wxLEFT , 5 ) ;
exclusiveAppsBoxSizer - > Add ( exclusiveAppsButtonSizer , 0 , wxEXPAND | wxLEFT | wxRIGHT , 25 ) ;
exclusiveAppsListBoxSizer - > Add ( exclusiveAppsBoxSizer , 1 , wxEXPAND , 5 ) ;
exclusiveAppsTabBoxSizer - > Add ( exclusiveAppsListBoxSizer , 1 , wxEXPAND , 5 ) ;
exclusiveAppsTabBoxSizer - > AddStretchSpacer ( ) ;
exclusiveAppsTab - > SetSizer ( exclusiveAppsTabBoxSizer ) ;
exclusiveAppsTab - > Layout ( ) ;
exclusiveAppsTabBoxSizer - > Fit ( exclusiveAppsTab ) ;
return exclusiveAppsTab ;
}