@@ -1082,7 +1082,8 @@ void OptionsDialog::loadSpeedTabOptions()
10821082 m_ui->timeEditScheduleFrom ->setTime (pref->getSchedulerStartTime ());
10831083 m_ui->timeEditScheduleTo ->setTime (pref->getSchedulerEndTime ());
10841084 m_ui->comboBoxScheduleDays ->setCurrentIndex (static_cast <int >(pref->getSchedulerDays ()));
1085- m_ui->checkBoxSchedulePauseSession ->setChecked (session->isSchedulePauseSessionEnabled ());
1085+ // m_ui->comboBoxScheduleActions->setCurrentIndex(static_cast<int>(session->isSchedulePauseSessionEnabled()));
1086+ m_ui->comboBoxScheduleActions ->setCurrentIndex (static_cast <int >(pref->getSchedulerSessionState ()));
10861087
10871088 m_ui->checkLimituTPConnections ->setChecked (session->isUTPRateLimited ());
10881089 m_ui->checkLimitTransportOverhead ->setChecked (session->includeOverheadInLimits ());
@@ -1106,7 +1107,7 @@ void OptionsDialog::loadSpeedTabOptions()
11061107 connect (m_ui->timeEditScheduleFrom , &QDateTimeEdit::timeChanged, this , &ThisType::enableApplyButton);
11071108 connect (m_ui->timeEditScheduleTo , &QDateTimeEdit::timeChanged, this , &ThisType::enableApplyButton);
11081109 connect (m_ui->comboBoxScheduleDays , qComboBoxCurrentIndexChanged, this , &ThisType::enableApplyButton);
1109- connect (m_ui->checkBoxSchedulePauseSession , &QAbstractButton::toggled , this , &ThisType::enableApplyButton);
1110+ connect (m_ui->comboBoxScheduleActions , qComboBoxCurrentIndexChanged , this , &ThisType::enableApplyButton);
11101111
11111112 connect (m_ui->checkLimituTPConnections , &QAbstractButton::toggled, this , &ThisType::enableApplyButton);
11121113 connect (m_ui->checkLimitTransportOverhead , &QAbstractButton::toggled, this , &ThisType::enableApplyButton);
@@ -1133,7 +1134,8 @@ void OptionsDialog::saveSpeedTabOptions() const
11331134 pref->setSchedulerStartTime (m_ui->timeEditScheduleFrom ->time ());
11341135 pref->setSchedulerEndTime (m_ui->timeEditScheduleTo ->time ());
11351136 pref->setSchedulerDays (static_cast <Scheduler::Days>(m_ui->comboBoxScheduleDays ->currentIndex ()));
1136- session->setSchedulePauseSessionEnabled (m_ui->checkBoxSchedulePauseSession ->isChecked ());
1137+ pref->setSchedulerSessionState (static_cast <Scheduler::AlternativeSessionState>(m_ui->comboBoxScheduleActions ->currentIndex ()));
1138+ session->setSchedulePauseSessionEnabled (m_ui->comboBoxScheduleActions ->currentIndex ());
11371139
11381140 session->setUTPRateLimited (m_ui->checkLimituTPConnections ->isChecked ());
11391141 session->setIncludeOverheadInLimits (m_ui->checkLimitTransportOverhead ->isChecked ());
@@ -2287,10 +2289,20 @@ void OptionsDialog::on_IPSubnetWhitelistButton_clicked()
22872289 dialog->open ();
22882290}
22892291
2290- void OptionsDialog::on_groupBoxSchedule_clicked ( bool checked )
2292+ void OptionsDialog::on_comboBoxScheduleActions_currentIndexChanged ( int index )
22912293{
2292- if (!checked)
2293- {
2294- m_ui->checkBoxSchedulePauseSession ->setChecked (checked);
2294+ Scheduler::AlternativeSessionState state;
2295+ bool isPaused = false ;
2296+ switch (index) {
2297+ case 1 :
2298+ state = Scheduler::AlternativeSessionState::Paused;
2299+ isPaused = true ;
2300+ break ;
2301+ case 0 :
2302+ default :
2303+ state = Scheduler::AlternativeSessionState::Limited;
2304+ break ;
22952305 }
2306+ Preferences::instance ()->setSchedulerSessionState (state);
2307+ BitTorrent::Session::instance ()->setSchedulePauseSessionEnabled (isPaused);
22962308}
0 commit comments