Revision 699386
Go back to digest for 19th August 2007Features in KDE Base
Major code clean-up of date widgets.
1) Replace calls to global calendar with local calendar to allow display of calendar systems other than global
2) Now support full date range of calendar system, e.g. for Gregorian from 2/1/4713 BC to 31/12/9999 AD
3) Don't draw day on table if not a valid date in the calendar system, and
don't allow to be selected
4) Fix lots of direct references to QDate methods with calendar methods to ensure non-Gregorian calendars work properly
5) Removed all magic numbers of 7, replaced with daysInWeek or numRows, allows calendars with more than 7 days in week
6) Renamed lots of locals to more meaningful names to improve readability
7) Simplified several algorithms, fixed others that failed for certain dates
8) Added lots of date validity checks
9) Renamed KDateInternalYearSelector to KDatePickerPrivateYearSelector and moved from KDateTable private to KDatePicker private as that's the only place it actually gets used.
10) Moved a couple of private methods in public class into private class
11) Cleaned out crufty old commented out code, removed too-verbose debug statements
Still some outstanding corner cases with the weeks combo, e.g. in year -4713, and underlying KCalendarSystem methods still relying on occasionally invalid dates in their algorithms, but is only at extremes of date range.
File Changes
- /trunk/KDE/kdelibs/kdeui/widgets/kdatepicker_p.h
- /trunk/KDE/kdelibs/kdeui/widgets/kdatetable_p.h
- /trunk/KDE/kdelibs/kdeui/widgets
- /kdatepicker.cpp
- /kdatepicker.h
- /kdatetable.cpp
- /kdatetable.h