📄 wxcasprefs.cpp
字号:
m_ftpRateHBoxSizer = new wxBoxSizer( wxHORIZONTAL ); m_ftpUpdateSpinButton = new wxSpinCtrl ( this, -1 ); m_ftpUpdateSpinButton->SetRange ( WxCasCte::MIN_FTP_RATE, WxCasCte::MAX_FTP_RATE ); m_ftpUpdateSpinButton->SetValue ( prefs-> Read ( WxCasCte::FTP_UPDATE_RATE_KEY, WxCasCte::DEFAULT_FTP_UPDATE_RATE ) ); m_ftpUpdateStaticText = new wxStaticText ( this, -1, _( "FTP update rate interval in minutes" ), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); m_ftpRateHBoxSizer->Add ( m_ftpUpdateSpinButton, 0, wxALL | wxALIGN_CENTER, 5 ); m_ftpRateHBoxSizer->Add ( m_ftpUpdateStaticText, 1, wxALL | wxALIGN_CENTER, 5 ); m_ftpUpdateSBoxSizer->Add ( m_ftpRateHBoxSizer, 0, wxGROW | wxALIGN_CENTER_VERTICAL | wxALL, 5 ); // Add to main sizer m_mainVBox->Add ( m_ftpUpdateSBoxSizer, 0, wxGROW | wxALIGN_CENTER | wxALL, 5 ); // Mask auto stat img disabled controls if ( ( bool ) ( prefs-> Read ( WxCasCte::ENABLE_AUTOSTATIMG_KEY, WxCasCte::DEFAULT_AUTOSTATIMG_ISENABLED ) ) ) { m_autoStatImgCheck->SetValue( TRUE ); } else { m_autoStatImgCheck->SetValue ( FALSE ); EnableAutoStatImgCtrls( FALSE ); m_ftpUpdateCheck->Enable ( FALSE ); EnableFtpUpdateCtrls( FALSE ); } // Mask Ftp update disabled controls if ( ( bool ) ( prefs-> Read ( WxCasCte::ENABLE_FTP_UPDATE_KEY, WxCasCte::DEFAULT_FTP_UPDATE_ISENABLED ) ) ) { m_ftpUpdateCheck->SetValue( TRUE ); } else { m_ftpUpdateCheck->SetValue ( FALSE ); EnableFtpUpdateCtrls( FALSE ); } // Separator line m_staticLine = new wxStaticLine ( this, -1 ); m_mainVBox->Add ( m_staticLine, 0, wxGROW | wxALIGN_CENTER | wxALL ); // Button bar m_buttonHBox = new wxBoxSizer ( wxHORIZONTAL ); m_validateButton = new wxButton ( this, ID_VALIDATE_BUTTON, wxString ( _( "Validate" ) ) ); m_cancelButton = new wxButton ( this, wxID_CANCEL, wxString ( _( "Cancel" ) ) ); m_buttonHBox->Add ( m_validateButton, 0, wxALIGN_CENTER | wxALL, 5 ); m_buttonHBox->Add ( m_cancelButton, 0, wxALIGN_CENTER | wxALL, 5 ); m_mainVBox->Add ( m_buttonHBox, 0, wxALIGN_CENTER | wxALL, 10 ); // Layout SetAutoLayout ( TRUE ); SetSizerAndFit ( m_mainVBox ); m_validateButton->SetFocus (); m_validateButton->SetDefault ();}// DestructorWxCasPrefs::~WxCasPrefs (){}// Events tableBEGIN_EVENT_TABLE ( WxCasPrefs, wxDialog )EVT_BUTTON ( ID_OSPATH_BROWSE_BUTTON, WxCasPrefs::OnOSPathBrowseButton )EVT_BUTTON ( ID_AUTOSTATIMG_BROWSE_BUTTON, WxCasPrefs::OnAutoStatImgBrowseButton )EVT_BUTTON ( ID_VALIDATE_BUTTON, WxCasPrefs::OnValidateButton )EVT_CHECKBOX ( ID_AUTOSTATIMG_CHECK, WxCasPrefs::OnAutoStatImgCheck )EVT_CHECKBOX ( ID_FTP_UPDATE_CHECK, WxCasPrefs::OnFtpUpdateCheck )END_EVENT_TABLE ()// Browse for OS Pathvoid WxCasPrefs::OnOSPathBrowseButton ( wxCommandEvent& WXUNUSED( event ) ){ const wxString &dir = wxDirSelector(_ ("Folder containing your signature file"), WxCasCte::DEFAULT_AMULESIG_PATH, wxDD_DEFAULT_STYLE, wxDefaultPosition, this); if ( !dir.empty () ) { m_osPathTextCtrl->SetValue ( dir ); }}// Browse for stat image PathvoidWxCasPrefs::OnAutoStatImgBrowseButton ( wxCommandEvent& WXUNUSED( event ) ){ const wxString & dir = wxDirSelector( _("Folder where generating the statistic image"), WxCasCte::DEFAULT_AUTOSTATIMG_PATH, wxDD_DEFAULT_STYLE, wxDefaultPosition, this); if ( !dir.empty () ) { m_autoStatImgTextCtrl->SetValue ( dir ); }}// Auto Generate Stat Image Check ButtonvoidWxCasPrefs::OnAutoStatImgCheck ( wxCommandEvent& WXUNUSED( event ) ){ if ( m_autoStatImgCheck->GetValue () ) { EnableAutoStatImgCtrls( TRUE ); m_ftpUpdateCheck->Enable ( TRUE ); if ( m_ftpUpdateCheck->GetValue () ) { EnableFtpUpdateCtrls( TRUE ); } } else { EnableAutoStatImgCtrls( FALSE ); m_ftpUpdateCheck->Enable ( FALSE ); EnableFtpUpdateCtrls( FALSE ); }}// Ftp update Check ButtonvoidWxCasPrefs::OnFtpUpdateCheck ( wxCommandEvent& WXUNUSED( event ) ){ if ( m_ftpUpdateCheck->GetValue () ) { EnableFtpUpdateCtrls( TRUE ); } else { EnableFtpUpdateCtrls( FALSE ); }}// Validate PrefsvoidWxCasPrefs::OnValidateButton ( wxCommandEvent& WXUNUSED( event ) ){ // Prefs wxConfigBase * prefs = wxConfigBase::Get(); // Write amulesig dir if ( prefs->Read ( WxCasCte::AMULESIG_PATH_KEY, WxCasCte::DEFAULT_AMULESIG_PATH ) != m_osPathTextCtrl->GetValue () ) { // Reload amulesig.dat wxFileName amulesig( m_osPathTextCtrl->GetValue (), WxCasCte::AMULESIG_FILENAME ); ( ( WxCasFrame* ) GetParent() ) ->SetAmuleSigFile( amulesig ); prefs->Write ( WxCasCte::AMULESIG_PATH_KEY, m_osPathTextCtrl->GetValue () ); } // Restart timer if refresh interval has changed if ( prefs->Read ( WxCasCte::REFRESH_RATE_KEY, WxCasCte::DEFAULT_REFRESH_RATE ) != m_refreshSpinButton->GetValue () ) { ( ( WxCasFrame* ) GetParent() ) ->ChangeRefreshPeriod( 1000 * m_refreshSpinButton->GetValue () ); // Write refresh interval prefs->Write ( WxCasCte::REFRESH_RATE_KEY, m_refreshSpinButton->GetValue () ); } // Write auto stat img state prefs->Write ( WxCasCte::ENABLE_AUTOSTATIMG_KEY, m_autoStatImgCheck->GetValue () ); // If auto stat img is enabled if ( m_autoStatImgCheck->GetValue () ) { prefs->Write ( WxCasCte::AUTOSTATIMG_DIR_KEY, m_autoStatImgTextCtrl->GetValue () ); prefs->Write ( WxCasCte::AUTOSTATIMG_TYPE_KEY, m_autoStatImgCombo->GetValue () ); // Write Ftp update state prefs->Write ( WxCasCte::ENABLE_FTP_UPDATE_KEY, m_ftpUpdateCheck->GetValue () ); // If Ftp update is enabled if ( m_ftpUpdateCheck->GetValue () ) { // Restart timer if update interval has changed if ( prefs->Read ( WxCasCte::FTP_UPDATE_RATE_KEY, WxCasCte::DEFAULT_FTP_UPDATE_RATE ) != m_ftpUpdateSpinButton->GetValue () ) { ( ( WxCasFrame* ) GetParent() ) ->ChangeFtpUpdatePeriod( 60000 * m_refreshSpinButton->GetValue () ); prefs->Write ( WxCasCte::FTP_UPDATE_RATE_KEY, m_ftpUpdateSpinButton->GetValue () ); } // Write Ftp parameters prefs->Write ( WxCasCte::FTP_URL_KEY, m_ftpUrlTextCtrl->GetValue () ); prefs->Write ( WxCasCte::FTP_PATH_KEY, m_ftpPathTextCtrl->GetValue () ); prefs->Write ( WxCasCte::FTP_USER_KEY, m_ftpUserTextCtrl->GetValue () ); prefs->Write ( WxCasCte::FTP_PASSWD_KEY, m_ftpPasswdTextCtrl->GetValue () ); } } // Force config writing prefs->Flush(); // Close window this->EndModal ( this->GetReturnCode () );}// Enable/Disable auto img ctrlsvoidWxCasPrefs::EnableAutoStatImgCtrls( bool state ){ m_autoStatImgTextCtrl->Enable ( state ); m_autoStatImgButton->Enable ( state ); m_autoStatImgCombo->Enable ( state );}// Enable/Disable Ftp update ctrlsvoidWxCasPrefs::EnableFtpUpdateCtrls( bool state ){ m_ftpUpdateSpinButton->Enable ( state ); m_ftpUpdateStaticText->Enable ( state ); m_ftpUrlTextCtrl->Enable ( state ); m_ftpUrlStaticText->Enable ( state ); m_ftpPathTextCtrl->Enable ( state ); m_ftpPathStaticText->Enable ( state ); m_ftpUserTextCtrl->Enable ( state ); m_ftpUserStaticText->Enable ( state ); m_ftpPasswdTextCtrl->Enable ( state ); m_ftpPasswdStaticText->Enable ( state );}// File_checked_for_headers
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -