----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde.org/r/1378/#review2650 -----------------------------------------------------------
Ship it! long time coming; let's get this in... - Aaron On 2009-10-14 18:42:56, John Layt wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviewboard.kde.org/r/1378/ > ----------------------------------------------------------- > > (Updated 2009-10-14 18:42:56) > > > Review request for Plasma. > > > Summary > ------- > > [Requires kdelibs revision 1013825] > > Currently the Calendar and Clock applets can only display the global locale > Calendar System, usually Gregorian. However it would be useful for users to > be able to display Calendar applets with different Calendar Systems, for > example Hebrew or Hijri, similar in concept to being able to have multiple > Clock applets showing different Timezones. This change enables different > applets to display different Calendar Systems and allows the user to > configure each of these. See my blog post at > http://www.layt.net/john/blog/odysseus/displacement_activity for screen shots. > > This is primarily achieved by moving most of the calendar configuration code > from ClockApplet to CalendarTable from where it can be shared by any applet > that embeds the CalendarTable. The Calendar applet has been modified to use > the common configuration, as has the base ClockApplet class which ensures all > Clock applets do as well. [I've had some thoughts to move the generic code > from CalendarTable to a new non-gui helper class so different calendar layout > widgets could share it, but that's not needed yet]. > > The major implementation issue I have to raise is in the ClockApplet class > where I now create the CalendarTable in the init() instead of in > initExtenderExtender(), and the extender item now gets passed the already > existing CalendarTable which I believe it then manages. I _think_ this is > safe to do as we will only ever have one calendar extender and it never > appears to be deleted during the life of the applet, so I don't think the > CalendarTable could be accidentally deleted. This means there is always a > calendarWidget and calendar object so the code can be simplified in lots of > places to remove checks to see if it exists first. > > This change does not yet address the issue in the Digital Clock applet that > the displayed Date format is not correctly localised, but this involves a > number of usability issues that I think are best addressed separately. > > Changes: > > ClockApplet: > Remove all calendar configuration code and vars, call CalendarTable > implementation instead > Add convenience method calendar() for shortcut > Clean-up clipboardMenu to only have localised date/time formats, add other > calendar system options > Remove unused method caseInsensitiveLessThan() > > CalendarTable > Add all calendar configuration code and vars from ClockApplet > Add ability to set and save calendarType, special type of "locale" means > use global locale type > Improved validation > > Calendar > API to pass through calendar config calls to CalendarTable > > generalConfig.ui > Removed all calendar configuration options to new calendarConfig.ui > > calendarConfig.ui > New, has all calendar configuration options from generalConfig.ui > Added combo box to select calendar system from. > > Clock (digital applet) > Display date on clock face in correct calendar system > > CalendarApplet > Add d-> private class, use for variables > Add new shared calendar config via CalendarTable > Localise day number shown on Icon view > > [My apologies if my over-zealous clean-up of code layout and renaming makes > the diff a little hard to read in places] > > > Diffs > ----- > > trunk/KDE/kdebase/workspace/libs/plasmaclock/CMakeLists.txt 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/calendar.h 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/calendar.cpp 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/calendarConfig.ui PRE-CREATION > trunk/KDE/kdebase/workspace/libs/plasmaclock/calendartable.h 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/calendartable.cpp 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/clockapplet.h 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/clockapplet.cpp 1035179 > trunk/KDE/kdebase/workspace/libs/plasmaclock/generalConfig.ui 1035179 > > Diff: http://reviewboard.kde.org/r/1378/diff > > > Testing > ------- > > Used plasmoidviewer to add/remove/play with lots of Calendar and Clock > applets. > > > Thanks, > > John > > _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel