diff --git a/src/preferences/options.ui b/src/preferences/options.ui index a5bf61cbe..8d8b49d08 100755 --- a/src/preferences/options.ui +++ b/src/preferences/options.ui @@ -1781,6 +1781,9 @@ + + true + 8 @@ -1808,6 +1811,9 @@ + + true + 20 diff --git a/src/preferences/options_imp.cpp b/src/preferences/options_imp.cpp index 42495f62c..055708b35 100755 --- a/src/preferences/options_imp.cpp +++ b/src/preferences/options_imp.cpp @@ -938,6 +938,10 @@ int options_imp::getMaxUploadsPerTorrent() const { void options_imp::on_buttonBox_accepted() { if (applyButton->isEnabled()) { + if (!schedTimesOk()) { + tabSelection->setCurrentRow(TAB_SPEED); + return; + } saveOptions(); applyButton->setEnabled(false); this->hide(); @@ -949,6 +953,10 @@ void options_imp::on_buttonBox_accepted() { void options_imp::applySettings(QAbstractButton* button) { if (button == applyButton) { + if (!schedTimesOk()) { + tabSelection->setCurrentRow(TAB_SPEED); + return; + } saveOptions(); emit status_changed(); } @@ -1240,7 +1248,7 @@ QString options_imp::webUiPassword() const void options_imp::showConnectionTab() { - tabSelection->setCurrentRow(2); + tabSelection->setCurrentRow(TAB_CONNECTION); } void options_imp::on_btnWebUiCrt_clicked() { @@ -1397,3 +1405,19 @@ void options_imp::toggleAnonymousMode(bool enabled) checkUPnP->setEnabled(true); } } + +bool options_imp::schedTimesOk() { + QString msg; + + if (schedule_from->time() == schedule_to->time()) + msg = tr("The start time and the end time can't be the same."); + else if (schedule_from->time() > schedule_to->time()) + msg = tr("The start time can't be after the end time."); + + if (!msg.isEmpty()) { + QMessageBox::critical(this, tr("Time Error"), msg); + return false; + } + + return true; +} diff --git a/src/preferences/options_imp.h b/src/preferences/options_imp.h index 59be8be36..720707e81 100755 --- a/src/preferences/options_imp.h +++ b/src/preferences/options_imp.h @@ -157,6 +157,7 @@ private: private: void setSslKey(const QByteArray &key, bool interactive = true); void setSslCertificate(const QByteArray &cert, bool interactive = true); + bool schedTimesOk(); private: QButtonGroup choiceLanguage;