Browse Source

Improve the scheduler ui settings.

adaptive-webui-19844
sledgehammer999 11 years ago
parent
commit
fcebe1e485
  1. 6
      src/preferences/options.ui
  2. 26
      src/preferences/options_imp.cpp
  3. 1
      src/preferences/options_imp.h

6
src/preferences/options.ui

@ -1781,6 +1781,9 @@
</item> </item>
<item> <item>
<widget class="QTimeEdit" name="schedule_from"> <widget class="QTimeEdit" name="schedule_from">
<property name="wrapping">
<bool>true</bool>
</property>
<property name="time"> <property name="time">
<time> <time>
<hour>8</hour> <hour>8</hour>
@ -1808,6 +1811,9 @@
</item> </item>
<item> <item>
<widget class="QTimeEdit" name="schedule_to"> <widget class="QTimeEdit" name="schedule_to">
<property name="wrapping">
<bool>true</bool>
</property>
<property name="time"> <property name="time">
<time> <time>
<hour>20</hour> <hour>20</hour>

26
src/preferences/options_imp.cpp

@ -938,6 +938,10 @@ int options_imp::getMaxUploadsPerTorrent() const {
void options_imp::on_buttonBox_accepted() { void options_imp::on_buttonBox_accepted() {
if (applyButton->isEnabled()) { if (applyButton->isEnabled()) {
if (!schedTimesOk()) {
tabSelection->setCurrentRow(TAB_SPEED);
return;
}
saveOptions(); saveOptions();
applyButton->setEnabled(false); applyButton->setEnabled(false);
this->hide(); this->hide();
@ -949,6 +953,10 @@ void options_imp::on_buttonBox_accepted() {
void options_imp::applySettings(QAbstractButton* button) { void options_imp::applySettings(QAbstractButton* button) {
if (button == applyButton) { if (button == applyButton) {
if (!schedTimesOk()) {
tabSelection->setCurrentRow(TAB_SPEED);
return;
}
saveOptions(); saveOptions();
emit status_changed(); emit status_changed();
} }
@ -1240,7 +1248,7 @@ QString options_imp::webUiPassword() const
void options_imp::showConnectionTab() void options_imp::showConnectionTab()
{ {
tabSelection->setCurrentRow(2); tabSelection->setCurrentRow(TAB_CONNECTION);
} }
void options_imp::on_btnWebUiCrt_clicked() { void options_imp::on_btnWebUiCrt_clicked() {
@ -1397,3 +1405,19 @@ void options_imp::toggleAnonymousMode(bool enabled)
checkUPnP->setEnabled(true); 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;
}

1
src/preferences/options_imp.h

@ -157,6 +157,7 @@ private:
private: private:
void setSslKey(const QByteArray &key, bool interactive = true); void setSslKey(const QByteArray &key, bool interactive = true);
void setSslCertificate(const QByteArray &cert, bool interactive = true); void setSslCertificate(const QByteArray &cert, bool interactive = true);
bool schedTimesOk();
private: private:
QButtonGroup choiceLanguage; QButtonGroup choiceLanguage;

Loading…
Cancel
Save