#include "FileZilla.h"
#include "Options.h"
#include "settingsdialog.h"
#include "optionspage.h"
#include "optionspage_transfer.h"
bool COptionsPageTransfer::LoadPage()
{
bool failure = false;
SetTextFromOption(XRCID("ID_NUMTRANSFERS"), OPTION_NUMTRANSFERS, failure);
SetTextFromOption(XRCID("ID_NUMDOWNLOADS"), OPTION_CONCURRENTDOWNLOADLIMIT, failure);
SetTextFromOption(XRCID("ID_NUMUPLOADS"), OPTION_CONCURRENTUPLOADLIMIT, failure);
SetTextFromOption(XRCID("ID_TIMEOUT"), OPTION_TIMEOUT, failure);
SetTextFromOption(XRCID("ID_DOWNLOADLIMIT"), OPTION_SPEEDLIMIT_INBOUND, failure);
SetTextFromOption(XRCID("ID_UPLOADLIMIT"), OPTION_SPEEDLIMIT_OUTBOUND, failure);
SetChoice(XRCID("ID_BURSTTOLERANCE"), m_pOptions->GetOptionVal(OPTION_SPEEDLIMIT_BURSTTOLERANCE), failure);
return !failure;
}
bool COptionsPageTransfer::SavePage()
{
SetOptionFromText(XRCID("ID_NUMTRANSFERS"), OPTION_NUMTRANSFERS);
SetOptionFromText(XRCID("ID_NUMDOWNLOADS"), OPTION_CONCURRENTDOWNLOADLIMIT);
SetOptionFromText(XRCID("ID_NUMUPLOADS"), OPTION_CONCURRENTUPLOADLIMIT);
SetOptionFromText(XRCID("ID_TIMEOUT"), OPTION_TIMEOUT);
SetOptionFromText(XRCID("ID_DOWNLOADLIMIT"), OPTION_SPEEDLIMIT_INBOUND);
SetOptionFromText(XRCID("ID_UPLOADLIMIT"), OPTION_SPEEDLIMIT_OUTBOUND);
m_pOptions->SetOption(OPTION_SPEEDLIMIT_BURSTTOLERANCE, GetChoice(XRCID("ID_BURSTTOLERANCE")));
return true;
}
bool COptionsPageTransfer::Validate()
{
long tmp;
wxTextCtrl* pCtrl;
pCtrl = XRCCTRL(*this, "ID_NUMTRANSFERS", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || tmp < 1 || tmp > 10)
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter a number between 1 and 10 for the number of concurrent transfers."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
pCtrl = XRCCTRL(*this, "ID_NUMDOWNLOADS", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || tmp < 0 || tmp > 10)
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter a number between 0 and 10 for the number of concurrent downloads."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
pCtrl = XRCCTRL(*this, "ID_NUMUPLOADS", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || tmp < 0 || tmp > 10)
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter a number between 0 and 10 for the number of concurrent uploads."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
pCtrl = XRCCTRL(*this, "ID_TIMEOUT", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || ((tmp < 5 || tmp > 9999) && tmp != 0))
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter a timeout between 5 and 9999 seconds or 0 to disable timeouts."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
pCtrl = XRCCTRL(*this, "ID_DOWNLOADLIMIT", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || (tmp < 0))
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter a download speedlimit greater or equal to 0 KB/s."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
pCtrl = XRCCTRL(*this, "ID_UPLOADLIMIT", wxTextCtrl);
if (!pCtrl->GetValue().ToLong(&tmp) || (tmp < 0))
{
pCtrl->SetFocus();
wxMessageBox(_("Please enter an upload speedlimit greater or equal to 0 KB/s."), validationFailed, wxICON_EXCLAMATION, this);
return false;
}
return true;
}
syntax highlighted by Code2HTML, v. 0.9.1