From 0122202baae21a19aab808eab39e15551953825c Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Mon, 21 Mar 2011 17:56:16 +0100 Subject: Bugfixing QLocale::weekdays and updating manual test Reviewed-by: Denis Dzyubenko --- src/corelib/tools/qlocale.cpp | 10 +++------- tests/manual/qlocale/calendar.cpp | 10 ++-------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 5ac0cf0..2a5522a 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -2111,14 +2111,10 @@ QList QLocale::weekdays() const QList weekdays; quint16 weekendStart = d()->m_weekend_start; quint16 weekendEnd = d()->m_weekend_end; - for(int day = Qt::Monday; day <= Qt::Sunday; day++) { - if(weekendEnd > weekendStart) { - if(day < weekendStart || day > weekendEnd) + for (int day = Qt::Monday; day <= Qt::Sunday; day++) { + if ((weekendEnd >= weekendStart && (day < weekendStart || day > weekendEnd)) || + (weekendEnd < weekendStart && (day > weekendEnd && day < weekendStart))) weekdays << static_cast(day); - } else { - if(day > weekendEnd && day < weekendStart) - weekdays << static_cast(day); - } } return weekdays; } diff --git a/tests/manual/qlocale/calendar.cpp b/tests/manual/qlocale/calendar.cpp index 615e44e..bd4756e 100644 --- a/tests/manual/qlocale/calendar.cpp +++ b/tests/manual/qlocale/calendar.cpp @@ -112,14 +112,8 @@ void CalendarWidget::maximumDateChanged(const QDate &date) } bool CalendarWidget::isWeekendDay(Qt::DayOfWeek day) { - Qt::DayOfWeek start = calendar->locale().weekendStart(); - Qt::DayOfWeek end = calendar->locale().weekendEnd(); - - if (start <= day && day <= end) - return true; - if (start > end && (day >= start || day <= end)) - return true; - return false; + QList week = calendar->locale().weekdays(); + return !week.contains(day); } void CalendarWidget::updateWeekendDays() { -- cgit v0.12