int CBOINCDialUpManager::Disconnect() { CMainDocument* pDoc = wxGetApp().GetDocument(); CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogMessage = wxEmptyString; GLOBAL_PREFS_MASK mask; wxASSERT(pDoc); wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::Disconnect - Connection Detected, disconnect requested via the CC.")); // Update current working preferences (including any overrides) from client pDoc->rpc.get_global_prefs_working_struct(pDoc->state.global_prefs, mask); if (pDoc->state.global_prefs.hangup_if_dialed) { wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::Disconnect - Connection Detected, Don't need the network, Hanging up.")); if (m_pDialupManager->HangUp()) { // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s has successfully disconnected from the Internet."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, true ); m_bConnectedSuccessfully = false; } else { // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s failed to disconnected from the Internet."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR ); } } return 0; }
int CBOINCDialUpManager::ConnectionFailed() { CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogMessage = wxEmptyString; wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s failed to connect to the Internet."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR, true ); m_bConnectedSuccessfully = false; return 0; }
void CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CMainDocument* pDoc = wxGetApp().GetDocument(); wxString strConnectedCompter = wxEmptyString; wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert - Function Begin")); // Did BOINC crash on local computer? If so restart it and reconnect. pDoc->GetConnectedComputerName(strConnectedCompter); if (pDoc->IsComputerNameLocal(strConnectedCompter)) { if (pDoc->m_pClientManager->AutoRestart()) { boinc_sleep(0.5); // Allow time for Client to restart if (pDoc->m_pClientManager->IsBOINCCoreRunning()) { pDoc->Reconnect(); return; } } else { // Don't ask whether to reconnect to local client if it is not running if (!pDoc->m_pClientManager->IsBOINCCoreRunning()) { return; } } } // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Connection Status"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2nd %s is the project name // i.e. 'BOINC', 'GridRepublic' // 3nd %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is not currently connected to a %s client.\nPlease use the 'Advanced\\Select Computer...' menu option to connect up to a %s client.\nTo connect up to your local computer please use 'localhost' as the host name."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); ShowAlert( strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR ); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowNotCurrentlyConnectedAlert - Function End")); }
int CBOINCDialUpManager::NotifyUserNeedConnection(bool bNotificationOnly) { CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxTimeSpan tsLastDialupAlertSent; wxString strDialogMessage = wxEmptyString; wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); tsLastDialupAlertSent = wxDateTime::Now() - m_dtLastDialupAlertSent; if ((tsLastDialupAlertSent.GetMinutes() >= pFrame->GetReminderFrequency()) && (pFrame->GetReminderFrequency() != 0)) { wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::NotifyUserNeedConnection - Manager not shown, notify instead")); m_dtLastDialupAlertSent = wxDateTime::Now(); #ifdef __WXWIN__ // 1st %s is the project name // i.e. 'BOINC', 'GridRepublic' // 2st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogMessage.Printf( _("%s needs to connect to the Internet. Please click to open %s."), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str() ); #else // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is unable to communicate with a project and needs an Internet connection.\n" "Please connect to the Internet, then select the 'Do network communications' " "item from the Advanced menu."), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, bNotificationOnly ); } return 0; }
void CBOINCBaseFrame::ShowDaemonStartFailedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowDaemonStartFailedAlert - Function Begin")); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Daemon Start Failed"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' #ifdef __WXMSW__ strDialogMessage.Printf( _("%s is not able to start a %s client.\nPlease launch the Control Panel->Administative Tools->Services applet and start the BOINC service."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #else strDialogMessage.Printf( _("%s is not able to start a %s client.\nPlease start the daemon and try again."), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif ShowAlert( strDialogTitle, strDialogMessage, wxOK | wxICON_ERROR ); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowDaemonStartFailedAlert - Function End")); }
bool CDlgOptions::Create(wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style) { ////@begin CDlgOptions member initialisation m_LanguageSelectionCtrl = NULL; m_ReminderFrequencyCtrl = NULL; m_EnableBOINCManagerAutoStartCtrl = NULL; m_EnableBOINCManagerExitMessageCtrl = NULL; m_DialupStaticBoxCtrl = NULL; #if defined(__WXMSW__) m_DialupConnectionsCtrl = NULL; m_DialupSetDefaultCtrl = NULL; m_DialupClearDefaultCtrl = NULL; m_DialupDefaultConnectionTextCtrl = NULL; m_DialupDefaultConnectionCtrl = NULL; #endif // __WXMSW__ m_EnableHTTPProxyCtrl = NULL; m_HTTPAddressCtrl = NULL; m_HTTPPortCtrl = NULL; m_HTTPUsernameCtrl = NULL; m_HTTPPasswordCtrl = NULL; m_EnableSOCKSProxyCtrl = NULL; m_SOCKSAddressCtrl = NULL; m_SOCKSPortCtrl = NULL; m_SOCKSUsernameCtrl = NULL; m_SOCKSPasswordCtrl = NULL; m_HTTPNoProxiesCtrl = NULL; m_SOCKSNoProxiesCtrl = NULL; ////@end CDlgOptions member initialisation m_bRetrievedProxyConfiguration = false; wxString strCaption = caption; if (strCaption.IsEmpty()) { #if 1 // I don't think we want to include the application name here strCaption.Printf(_("Options")); #else CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("Options"), pSkinAdvanced->GetApplicationShortName().c_str()); #endif } SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, strCaption, pos, size, style ); CreateControls(); ReadSettings(); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); return TRUE; }
ClientCrashDlg::ClientCrashDlg(double timeDiff) : wxDialog( NULL, wxID_ANY, wxT(""), wxDefaultPosition ) { wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; int minutes = wxMax((int)((timeDiff + 59.) / 60.), 2); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Unexpected Exit"), pSkinAdvanced->GetApplicationName().c_str() ); SetTitle(strDialogTitle.c_str()); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("The %s client has exited unexpectedly 3 times within the last %d minutes.\nWould you like to restart it again?"), pSkinAdvanced->GetApplicationShortName().c_str(), minutes ); wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL ); icon_text->Add( CreateTextSizer( strDialogMessage ), 0, wxALIGN_CENTER | wxLEFT, 10 ); topsizer->Add( icon_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 ); wxStdDialogButtonSizer *sizerBtn = CreateStdDialogButtonSizer(wxYES | wxNO | wxHELP); SetEscapeId(wxID_NO); // Changes return value of NO button to wxID_CANCEL if ( sizerBtn ) topsizer->Add(sizerBtn, 0, wxEXPAND | wxALL, 10 ); SetAutoLayout( true ); SetSizer( topsizer ); topsizer->SetSizeHints( this ); topsizer->Fit( this ); wxSize size( GetSize() ); if (size.x < size.y*3/2) { size.x = size.y*3/2; SetSize( size ); } Centre( wxBOTH | wxCENTER_FRAME); }
bool CDlgPreferences::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); SetExtraStyle(GetExtraStyle()|wxDIALOG_EX_CONTEXTHELP|wxWS_EX_BLOCK_EVENTS); wxDialog::Create( parent, id, caption, pos, size, style ); // Initialize Application Title wxString strCaption = caption; if (strCaption.IsEmpty()) { strCaption.Printf(_("%s - Preferences"), pSkinAdvanced->GetApplicationShortName().c_str()); } SetTitle(strCaption); // Initialize Application Icon wxIconBundle icons; icons.AddIcon(*pSkinAdvanced->GetApplicationIcon()); icons.AddIcon(*pSkinAdvanced->GetApplicationIcon32()); SetIcons(icons); Freeze(); SetBackgroundStyle(wxBG_STYLE_CUSTOM); SetForegroundColour(*wxBLACK); #ifdef __WXDEBUG__ SetBackgroundColour(wxColour(255, 0, 255)); #endif m_pBackgroundPanel = new CPanelPreferences(this); wxBoxSizer* itemBoxSizer = new wxBoxSizer(wxVERTICAL); SetSizer(itemBoxSizer); itemBoxSizer->Add(m_pBackgroundPanel, 0, wxGROW, 0); GetSizer()->Fit(this); GetSizer()->SetSizeHints(this); Centre(); SetEscapeId(wxID_CANCEL); Thaw(); return true; }
int CBOINCDialUpManager::NetworkAvailable() { CMainDocument* pDoc = wxGetApp().GetDocument(); CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strDialogMessage = wxEmptyString; wxASSERT(pDoc); wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::NetworkAvailable - Connection Detected, notifing user of update to all projects")); m_bNotifyConnectionAvailable = false; // We are already online but BOINC for some reason is in a state // where it belives it has some pending work to do, so give it // a nudge // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s has detected it is now connected to the Internet.\n" "Updating all projects and retrying all transfers."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, true ); // Signal BOINC to update all projects and transfers. pDoc->rpc.network_available(); return 0; }
void CDlgEventLog::CreateControls() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxFlexGridSizer* itemFlexGridSizer2 = new wxFlexGridSizer(2, 1, 0, 0); itemFlexGridSizer2->AddGrowableRow(0); itemFlexGridSizer2->AddGrowableCol(0); SetSizer(itemFlexGridSizer2); m_pList = new CDlgEventLogListCtrl(this, ID_SIMPLE_MESSAGESVIEW, EVENT_LOG_DEFAULT_LIST_MULTI_SEL_FLAGS); itemFlexGridSizer2->Add(m_pList, 0, wxGROW|wxALL, 5); wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer2->Add(itemBoxSizer4, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 12); m_pFilterButton = new wxButton(this, ID_TASK_MESSAGES_FILTERBYPROJECT, _("&Show only this project"), wxDefaultPosition, wxDefaultSize); itemBoxSizer4->Add(m_pFilterButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #ifdef wxUSE_CLIPBOARD wxButton* itemButton1 = new wxButton(this, ID_COPYAll, _("Copy &All"), wxDefaultPosition, wxDefaultSize ); itemButton1->SetHelpText( _("Copy all the messages to the clipboard.") ); #if wxUSE_TOOLTIPS itemButton1->SetToolTip( _("Copy all the messages to the clipboard.") ); #endif itemBoxSizer4->Add(itemButton1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_pCopySelectedButton = new wxButton(this, ID_COPYSELECTED, _("Copy &Selected"), wxDefaultPosition, wxDefaultSize ); m_pCopySelectedButton->SetHelpText( #ifdef __WXMAC__ _("Copy the selected messages to the clipboard. You can select multiple messages by holding down the shift or command key while clicking on messages.") #else _("Copy the selected messages to the clipboard. You can select multiple messages by holding down the shift or control key while clicking on messages.") #endif ); #if wxUSE_TOOLTIPS m_pCopySelectedButton->SetToolTip( #ifdef __WXMAC__ _("Copy the selected messages to the clipboard. You can select multiple messages by holding down the shift or command key while clicking on messages.") #else _("Copy the selected messages to the clipboard. You can select multiple messages by holding down the shift or control key while clicking on messages.") #endif ); #endif itemBoxSizer4->Add(m_pCopySelectedButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif wxButton* itemButton44 = new wxButton(this, wxID_OK, _("&Close"), wxDefaultPosition, wxDefaultSize); itemBoxSizer4->Add(itemButton44, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #ifndef __WXMAC__ wxContextHelpButton* itemButton45 = new wxContextHelpButton(this); itemBoxSizer4->Add(itemButton45, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #else wxButton* itemButton45 = new wxButton(this, ID_SIMPLE_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize); wxString helpTip; helpTip.Printf(_("Get help with %s"), pSkinAdvanced->GetApplicationShortName().c_str()); itemButton45->SetHelpText(helpTip); #ifdef wxUSE_TOOLTIPS itemButton45->SetToolTip(helpTip); #endif itemBoxSizer4->Add(itemButton45, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif SetFilterButtonText(); }
void CPanelPreferences::CreateControls() { CSkinSimple* pSkinSimple = wxGetApp().GetSkinManager()->GetSimple(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinSimple); wxASSERT(wxDynamicCast(pSkinSimple, CSkinSimple)); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); CPanelPreferences* itemDialog1 = this; wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL); itemDialog1->SetSizer(itemBoxSizer2); wxFlexGridSizer* itemFlexGridSizer3 = new wxFlexGridSizer(1, 1, 0, 0); itemBoxSizer2->Add(itemFlexGridSizer3, 0, wxGROW|wxALL, 5); CTransparentStaticText* itemStaticText4 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Skin"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText4->SetFont(wxFont(LARGE_FONT, wxSWISS, wxNORMAL, wxBOLD, false, _T("Arial"))); itemFlexGridSizer3->Add(itemStaticText4, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer2->Add(itemBoxSizer5, 0, wxALIGN_LEFT|wxLEFT|wxBOTTOM, 20); CTransparentStaticText* itemStaticText6 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Skin:"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText6->SetFont(wxFont(TINY_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); wxString* m_SkinSelectorCtrlStrings = NULL; m_SkinSelectorCtrl = new wxComboBox( itemDialog1, ID_SKINSELECTOR, _T(""), wxDefaultPosition, wxSize(-1, -1), 0, m_SkinSelectorCtrlStrings, wxCB_READONLY ); itemBoxSizer5->Add(m_SkinSelectorCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5); CTransparentStaticLine* itemStaticLine8 = new CTransparentStaticLine( itemDialog1, wxID_ANY, wxDefaultPosition, wxSize(300, 1), wxLI_HORIZONTAL|wxNO_BORDER ); itemStaticLine8->SetLineColor(pSkinSimple->GetStaticLineColor()); itemBoxSizer2->Add(itemStaticLine8, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT, 20); wxFlexGridSizer* itemFlexGridSizer9 = new wxFlexGridSizer(1, 1, 0, 0); itemFlexGridSizer9->AddGrowableCol(0); itemBoxSizer2->Add(itemFlexGridSizer9, 0, wxGROW|wxALL, 5); CTransparentStaticText* itemStaticText10 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Preferences"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT ); itemStaticText10->SetFont(wxFont(LARGE_FONT, wxSWISS, wxNORMAL, wxBOLD, false, _T("Arial"))); itemFlexGridSizer9->Add(itemStaticText10, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL); itemBoxSizer2->Add(itemBoxSizer11, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT, 20); wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer11->Add(itemBoxSizer12, 0, wxALIGN_LEFT|wxALL, 0); m_CustomizePreferencesCtrl = new wxCheckBox( itemDialog1, ID_CUSTOMIZEPREFERENCES, wxT(""), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_CustomizePreferencesCtrl->SetValue(false); itemBoxSizer12->Add(m_CustomizePreferencesCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); CTransparentStaticTextAssociate* itemStaticText14 = new CTransparentStaticTextAssociate( itemDialog1, wxID_ANY, _("I want to customize my preferences for this computer only."), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText14->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText14->AssociateWindow(m_CustomizePreferencesCtrl); itemBoxSizer12->Add(itemStaticText14, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText15 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Customized Preferences"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText15->SetFont(wxFont(MEDIUM_FONT, wxSWISS, wxNORMAL, wxBOLD, false, _T("Arial"))); itemBoxSizer11->Add(itemStaticText15, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5); wxFlexGridSizer* itemFlexGridSizer15 = new wxFlexGridSizer(7, 2, 0, 0); itemFlexGridSizer15->AddGrowableRow(0); itemFlexGridSizer15->AddGrowableRow(1); itemFlexGridSizer15->AddGrowableRow(2); itemFlexGridSizer15->AddGrowableRow(3); itemFlexGridSizer15->AddGrowableRow(4); itemFlexGridSizer15->AddGrowableRow(5); itemFlexGridSizer15->AddGrowableRow(6); itemFlexGridSizer15->AddGrowableCol(0); itemFlexGridSizer15->AddGrowableCol(1); itemBoxSizer11->Add(itemFlexGridSizer15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 0); CTransparentStaticText* itemStaticText16 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Do work only between:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText16->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText16->Wrap(250); itemFlexGridSizer15->Add(itemStaticText16, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer17, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0); wxString* m_WorkBetweenBeginCtrlStrings = NULL; m_WorkBetweenBeginCtrl = new wxComboBox( itemDialog1, ID_WORKBETWEENBEGIN, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_WorkBetweenBeginCtrlStrings, wxCB_READONLY ); m_WorkBetweenBeginCtrl->Enable(false); itemBoxSizer17->Add(m_WorkBetweenBeginCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText19 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("and"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText19->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer17->Add(itemStaticText19, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxString* m_WorkBetweenEndCtrlStrings = NULL; m_WorkBetweenEndCtrl = new wxComboBox( itemDialog1, ID_WORKBETWEENEND, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_WorkBetweenEndCtrlStrings, wxCB_READONLY ); m_WorkBetweenEndCtrl->Enable(false); itemBoxSizer17->Add(m_WorkBetweenEndCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText21 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Connect to internet only between:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText21->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText21->Wrap(250); itemFlexGridSizer15->Add(itemStaticText21, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer22 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer22, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0); wxString* m_ConnectBetweenBeginCtrlStrings = NULL; m_ConnectBetweenBeginCtrl = new wxComboBox( itemDialog1, ID_CONNECTBETWEENBEGIN, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_ConnectBetweenBeginCtrlStrings, wxCB_READONLY ); m_ConnectBetweenBeginCtrl->Enable(false); itemBoxSizer22->Add(m_ConnectBetweenBeginCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText24 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("and"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText24->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer22->Add(itemStaticText24, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxString* m_ConnectBetweenEndCtrlStrings = NULL; m_ConnectBetweenEndCtrl = new wxComboBox( itemDialog1, ID_CONNECTBETWEENEND, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_ConnectBetweenEndCtrlStrings, wxCB_READONLY ); m_ConnectBetweenEndCtrl->Enable(false); itemBoxSizer22->Add(m_ConnectBetweenEndCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText26 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Use no more than:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText26->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText26->Wrap(250); itemFlexGridSizer15->Add(itemStaticText26, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer27 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer27, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 0); wxString* m_MaxDiskUsageCtrlStrings = NULL; m_MaxDiskUsageCtrl = new wxComboBox( itemDialog1, ID_MAXDISKUSAGE, _T(""), wxDefaultPosition, wxSize(-1, -1), 0, m_MaxDiskUsageCtrlStrings, wxCB_READONLY ); m_MaxDiskUsageCtrl->Enable(false); itemBoxSizer27->Add(m_MaxDiskUsageCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText29 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("of disk space"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText29->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer27->Add(itemStaticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); CTransparentStaticText* itemStaticText30 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Use no more than:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText30->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText30->Wrap(250); itemFlexGridSizer15->Add(itemStaticText30, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer31, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 0); wxString* m_MaxCPUUsageCtrlStrings = NULL; m_MaxCPUUsageCtrl = new wxComboBox( itemDialog1, ID_MAXCPUUSAGE, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_MaxCPUUsageCtrlStrings, wxCB_READONLY ); m_MaxCPUUsageCtrl->Enable(false); itemBoxSizer31->Add(m_MaxCPUUsageCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText33 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("of the processor"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText33->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer31->Add(itemStaticText33, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); CTransparentStaticText* itemStaticText37 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Do work while on battery?"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText37->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText37->Wrap(250); itemFlexGridSizer15->Add(itemStaticText37, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer38 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer38, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 0); m_WorkWhileOnBatteryCtrl = new wxCheckBox( itemDialog1, ID_WORKWHILEONBATTERY, _T(""), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_WorkWhileOnBatteryCtrl->SetValue(false); m_WorkWhileOnBatteryCtrl->Enable(false); itemBoxSizer38->Add(m_WorkWhileOnBatteryCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText40 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Do work after idle for:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); itemStaticText40->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemStaticText40->Wrap(250); itemFlexGridSizer15->Add(itemStaticText40, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer41 = new wxBoxSizer(wxHORIZONTAL); itemFlexGridSizer15->Add(itemBoxSizer41, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 0); wxString* m_WorkWhenIdleCtrlStrings = NULL; m_WorkWhenIdleCtrl = new wxComboBox( itemDialog1, ID_WORKWHENIDLE, _T(""), wxDefaultPosition, wxSize(-1, -1), 0, m_WorkWhenIdleCtrlStrings, wxCB_READONLY ); m_WorkWhenIdleCtrl->Enable(false); itemBoxSizer41->Add(m_WorkWhenIdleCtrl, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5); CTransparentStaticText* itemStaticText43 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); itemStaticText43->SetFont(wxFont(SMALL_FONT, wxSWISS, wxNORMAL, wxNORMAL, false, _T("Arial"))); itemBoxSizer41->Add(itemStaticText43, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5); wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer2->Add(itemBoxSizer44, 0, wxALIGN_RIGHT|wxALL, 5); wxButton* itemButton44 = new wxButton( itemDialog1, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer44->Add(itemButton44, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); wxButton* itemButton45 = new wxButton( itemDialog1, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer44->Add(itemButton45, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #ifndef __WXMSW__ #ifdef __WXMAC__ wxButton* itemButton46 = new wxButton( this, ID_SIMPLE_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); #ifdef wxUSE_TOOLTIPS wxString helpTip; helpTip.Printf(_("Get help with %s"), pSkinAdvanced->GetApplicationShortName().c_str()); itemButton46->SetToolTip(helpTip); #endif #else wxContextHelpButton* itemButton46 = new wxContextHelpButton(this); #endif itemBoxSizer44->Add(itemButton46, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif // Set validators m_SkinSelectorCtrl->SetValidator( wxGenericValidator(& m_strSkinSelector) ); m_CustomizePreferencesCtrl->SetValidator( wxGenericValidator(& m_bCustomizedPreferences) ); m_WorkBetweenBeginCtrl->SetValidator( wxGenericValidator(& m_strWorkBetweenBegin) ); m_WorkBetweenEndCtrl->SetValidator( wxGenericValidator(& m_strWorkBetweenEnd) ); m_ConnectBetweenBeginCtrl->SetValidator( wxGenericValidator(& m_strConnectBetweenBegin) ); m_ConnectBetweenEndCtrl->SetValidator( wxGenericValidator(& m_strConnectBetweenEnd) ); m_MaxDiskUsageCtrl->SetValidator( wxGenericValidator(& m_strMaxDiskUsage) ); m_MaxCPUUsageCtrl->SetValidator( wxGenericValidator(& m_strMaxCPUUsage) ); m_WorkWhileOnBatteryCtrl->SetValidator( wxGenericValidator(& m_bWorkWhileOnBattery) ); m_WorkWhenIdleCtrl->SetValidator( wxGenericValidator(& m_strWorkWhenIdle) ); ////@end CPanelPreferences content construction }
void CDlgExitMessage::CreateControls() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strExitMessage = wxEmptyString; wxString strAlwaysExitMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); ////@begin CDlgExitMessage content construction CDlgExitMessage* itemDialog1 = this; wxFlexGridSizer* itemFlexGridSizer2 = new wxFlexGridSizer(1, 2, 0, 0); itemDialog1->SetSizer(itemFlexGridSizer2); wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL); itemFlexGridSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(3, 1, 0, 0); itemBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); #ifndef __WXMAC__ strExitMessage.Printf( _("You have requested to exit the %s,\nwhich allows you to view and manage\nthe tasks running on your computer.\n\nIf you also want to stop running the tasks,\nchoose from the following options:"), pSkinAdvanced->GetApplicationName().c_str() ); #else strExitMessage.Printf( _("This will shut down %s and its tasks until either the\n%s or the %s screen saver is run again.\n\nIn most cases, it is better just to close the %s window\nrather than to exit the application; that will allow %s to run its\ntasks at the times you selected in your preferences."), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str(), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); #endif m_DialogExitMessage = new wxStaticText; m_DialogExitMessage->Create( itemDialog1, wxID_STATIC, strExitMessage, wxDefaultPosition, wxDefaultSize, 0); itemFlexGridSizer4->Add(m_DialogExitMessage, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); itemFlexGridSizer4->Add(5, 5, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); #ifndef __WXMAC__ strAlwaysExitMessage.Printf( _("Stop running tasks when exiting the %s"), pSkinAdvanced->GetApplicationName().c_str() ); m_DialogShutdownCoreClient = new wxCheckBox; m_DialogShutdownCoreClient->Create( itemDialog1, ID_CDLGEXITMESSAGE_SHUTDOWNCORECLIENT, strAlwaysExitMessage, wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_DialogShutdownCoreClient->SetValue(false); itemFlexGridSizer4->Add(m_DialogShutdownCoreClient, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif m_DialogDisplay = new wxCheckBox; m_DialogDisplay->Create( itemDialog1, ID_CDLGEXITMESSAGE_DISPLAY, _("Remember this decision and do not show this dialog."), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE ); m_DialogDisplay->SetValue(false); itemFlexGridSizer4->Add(m_DialogDisplay, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxFlexGridSizer* itemFlexGridSizer8 = new wxFlexGridSizer(2, 1, 0, 0); itemFlexGridSizer2->Add(itemFlexGridSizer8, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_TOP|wxALL, 5); wxButton* itemButton9 = new wxButton; itemButton9->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); itemButton9->SetDefault(); itemFlexGridSizer8->Add(itemButton9, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxButton* itemButton10 = new wxButton; itemButton10->Create( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); itemFlexGridSizer8->Add(itemButton10, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); ////@end CDlgExitMessage content construction }
int CBOINCDialUpManager::Connect() { CMainDocument* pDoc = wxGetApp().GetDocument(); CBOINCBaseFrame* pFrame = wxGetApp().GetFrame(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxTimeSpan tsLastDialupRequest; int iAnswer; wxString strDialogMessage = wxEmptyString; GLOBAL_PREFS_MASK mask; wxASSERT(pDoc); wxASSERT(pFrame); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); tsLastDialupRequest = wxDateTime::Now() - m_dtLastDialupRequest; if ((tsLastDialupRequest.GetMinutes() >= pFrame->GetReminderFrequency()) && (pFrame->GetReminderFrequency() != 0)) { wxLogTrace(wxT("Function Status"), wxT("CBOINCDialUpManager::Connect - Begin connection process")); m_dtLastDialupRequest = wxDateTime::Now(); if (!pFrame->GetDialupConnectionName().empty()) { // We have a valid connection name that we can dial. // Update current working preferences (including any overrides) from client pDoc->rpc.get_global_prefs_working_struct(pDoc->state.global_prefs, mask); if(pDoc->state.global_prefs.confirm_before_connecting) { // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s needs to connect to the Internet.\nMay it do so now?"), pSkinAdvanced->GetApplicationShortName().c_str() ); iAnswer = ::wxMessageBox( strDialogMessage, m_strDialogTitle, wxYES_NO | wxICON_QUESTION, pFrame ); } else { // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is connecting to the Internet."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, true ); iAnswer = wxYES; } // Are we allow to connect? if (wxYES == iAnswer) { m_bNotifyConnectionAvailable = true; m_bConnectedSuccessfully = false; m_pDialupManager->Dial( pFrame->GetDialupConnectionName(), wxEmptyString, wxEmptyString, true ); } } else { // The user hasn't given us a valid connection to dial. Inform them // that we need a connection and that they may need to set a default // connection. // %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s couldn't do Internet communication, and no default connection is selected.\n" "Please connect to the Internet, or select a default connection\n" "using Advanced/Options/Connections."), pSkinAdvanced->GetApplicationShortName().c_str() ); pFrame->ShowAlert( m_strDialogTitle, strDialogMessage, wxOK | wxICON_INFORMATION, false ); } } return 0; }
CSimpleGUIPanel::CSimpleGUIPanel(wxWindow* parent) : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN | wxBORDER_NONE) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::CSimpleGUIPanel - Overloaded Constructor Function Begin")); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); m_taskPanel = NULL; m_projPanel = NULL; m_oldWorkCount = 0; m_bNewNoticeAlert = false; m_bNoticesButtonIsRed = false; m_irefreshCount = 0; checkForNewNoticesTimer = new wxTimer(this, ID_SIMPLEMESSAGECHECKTIMER); checkForNewNoticesTimer->Start(5000); dlgOpen = false; m_sSuspendString = _("Suspend"); m_sResumeString = _("Resume"); m_sSuspendButtonToolTip = _("Suspend Computing"); m_sResumeButtonToolTip = _("Resume Computing"); m_taskPanel = new CSimpleTaskPanel(this); m_projPanel = new CSimpleProjectPanel(this); // Box Sizer mainSizer = new wxBoxSizer(wxVERTICAL); mainSizer->AddSpacer(ADJUSTFORYDPI(68)); mainSizer->Add(m_taskPanel, 1, wxLEFT | wxRIGHT | wxEXPAND | wxALIGN_CENTER, SIDEMARGINS); mainSizer->AddSpacer(ADJUSTFORYDPI(8)); mainSizer->Add(m_projPanel, 0, wxLEFT | wxRIGHT | wxEXPAND | wxALIGN_CENTER, SIDEMARGINS); mainSizer->AddSpacer(ADJUSTFORYDPI(8)); wxBoxSizer* buttonsSizer; buttonsSizer = new wxBoxSizer( wxHORIZONTAL ); m_NoticesButton = new wxButton( this, ID_SGNOTICESBUTTON, _("Notices"), wxDefaultPosition, wxDefaultSize, 0 ); m_NoticesButton->SetToolTip( _("Open a window to view notices from projects or BOINC")); buttonsSizer->Add( m_NoticesButton, 0, wxEXPAND | wxALIGN_LEFT, 0 ); buttonsSizer->AddStretchSpacer(); int suspendWidth, resumeWidth, y; GetTextExtent(m_sSuspendString, &suspendWidth, &y); GetTextExtent(m_sResumeString, &resumeWidth, &y); m_bIsSuspended = suspendWidth > resumeWidth; m_SuspendResumeButton = new wxButton( this, ID_SGSUSPENDRESUMEBUTTON, m_bIsSuspended ? m_sSuspendString : m_sResumeString, wxDefaultPosition, wxDefaultSize, 0 ); m_SuspendResumeButton->SetToolTip(wxEmptyString); buttonsSizer->Add( m_SuspendResumeButton, 0, wxEXPAND | wxALIGN_RIGHT, 0 ); buttonsSizer->AddStretchSpacer(); m_HelpButton = new wxButton( this, ID_SIMPLE_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); buttonsSizer->Add( m_HelpButton, 0, wxEXPAND | wxALIGN_RIGHT, 0 ); wxString helpTip; helpTip.Printf(_("Get help with %s"), pSkinAdvanced->GetApplicationShortName().c_str()); m_HelpButton->SetToolTip(helpTip); mainSizer->Add( buttonsSizer, 0, wxLEFT | wxRIGHT | wxEXPAND, 2 * SIDEMARGINS ); mainSizer->AddSpacer(ADJUSTFORYDPI(10)); SetSizer(mainSizer); Layout(); mainSizer->Fit(GetParent()); SetBackgroundBitmap(); #ifdef __WXMAC__ // Tell accessibility aids to ignore this panel (but not its contents) HIObjectSetAccessibilityIgnored((HIObjectRef)GetHandle(), true); if (compareOSVersionTo(10, 7) >= 0) { m_iRedRingRadius = 4; } else { m_iRedRingRadius = 12; } #endif m_SuspendResumeButton->Disable(); OnFrameRender(); wxLogTrace(wxT("Function Start/End"), wxT("CSimpleGUIPanel::CSimpleGUIPanel - Overloaded Constructor Function End")); }
CSimpleFrame::CSimpleFrame(wxString title, wxIconBundle* icons, wxPoint position, wxSize size) : CBOINCBaseFrame((wxFrame *)NULL, ID_SIMPLEFRAME, title, position, size, wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN) { wxLogTrace(wxT("Function Start/End"), wxT("CSimpleFrame:: - Overloaded Constructor Function Begin")); // Initialize Application SetIcons(*icons); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxString strMenuName; wxString strMenuDescription; wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); // File menu wxMenu *menuFile = new wxMenu; strMenuDescription.Printf( _("Close the %s window"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuName = _("&Close window"); strMenuName += wxT("\tCtrl+W"); menuFile->Append( ID_CLOSEWINDOW, strMenuName, strMenuDescription ); strMenuDescription.Printf( _("Exit %s"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuName.Printf( _("Exit %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuFile->Append( wxID_EXIT, strMenuName, strMenuDescription ); #ifdef __WXMAC__ // wxWidgets actually puts this in the BOINCManager menu menuFile->Append( wxID_PREFERENCES, _("Preferences...") ); #endif // Skins submenu m_pSubmenuSkins = new wxMenu; BuildSkinSubmenu(m_pSubmenuSkins); // All other skin names will be appended as radio // menu items with ID_SGFIRSTSKINSELECTOR + index // View menu wxMenu *menuView = new wxMenu; menuView->Append( ID_SGSKINSELECTOR, _("Skin"), m_pSubmenuSkins, _("Select the appearance of the user interface.") ); // Skins submenu always contains the Default entry if (m_pSubmenuSkins->GetMenuItemCount() <= 1) { menuView->Enable(ID_SGSKINSELECTOR, false); } menuView->AppendSeparator(); menuView->Append( ID_CHANGEGUI, _("Advanced View...\tCtrl+Shift+A"), _("Display the advanced graphical interface.") ); // Options menu wxMenu *menuOptions = new wxMenu; menuOptions->Append( ID_PREFERENCES, _("Computing &preferences..."), _("Configure computing preferences") ); menuOptions->Append( ID_SGOPTIONS, _("&Other options..."), _("Configure display options and proxy settings") ); // Tools menu wxMenu *menuTools = new wxMenu; menuTools->Append( ID_WIZARDATTACHPROJECT, _("&Add project..."), _("Add a project") ); menuTools->AppendSeparator(); menuTools->Append( ID_EVENTLOG, _("Event Log...\tCtrl+Shift+E"), _("Display diagnostic messages.") ); // Help menu wxMenu *menuHelp = new wxMenu; strMenuName.Printf( _("%s &help"), pSkinAdvanced->GetApplicationShortName().c_str() ); strMenuDescription.Printf( _("Show information about %s"), pSkinAdvanced->GetApplicationShortName().c_str() ); menuHelp->Append( ID_HELPBOINC, strMenuName, strMenuDescription ); strMenuName.Printf( _("&%s"), pSkinAdvanced->GetApplicationName().c_str() ); strMenuDescription.Printf( _("Show information about the %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( ID_HELPBOINCMANAGER, strMenuName, strMenuDescription ); menuHelp->AppendSeparator(); strMenuName.Printf( _("%s &web site"), pSkinAdvanced->GetApplicationShortName().c_str() ); strMenuDescription.Printf( _("Show information about BOINC and %s"), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( ID_HELPBOINCWEBSITE, strMenuName, strMenuDescription ); menuHelp->AppendSeparator(); strMenuName.Printf( _("&About %s..."), pSkinAdvanced->GetApplicationName().c_str() ); menuHelp->Append( wxID_ABOUT, strMenuName, _("Licensing and copyright information.") ); // construct menu m_pMenubar = new wxMenuBar; m_pMenubar->Append( menuFile, _("&File") ); m_pMenubar->Append( menuView, _("&View") ); m_pMenubar->Append( menuOptions, _("&Options") ); m_pMenubar->Append( menuTools, _("&Tools") ); m_pMenubar->Append( menuHelp, _("&Help") ); wxMenuBar* m_pOldMenubar = GetMenuBar(); SetMenuBar(m_pMenubar); if (m_pOldMenubar) { delete m_pOldMenubar; } #ifdef __WXGTK__ // Force a redraw of the menu under Ubuntu's new interface SendSizeEvent(); #endif #ifdef __WXMAC__ // Mac needs a short delay to ensure that controls are // created in proper order to allow keyboard navigation m_iFrameRefreshRate = 1; // 1 millisecond m_pPeriodicRPCTimer->Start(m_iFrameRefreshRate); #endif m_Shortcuts[0].Set(wxACCEL_NORMAL, WXK_HELP, ID_HELPBOINCMANAGER); m_Shortcuts[1].Set(wxACCEL_CTRL|wxACCEL_SHIFT, (int)'E', ID_EVENTLOG); m_Shortcuts[2].Set(wxACCEL_CTRL|wxACCEL_SHIFT, (int)'F', ID_SGDIAGNOSTICLOGFLAGS); m_pAccelTable = new wxAcceleratorTable(3, m_Shortcuts); SetAcceleratorTable(*m_pAccelTable); dlgMsgsPtr = NULL; m_pBackgroundPanel = new CSimpleGUIPanel(this); RestoreState(); }
CDlgAdvPreferencesBase::CDlgAdvPreferencesBase( wxWindow* parent, int id, wxString title, wxPoint pos, wxSize size, int style ) : wxDialog( parent, id, title, pos, size, style ) { wxString strCaption = title; if (strCaption.IsEmpty()) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); strCaption.Printf(_("%s - Preferences"), pSkinAdvanced->GetApplicationShortName().c_str()); } this->SetExtraStyle( this->GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY ); this->Centre( wxBOTH ); this->SetTitle(strCaption); 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 ); 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 (except exclusive apps)."), wxDefaultPosition, wxDefaultSize, 0 ); 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 ); m_panelExlusiveApps = createExclusiveAppsTab(m_Notebook); m_Notebook->AddPage( m_panelExlusiveApps, _("exclusive applications"), false ); notebookSizer->Add( m_Notebook, 1, wxEXPAND | wxALL, 1 ); m_panelControls->SetSizer( notebookSizer ); m_panelControls->Layout(); notebookSizer->Fit( m_panelControls ); dialogSizer->Add( m_panelControls, 1, wxALL|wxEXPAND, 1 ); m_panelButtons = new wxPanel( this, ID_DEFAULT, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* buttonSizer = new wxBoxSizer( wxHORIZONTAL ); m_btnOK = new wxButton( m_panelButtons, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnOK->SetToolTip( _("save all values and close the dialog") ); buttonSizer->Add( m_btnOK, 0, wxALL, 5 ); m_btnCancel = new wxButton( m_panelButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnCancel->SetToolTip( _("close the dialog without saving") ); buttonSizer->Add( m_btnCancel, 0, wxALL, 5 ); m_btnHelp = new wxButton( m_panelButtons, ID_HELPBOINC, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnHelp->SetToolTip( _("shows the preferences web page") ); buttonSizer->Add( m_btnHelp, 0, wxALL, 5 ); m_panelButtons->SetSizer( buttonSizer ); m_panelButtons->Layout(); buttonSizer->Fit( m_panelButtons ); dialogSizer->Add( m_panelButtons, 0, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALL, 1 ); dialogSizer->Fit( this ); this->SetSizer( dialogSizer ); this->Layout(); }
/* Constructor */ CDlgDiagnosticLogFlags::CDlgDiagnosticLogFlags(wxWindow* parent) : wxDialog( parent, ID_ANYDIALOG, wxEmptyString, wxDefaultPosition, wxSize( DLGDIAGNOSTICS_INITIAL_WIDTH,DLGDIAGNOSTICS_INITIAL_HEIGHT ), wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CMainDocument* pDoc = wxGetApp().GetDocument(); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxString title; title.Printf( _("%s Diagnostic Log Flags"), pSkinAdvanced->GetApplicationShortName().c_str() ); SetTitle(title); // Get cc_config.xml file flags log_flags.init(); m_cc_config.defaults(); pDoc->rpc.get_cc_config(m_cc_config, log_flags); SetSizeHints(DLGDIAGNOSTICS_MIN_WIDTH, DLGDIAGNOSTICS_MIN_HEIGHT); SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY ); wxBoxSizer* bSizer1 = new wxBoxSizer( wxVERTICAL ); m_headingSizer = new wxFlexGridSizer( 1 ); m_headingText.Printf( _("These flags enable various types of diagnostic messages in the Event Log.") ); m_heading = new wxStaticText(this, wxID_ANY, m_headingText); m_headingSizer->Add(m_heading, 1, wxLEFT | wxRIGHT, 25); wxString strURL = pSkinAdvanced->GetOrganizationHelpUrl(); wxString helpURL; helpURL.Printf( wxT("%s?target=notice&controlid=log_flags"), strURL.c_str() ); m_headingSizer->Add( new wxHyperlinkCtrl( this, wxID_ANY, _("More info ..."), helpURL, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE ), 0, wxLEFT | wxRIGHT, 25 ); bSizer1->AddSpacer(7); bSizer1->Add( m_headingSizer, 0, wxEXPAND | wxALL, 5 ); bSizer1->AddSpacer(7); m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); m_scrolledWindow->SetScrollRate( 5, 5 ); m_checkboxSizer = new wxGridSizer(2, wxSize(0,3)); CreateCheckboxes(); bSizer1->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); wxBoxSizer* buttonSizer = new wxBoxSizer( wxHORIZONTAL ); wxButton* btnOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 ); btnOK->SetToolTip( _("Save all values and close the dialog") ); buttonSizer->Add( btnOK, 0, wxALL, 5 ); wxButton* btnDefaults = new wxButton( this, ID_DEFAULTSBTN, _("Defaults"), wxDefaultPosition, wxDefaultSize, 0 ); btnDefaults->SetToolTip( _("Restore default settings") ); buttonSizer->Add( btnDefaults, 0, wxALL, 5 ); wxButton* btnCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); btnCancel->SetToolTip( _("Close the dialog without saving") ); buttonSizer->Add( btnCancel, 0, wxALL, 5 ); btnCancel->SetDefault(); bSizer1->Add( buttonSizer, 0, wxALIGN_RIGHT | wxALL, 15 ); SetSizer( bSizer1 ); RestoreState(); Layout(); Center( wxBOTH ); #if defined(__WXMSW__) || defined(__WXGTK__) SetDoubleBuffered(true); #endif }
void CBOINCBaseFrame::ShowConnectionFailedAlert() { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); CMainDocument* pDoc = wxGetApp().GetDocument(); wxString strConnectedCompter = wxEmptyString; wxString strDialogTitle = wxEmptyString; wxString strDialogMessage = wxEmptyString; wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxASSERT(pDoc); wxASSERT(wxDynamicCast(pDoc, CMainDocument)); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionFailedAlert - Function Begin")); // Did BOINC crash on local computer? If so restart it and reconnect. pDoc->GetConnectedComputerName(strConnectedCompter); if (pDoc->IsComputerNameLocal(strConnectedCompter)) { if (pDoc->m_pClientManager->AutoRestart()) { boinc_sleep(0.5); // Allow time for Client to restart if (pDoc->m_pClientManager->IsBOINCCoreRunning()) { pDoc->Reconnect(); return; } } else { // Don't ask whether to reconnect to local client if it is not running if (!pDoc->m_pClientManager->IsBOINCCoreRunning()) { return; } } } // %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' strDialogTitle.Printf( _("%s - Connection Failed"), pSkinAdvanced->GetApplicationName().c_str() ); // 1st %s is the application name // i.e. 'BOINC Manager', 'GridRepublic Manager' // 2st %s is the project name // i.e. 'BOINC', 'GridRepublic' strDialogMessage.Printf( _("%s is not able to connect to a %s client.\nWould you like to try to connect again?"), pSkinAdvanced->GetApplicationName().c_str(), pSkinAdvanced->GetApplicationShortName().c_str() ); ShowAlert( strDialogTitle, strDialogMessage, wxYES_NO | wxICON_QUESTION, false, AlertProcessResponse ); // If we are minimized, set flag to show alert when maximized m_bShowConnectionFailedAlert = !IsShown(); wxLogTrace(wxT("Function Start/End"), wxT("CBOINCBaseFrame::ShowConnectionFailedAlert - Function End")); }
void CPanelPreferences::CreateControls() { CSkinSimple* pSkinSimple = wxGetApp().GetSkinManager()->GetSimple(); CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinSimple); wxASSERT(wxDynamicCast(pSkinSimple, CSkinSimple)); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxSize textCtrlSize = getTextCtrlSize(wxT("999.99")); wxSize timeCtrlSize = getTextCtrlSize(wxT("23:59 ")); CPanelPreferences* itemDialog1 = this; wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL); itemDialog1->SetSizer(itemBoxSizer2); m_bUsingLocalPrefs = doesLocalPrefsFileExist(); if (! web_prefs_url->IsEmpty()) { wxStaticBox* topSectionStaticBox = new wxStaticBox(); topSectionStaticBox->SetBackgroundStyle(wxBG_STYLE_TRANSPARENT); topSectionStaticBox->Create(this, -1, wxEmptyString); wxStaticBoxSizer* topSectionSizer = new wxStaticBoxSizer( topSectionStaticBox, wxVERTICAL ); wxBoxSizer* topControlsSizer = new wxBoxSizer( wxHORIZONTAL ); topSectionSizer->Add(topControlsSizer); wxBitmap warningBmp = GetScaledBitmapFromXPMData(warning_xpm); CTransparentStaticBitmap* bmpWarning = new CTransparentStaticBitmap( topSectionStaticBox, wxID_ANY, warningBmp, wxDefaultPosition, wxDefaultSize, 0 ); bmpWarning->SetMinSize( warningBmp.GetSize() ); topControlsSizer->Add( bmpWarning, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0 ); wxBoxSizer* legendSizer = new wxBoxSizer( wxVERTICAL ); if (m_bUsingLocalPrefs) { legendSizer->Add( new CTransparentStaticText( topSectionStaticBox, wxID_ANY, _("Using local preferences.\n" "Click \"Use web prefs\" to use web-based preferences from" ), wxDefaultPosition, wxDefaultSize, 0 ), 0, wxALL, 1 ); } else { legendSizer->Add( new CTransparentStaticText( topSectionStaticBox, wxID_ANY, _("Using web-based preferences from"), wxDefaultPosition, wxDefaultSize, 0 ), 0, wxALL, 1 ); } legendSizer->Add( new CTransparentHyperlinkCtrl( topSectionStaticBox, wxID_ANY, *web_prefs_url, *web_prefs_url, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE, wxHyperlinkCtrlNameStr, &m_backgroundBitmap ), 0, wxLEFT, 5 ); if (!m_bUsingLocalPrefs) { legendSizer->Add( new CTransparentStaticText( topSectionStaticBox, wxID_ANY, _("Set values and click Save to use local preferences instead."), wxDefaultPosition, wxDefaultSize, 0 ), 0, wxALL, 1 ); } #if 1 topSectionSizer->AddSpacer( 10 ); CTransparentStaticLine* itemStaticLine8 = new CTransparentStaticLine( topSectionStaticBox, wxID_ANY, wxDefaultPosition, wxSize(ADJUSTFORXDPI(300), 1), wxLI_HORIZONTAL|wxNO_BORDER ); itemStaticLine8->SetLineColor(pSkinSimple->GetStaticLineColor()); topSectionSizer->Add(itemStaticLine8, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT, ADJUSTFORXDPI(20)); topSectionSizer->AddSpacer( 10 ); CTransparentStaticText* itemStaticText7 = new CTransparentStaticText( topSectionStaticBox, wxID_ANY, _("For additional settings, select Computing Preferences in the Advanced View."), wxDefaultPosition, wxDefaultSize, 0 ); topSectionSizer->Add(itemStaticText7, 0, wxALL, 0); topSectionSizer->AddSpacer( 10 ); #endif topControlsSizer->Add( legendSizer, 1, wxALL, 1 ); m_btnClear = new wxButton( topSectionStaticBox, ID_SGPREFERENCESCLEAR, _("Use web prefs"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnClear->SetToolTip( _("Restore web-based preferences and close the dialog.") ); if (!m_bUsingLocalPrefs) { m_btnClear->Hide(); } topControlsSizer->Add( m_btnClear, 0, wxALIGN_BOTTOM|wxALL, 4 ); #ifdef __WXMAC__ itemBoxSizer2->Add( topSectionSizer, 0, wxTOP|wxLEFT|wxRIGHT|wxEXPAND, 10 ); #else itemBoxSizer2->Add( topSectionSizer, 0, wxALL|wxEXPAND, 5 ); #endif } wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL); itemBoxSizer2->Add(itemBoxSizer11, 0, wxLEFT, ADJUSTFORXDPI(20)); wxString ProcOnBatteriesTT(_("Check this to suspend computing on portables when running on battery power.")); m_chkProcOnBatteries = new CTransparentCheckBox( itemDialog1, ID_CHKPROCONBATTERIES, _("Suspend when computer is on battery"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxCheckBoxNameStr, &m_backgroundBitmap ); m_chkProcOnBatteries->SetToolTip(ProcOnBatteriesTT); itemBoxSizer11->Add(m_chkProcOnBatteries, 0, wxALL, 5 ); wxString ProcInUseTT(_("Check this to suspend computing and file transfers when you're using the computer.")); m_chkProcInUse = new CTransparentCheckBox( itemDialog1, ID_CHKPROCINUSE, _("Suspend when computer is in use"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxCheckBoxNameStr, &m_backgroundBitmap ); m_chkProcInUse->SetToolTip(ProcInUseTT); itemBoxSizer11->Add(m_chkProcInUse, 0, wxALL, 5 ); // min idle time wxString ProcIdleForTT(_("This determines when the computer is considered 'in use'.")); CTransparentStaticText* staticText24 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("'In use' means mouse/keyboard input in last"), wxDefaultPosition, wxDefaultSize, 0 ); m_txtProcIdleFor = new wxTextCtrl( itemDialog1, ID_TXTPROCIDLEFOR, wxEmptyString, wxDefaultPosition, textCtrlSize, wxTE_RIGHT ); CTransparentStaticText* staticText25 = new CTransparentStaticText(itemDialog1, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); addNewRowToSizer(itemBoxSizer11, ProcIdleForTT, staticText24, m_txtProcIdleFor, staticText25); /*xgettext:no-c-format*/ wxString MaxCPUTimeTT(_("Suspend/resume computing every few seconds to reduce CPU temperature and energy usage. Example: 75% means compute for 3 seconds, wait for 1 second, and repeat.")); CTransparentStaticText* staticText22 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("Use at most"), wxDefaultPosition, wxDefaultSize, 0 ); m_txtProcUseCPUTime = new wxTextCtrl( itemDialog1, ID_TXTPOCUSECPUTIME, wxEmptyString, wxDefaultPosition, textCtrlSize, wxTE_RIGHT ); /*xgettext:no-c-format*/ CTransparentStaticText* staticText23 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("% of CPU time"), wxDefaultPosition, wxDefaultSize, 0 ); addNewRowToSizer(itemBoxSizer11, MaxCPUTimeTT, staticText22, m_txtProcUseCPUTime, staticText23); wxString andString(_("and")); wxString ProcEveryDayTT(_("Compute only during a particular period each day.")); m_chkProcEveryDay = new CTransparentCheckBox( itemDialog1, ID_CHKPROCEVERYDAY, _("Compute only between"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxCheckBoxNameStr, &m_backgroundBitmap ); m_txtProcEveryDayStart = new wxTextCtrl( itemDialog1, ID_TXTPROCEVERYDAYSTART, wxEmptyString, wxDefaultPosition, timeCtrlSize, wxTE_RIGHT ); CTransparentStaticText* staticText26 = new CTransparentStaticText( itemDialog1, wxID_ANY, andString, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); m_txtProcEveryDayStop = new wxTextCtrl( itemDialog1, ID_TXTPROCEVERYDAYSTOP, wxEmptyString, wxDefaultPosition, timeCtrlSize, wxTE_RIGHT ); addNewRowToSizer( itemBoxSizer11, ProcEveryDayTT, m_chkProcEveryDay, m_txtProcEveryDayStart, staticText26, m_txtProcEveryDayStop ); wxString NetEveryDayTT(_("Transfer files only during a particular period each day.")); m_chkNetEveryDay = new CTransparentCheckBox( itemDialog1, ID_CHKNETEVERYDAY, _("Transfer files only between"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxCheckBoxNameStr, &m_backgroundBitmap ); m_txtNetEveryDayStart = new wxTextCtrl( itemDialog1, ID_TXTNETEVERYDAYSTART, wxEmptyString, wxDefaultPosition, timeCtrlSize, 0 ); CTransparentStaticText* staticText37 = new CTransparentStaticText( itemDialog1, wxID_ANY, andString, wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); m_txtNetEveryDayStop = new wxTextCtrl( itemDialog1, ID_TXTNETEVERYDAYSTOP, wxEmptyString, wxDefaultPosition, timeCtrlSize, 0 ); addNewRowToSizer(itemBoxSizer11, NetEveryDayTT, m_chkNetEveryDay, m_txtNetEveryDayStart, staticText37, m_txtNetEveryDayStop); wxString DiskMaxSpaceTT = wxEmptyString; DiskMaxSpaceTT.Printf(_("Limit the total amount of disk space used by %s."), pSkinAdvanced->GetApplicationShortName().c_str()); m_chkDiskMaxSpace = new CTransparentCheckBox ( itemDialog1, ID_CHKDISKMAXSPACE, _("Use no more than"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxCheckBoxNameStr, &m_backgroundBitmap ); m_txtDiskMaxSpace = new wxTextCtrl( itemDialog1, ID_TXTDISKMAXSPACE,wxEmptyString, wxDefaultPosition, getTextCtrlSize(wxT("9999.99")), wxTE_RIGHT ); CTransparentStaticText* staticText41 = new CTransparentStaticText( itemDialog1, wxID_ANY, _("GB of disk space"), wxDefaultPosition, wxDefaultSize, 0 ); addNewRowToSizer(itemBoxSizer11, DiskMaxSpaceTT, m_chkDiskMaxSpace, m_txtDiskMaxSpace, staticText41); wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL); itemBoxSizer2->Add(itemBoxSizer44, 0, wxALIGN_RIGHT|wxALL, ADJUSTFORXDPI(5)); wxButton* itemButton44 = new wxButton( itemDialog1, wxID_OK, _("Save"), wxDefaultPosition, wxDefaultSize, 0 ); itemButton44->SetToolTip( _("Save all values and close the dialog.") ); if (m_bUsingLocalPrefs) { itemButton44->SetDefault(); } itemBoxSizer44->Add(itemButton44, 0, wxALIGN_CENTER_VERTICAL|wxALL, ADJUSTFORXDPI(5)); wxButton* itemButton45 = new wxButton( itemDialog1, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); itemButton45->SetToolTip( _("Close the dialog without saving.") ); if (!m_bUsingLocalPrefs) { itemButton45->SetDefault(); } itemBoxSizer44->Add(itemButton45, 0, wxALIGN_CENTER_VERTICAL|wxALL, ADJUSTFORXDPI(5)); #ifndef __WXMSW__ #ifdef __WXMAC__ wxButton* itemButton46 = new wxButton( this, ID_SIMPLE_HELP, _("Help"), wxDefaultPosition, wxDefaultSize, 0 ); #ifdef wxUSE_TOOLTIPS wxString helpTip; helpTip.Printf(_("Get help with %s"), pSkinAdvanced->GetApplicationShortName().c_str()); itemButton46->SetToolTip(helpTip); #endif #else wxContextHelpButton* itemButton46 = new wxContextHelpButton(this); #endif itemBoxSizer44->Add(itemButton46, 0, wxALIGN_CENTER_VERTICAL|wxALL, ADJUSTFORXDPI(5)); #endif // Set validators m_vTimeValidator = new wxTextValidator(wxFILTER_INCLUDE_CHAR_LIST); m_vTimeValidator->SetCharIncludes(wxT("0123456789:")); m_txtProcIdleFor->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_txtProcEveryDayStart->SetValidator(*m_vTimeValidator); m_txtProcEveryDayStop->SetValidator(*m_vTimeValidator); m_txtProcUseCPUTime->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_txtNetEveryDayStart->SetValidator(*m_vTimeValidator); m_txtNetEveryDayStop->SetValidator(*m_vTimeValidator); m_txtDiskMaxSpace->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); ////@end CPanelPreferences content construction }
/* Constructor */ CDlgHiddenColumns::CDlgHiddenColumns(wxWindow* parent) : wxDialog( parent, ID_ANYDIALOG, wxEmptyString, wxDefaultPosition, wxSize( DLGDIAGNOSTICS_INITIAL_WIDTH,DLGDIAGNOSTICS_INITIAL_HEIGHT ), wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ) { CSkinAdvanced* pSkinAdvanced = wxGetApp().GetSkinManager()->GetAdvanced(); wxASSERT(pSkinAdvanced); wxASSERT(wxDynamicCast(pSkinAdvanced, CSkinAdvanced)); wxString title; title.Printf( _("%s Column Selection"), pSkinAdvanced->GetApplicationShortName().c_str() ); SetTitle(title); SetSizeHints(DLGDIAGNOSTICS_MIN_WIDTH, DLGDIAGNOSTICS_MIN_HEIGHT); SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY ); wxBoxSizer* bSizer1 = new wxBoxSizer( wxVERTICAL ); m_headingSizer = new wxGridSizer( 1 ); m_headingText.Printf( _("Select which columns %s should show."), pSkinAdvanced->GetApplicationShortName().c_str() ); m_heading = new wxStaticText(this, wxID_ANY, m_headingText); m_headingSizer->Add(m_heading, 1, wxLEFT | wxRIGHT, 25); bSizer1->AddSpacer(7); bSizer1->Add( m_headingSizer, 0, wxEXPAND | wxALL, 5 ); bSizer1->AddSpacer(7); m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); m_scrolledWindow->SetScrollRate( 5, 5 ); m_scrolledSizer = new wxBoxSizer(wxVERTICAL); CreateCheckboxes(); bSizer1->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); wxBoxSizer* buttonSizer = new wxBoxSizer( wxHORIZONTAL ); m_btnOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 ); m_btnOK->SetToolTip( _("Save all values and close the dialog") ); buttonSizer->Add( m_btnOK, 0, wxALL, 5 ); wxButton* btnDefaults = new wxButton( this, ID_DEFAULTSBTN, _("Defaults"), wxDefaultPosition, wxDefaultSize, 0 ); btnDefaults->SetToolTip( _("Restore default settings") ); buttonSizer->Add( btnDefaults, 0, wxALL, 5 ); wxButton* btnCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 ); btnCancel->SetToolTip( _("Close the dialog without saving") ); buttonSizer->Add( btnCancel, 0, wxALL, 5 ); btnCancel->SetDefault(); bSizer1->Add( buttonSizer, 0, wxALIGN_RIGHT | wxALL, 15 ); SetSizer( bSizer1 ); RestoreState(); Layout(); Center( wxBOTH ); #if defined(__WXMSW__) || defined(__WXGTK__) SetDoubleBuffered(true); #endif }