Store enum type in settings directly

Affected settings will be migrated to new keys so nothing should break.

PR #15800.
This commit is contained in:
Chocobo1 2021-12-06 13:53:52 +08:00 committed by GitHub
commit e3fe66d3ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 216 additions and 67 deletions

View file

@ -61,7 +61,7 @@ bool BandwidthScheduler::isTimeForAlternative() const
QTime start = pref->getSchedulerStartTime();
QTime end = pref->getSchedulerEndTime();
const QTime now = QTime::currentTime();
const int schedulerDays = pref->getSchedulerDays();
const Scheduler::Days schedulerDays = pref->getSchedulerDays();
const int day = QDate::currentDate().dayOfWeek();
bool alternative = false;
@ -75,20 +75,34 @@ bool BandwidthScheduler::isTimeForAlternative() const
{
switch (schedulerDays)
{
case EVERY_DAY:
case Scheduler::Days::EveryDay:
alternative = !alternative;
break;
case WEEK_ENDS:
case Scheduler::Days::Monday:
case Scheduler::Days::Tuesday:
case Scheduler::Days::Wednesday:
case Scheduler::Days::Thursday:
case Scheduler::Days::Friday:
case Scheduler::Days::Saturday:
case Scheduler::Days::Sunday:
{
const int offset = static_cast<int>(Scheduler::Days::Monday) - 1;
const int dayOfWeek = static_cast<int>(schedulerDays) - offset;
if (day == dayOfWeek)
alternative = !alternative;
}
break;
case Scheduler::Days::Weekday:
if ((day >= 1) && (day <= 5))
alternative = !alternative;
break;
case Scheduler::Days::Weekend:
if ((day == 6) || (day == 7))
alternative = !alternative;
break;
case WEEK_DAYS:
if ((day != 6) && (day != 7))
alternative = !alternative;
break;
default:
if (day == (schedulerDays - 2))
alternative = !alternative;
Q_ASSERT(false);
break;
}
}