void COptionsPageEdit::SetCtrlState() { bool custom = GetRCheck(XRCID("ID_DEFAULT_CUSTOM")); XRCCTRL(*this, "ID_EDITOR", wxTextCtrl)->Enable(custom); XRCCTRL(*this, "ID_BROWSE", wxButton)->Enable(custom); XRCCTRL(*this, "ID_USEDEFAULT", wxRadioButton)->Enable(!GetRCheck(XRCID("ID_DEFAULT_NONE")) || GetRCheck(XRCID("ID_USEDEFAULT"))); }
bool COptionsPageDateFormatting::Validate() { if (GetRCheck(XRCID("ID_DATEFORMAT_CUSTOM")) && XRCCTRL(*this, "ID_CUSTOM_DATEFORMAT", wxTextCtrl)->GetValue() == _T("")) return DisplayError(_T("ID_CUSTOM_DATEFORMAT"), _("Please enter a custom date format.")); if (GetRCheck(XRCID("ID_TIMEFORMAT_CUSTOM")) && XRCCTRL(*this, "ID_CUSTOM_TIMEFORMAT", wxTextCtrl)->GetValue() == _T("")) return DisplayError(_T("ID_CUSTOM_TIMEFORMAT"), _("Please enter a custom time format.")); return true; }
CSizeFormat::_format COptionsPageSizeFormatting::GetFormat() const { if (GetRCheck(XRCID("ID_SIZEFORMAT_IEC"))) return CSizeFormat::iec; else if (GetRCheck(XRCID("ID_SIZEFORMAT_SI_BINARY"))) return CSizeFormat::si1024; else if (GetRCheck(XRCID("ID_SIZEFORMAT_SI_DECIMAL"))) return CSizeFormat::si1000; return CSizeFormat::bytes; }
void COptionsPageConnectionActive::SetCtrlState() { FindWindow(XRCID("ID_LOWESTPORT"))->Enable(GetCheck(XRCID("ID_LIMITPORTS"))); FindWindow(XRCID("ID_HIGHESTPORT"))->Enable(GetCheck(XRCID("ID_LIMITPORTS"))); int mode; if (GetRCheck(XRCID("ID_ACTIVEMODE1"))) mode = 0; else mode = GetRCheck(XRCID("ID_ACTIVEMODE2")) ? 1 : 2; FindWindow(XRCID("ID_ACTIVEIP"))->Enable(mode == 1); FindWindow(XRCID("ID_ACTIVERESOLVER"))->Enable(mode == 2); FindWindow(XRCID("ID_NOEXTERNALONLOCAL"))->Enable(mode != 0); }
bool COptionsPageConnectionFTP::SavePage() { m_pOptions->SetOption(OPTION_USEPASV, GetRCheck(XRCID("ID_PASSIVE")) ? 1 : 0); m_pOptions->SetOption(OPTION_ALLOW_TRANSFERMODEFALLBACK, GetCheck(XRCID("ID_FALLBACK")) ? 1 : 0); m_pOptions->SetOption(OPTION_FTP_SENDKEEPALIVE, GetCheck(XRCID("ID_USEKEEPALIVE")) ? 1 : 0); return true; }
bool COptionsPageEdit::SavePage() { COptions* pOptions = COptions::Get(); if (GetRCheck(XRCID("ID_DEFAULT_CUSTOM"))) pOptions->SetOption(OPTION_EDIT_DEFAULTEDITOR, _T("2") + GetText(XRCID("ID_EDITOR"))); else pOptions->SetOption(OPTION_EDIT_DEFAULTEDITOR, GetRCheck(XRCID("ID_DEFAULT_TEXT")) ? _T("1") : _T("0")); if (GetRCheck(XRCID("ID_USEDEFAULT"))) pOptions->SetOption(OPTION_EDIT_ALWAYSDEFAULT, 1); else pOptions->SetOption(OPTION_EDIT_ALWAYSDEFAULT, 0); SetOptionFromCheck(XRCID("ID_EDIT_TRACK_LOCAL"), OPTION_EDIT_TRACK_LOCAL); return true; }
bool COptionsPageProxy::SavePage() { SetOptionFromText(XRCID("ID_PROXY_HOST"), OPTION_PROXY_HOST); SetOptionFromText(XRCID("ID_PROXY_PORT"), OPTION_PROXY_PORT); SetOptionFromText(XRCID("ID_PROXY_USER"), OPTION_PROXY_USER); SetOptionFromText(XRCID("ID_PROXY_PASS"), OPTION_PROXY_PASS); int type; if (GetRCheck(XRCID("ID_PROXYTYPE_HTTP"))) type = 1; else if (GetRCheck(XRCID("ID_PROXYTYPE_SOCKS5"))) type = 2; else type = 0; m_pOptions->SetOption(OPTION_PROXY_TYPE, type); return true; }
bool COptionsPageDateFormatting::SavePage() { wxString dateFormat; if (GetRCheck(XRCID("ID_DATEFORMAT_CUSTOM"))) dateFormat = _T("2") + XRCCTRL(*this, "ID_CUSTOM_DATEFORMAT", wxTextCtrl)->GetValue(); else if (GetRCheck(XRCID("ID_DATEFORMAT_ISO"))) dateFormat = _T("1"); else dateFormat = _T("0"); m_pOptions->SetOption(OPTION_DATE_FORMAT, dateFormat); wxString timeFormat; if (GetRCheck(XRCID("ID_TIMEFORMAT_CUSTOM"))) timeFormat = _T("2") + XRCCTRL(*this, "ID_CUSTOM_TIMEFORMAT", wxTextCtrl)->GetValue(); else if (GetRCheck(XRCID("ID_TIMEFORMAT_ISO"))) timeFormat = _T("1"); else timeFormat = _T("0"); m_pOptions->SetOption(OPTION_TIME_FORMAT, timeFormat); return true; }
bool COptionsPageConnectionActive::SavePage() { SetOptionFromCheck(XRCID("ID_LIMITPORTS"), OPTION_LIMITPORTS); SetIntOptionFromText(XRCID("ID_LOWESTPORT"), OPTION_LIMITPORTS_LOW); SetIntOptionFromText(XRCID("ID_HIGHESTPORT"), OPTION_LIMITPORTS_HIGH); int mode; if (GetRCheck(XRCID("ID_ACTIVEMODE1"))) mode = 0; else mode = GetRCheck(XRCID("ID_ACTIVEMODE2")) ? 1 : 2; m_pOptions->SetOption(OPTION_EXTERNALIPMODE, mode); if (mode == 1) SetOptionFromText(XRCID("ID_ACTIVEIP"), OPTION_EXTERNALIP); else if (mode == 2) SetOptionFromText(XRCID("ID_ACTIVERESOLVER"), OPTION_EXTERNALIPRESOLVER); SetOptionFromCheck(XRCID("ID_NOEXTERNALONLOCAL"), OPTION_NOEXTERNALONLOCAL); return true; }
bool COptionsPageFtpProxy::SavePage() { SetOptionFromText(XRCID("ID_PROXY_HOST"), OPTION_FTP_PROXY_HOST); SetOptionFromText(XRCID("ID_PROXY_USER"), OPTION_FTP_PROXY_USER); SetOptionFromText(XRCID("ID_PROXY_PASS"), OPTION_FTP_PROXY_PASS); int type = 0; if (GetRCheck(XRCID("ID_PROXYTYPE_USER"))) type = 1; else if (GetRCheck(XRCID("ID_PROXYTYPE_SITE"))) type = 2; else if (GetRCheck(XRCID("ID_PROXYTYPE_OPEN"))) type = 3; else if (GetRCheck(XRCID("ID_PROXYTYPE_CUSTOM"))) { SetOptionFromText(XRCID("ID_LOGINSEQUENCE"), OPTION_FTP_PROXY_CUSTOMLOGINSEQUENCE); type = 4; } m_pOptions->SetOption(OPTION_FTP_PROXY_TYPE, type); return true; }
bool COptionsPageEdit::Validate() { bool failure = false; const bool custom = GetRCheck(XRCID("ID_DEFAULT_CUSTOM")); wxString editor; if (custom) { editor = GetText(XRCID("ID_EDITOR")); editor.Trim(true); editor.Trim(false); SetText(XRCID("EDITOR"), editor, failure); if (editor != _T("")) { wxString args; if (!UnquoteCommand(editor, args)) return DisplayError(_T("ID_EDITOR"), _("Default editor not properly quoted.")); if (editor == _T("")) return DisplayError(_T("ID_EDITOR"), _("Empty quoted string.")); if (!ProgramExists(editor)) return DisplayError(_T("ID_EDITOR"), _("The file selected as default editor does not exist.")); } } if (GetRCheck(XRCID("ID_USEDEFAULT"))) { if (GetRCheck(XRCID("ID_DEFAULT_NONE")) || (custom && editor.empty())) { return DisplayError(_T("ID_EDITOR"), _("A default editor needs to be set.")); } } return true; }
bool COptionsPageConnectionActive::Validate() { // Validate port limiting settings if (GetCheck(XRCID("ID_LIMITPORTS"))) { wxTextCtrl* pLow = XRCCTRL(*this, "ID_LOWESTPORT", wxTextCtrl); long low; if (!pLow->GetValue().ToLong(&low) || low < 1024 || low > 65535) return DisplayError(pLow, _("Lowest available port has to be a number between 1024 and 65535.")); wxTextCtrl* pHigh = XRCCTRL(*this, "ID_LOWESTPORT", wxTextCtrl); long high; if (!pHigh->GetValue().ToLong(&high) || high < 1024 || high > 65535) return DisplayError(pHigh, _("Highest available port has to be a number between 1024 and 65535.")); if (low > high) return DisplayError(pLow, _("The lowest available port has to be less or equal than the highest available port.")); } int mode; if (GetRCheck(XRCID("ID_ACTIVEMODE1"))) mode = 0; else mode = GetRCheck(XRCID("ID_ACTIVEMODE2")) ? 1 : 2; if (mode == 1) { wxTextCtrl* pActiveIP = XRCCTRL(*this, "ID_ACTIVEIP", wxTextCtrl); if (!IsIpAddress(pActiveIP->GetValue())) return DisplayError(pActiveIP, _("You have to enter a valid IP address.")); } return true; }
bool COptionsPageDateFormatting::Validate() { if (GetRCheck(XRCID("ID_DATEFORMAT_CUSTOM"))) { wxString const dateformat = XRCCTRL(*this, "ID_CUSTOM_DATEFORMAT", wxTextCtrl)->GetValue(); if (dateformat.empty()) { return DisplayError(_T("ID_CUSTOM_DATEFORMAT"), _("Please enter a custom date format.")); } if (!CDateTime::VerifyFormat(dateformat)) { return DisplayError(_T("ID_CUSTOM_DATEFORMAT"), _("The custom date format is invalid or contains unsupported format specifiers.")); } } if (GetRCheck(XRCID("ID_TIMEFORMAT_CUSTOM"))) { wxString const timeformat = XRCCTRL(*this, "ID_CUSTOM_TIMEFORMAT", wxTextCtrl)->GetValue(); if (timeformat.empty()) { return DisplayError(_T("ID_CUSTOM_TIMEFORMAT"), _("Please enter a custom time format.")); } if (!CDateTime::VerifyFormat(timeformat)) { return DisplayError(_T("ID_CUSTOM_TIMEFORMAT"), _("The custom time format is invalid or contains unsupported format specifiers.")); } } return true; }
void COptionsPageDateFormatting::SetCtrlState() { XRCCTRL(*this, "ID_CUSTOM_DATEFORMAT", wxTextCtrl)->Enable(GetRCheck(XRCID("ID_DATEFORMAT_CUSTOM"))); XRCCTRL(*this, "ID_CUSTOM_TIMEFORMAT", wxTextCtrl)->Enable(GetRCheck(XRCID("ID_TIMEFORMAT_CUSTOM"))); }
bool COptionsPageFileExists::SavePage() { enum CFileExistsNotification::OverwriteAction value; if (GetRCheck(XRCID("ID_DL_OVERWRITE"))) value = CFileExistsNotification::overwrite; else if (GetRCheck(XRCID("ID_DL_OVERWRITEIFNEWER"))) value = CFileExistsNotification::overwriteNewer; else if (GetRCheck(XRCID("ID_DL_OVERWRITESIZE"))) value = CFileExistsNotification::overwriteSize; else if (GetRCheck(XRCID("ID_DL_OVERWRITESIZEORNEWER"))) value = CFileExistsNotification::overwriteSizeOrNewer; else if (GetRCheck(XRCID("ID_DL_RESUME"))) value = CFileExistsNotification::resume; else if (GetRCheck(XRCID("ID_DL_RENAME"))) value = CFileExistsNotification::rename; else if (GetRCheck(XRCID("ID_DL_SKIP"))) value = CFileExistsNotification::skip; else value = CFileExistsNotification::ask; m_pOptions->SetOption(OPTION_FILEEXISTS_DOWNLOAD, value); if (GetRCheck(XRCID("ID_UL_OVERWRITE"))) value = CFileExistsNotification::overwrite; else if (GetRCheck(XRCID("ID_UL_OVERWRITEIFNEWER"))) value = CFileExistsNotification::overwriteNewer; else if (GetRCheck(XRCID("ID_UL_OVERWRITESIZE"))) value = CFileExistsNotification::overwriteSize; else if (GetRCheck(XRCID("ID_UL_OVERWRITESIZEORNEWER"))) value = CFileExistsNotification::overwriteSizeOrNewer; else if (GetRCheck(XRCID("ID_UL_RESUME"))) value = CFileExistsNotification::resume; else if (GetRCheck(XRCID("ID_UL_RENAME"))) value = CFileExistsNotification::rename; else if (GetRCheck(XRCID("ID_UL_SKIP"))) value = CFileExistsNotification::skip; else value = CFileExistsNotification::ask; m_pOptions->SetOption(OPTION_FILEEXISTS_UPLOAD, value); m_pOptions->SetOption(OPTION_ASCIIRESUME, GetCheck(XRCID("ID_ASCIIRESUME"))); return true; }