QTimeZone merged for 5.2

Kevin Ottens ervin at kde.org
Mon Oct 7 11:03:58 UTC 2013


Hello,

On Thursday 03 October 2013 18:15:22 John Layt wrote:
> On 24 September 2013 19:24, Kevin Ottens <ervin at kde.org> wrote:
> > On Tuesday 24 September 2013 19:03:21 John Layt wrote:
> >> I'll do some analysis on the use of all the widgets and what ones are
> >> worth keeping, and look at the Qt widgets to see if they're worth
> >> switching to, if not before then at Qt Dev Days / Qt Contributors Day.
> > 
> > OK, I'll ignore this part of KDE4Attic then and proceed with the rest. We
> > really need to put this issue to a rest, it's been lingering for way too
> > long. Really looking forward to your analysis!
> 
> Replying to all the list, damn gmail not knowing about mailing lists :-\
> 
> And here's my analysis :-)
> 
> tl;dr:
> * Port KDateTimeEdit, KDatePicker, KDateTable and KTimeZoneWidget to Qt5.
> * Move KDateTimeWidget, KDateWidget, KDateComboBox and KTimeComboBox
> to kde4support
> 
> General rule:
> Any widget that uses KDateTime, KCalendarSystem, KTimeZone, or KLocale
> must either go to kde4support or be ported.  Porting would require
> removing all uses of these K classes and using QDateTime, QTimeZone
> and QLocale instead.  KCalendarSystem would be replaced by using
> QLocale, as QLocale will embed the QCalendarSystem class to be used,
> as well as translations, formatters, etc.  The widgets calendar api
> setCalendar(), setCalendarSystem() and calendar() would be replaced by
> setLocale() and locale().

OK, good to know.

> No apps I checked currently use the calendar api on the widgets.  Internal
> code accessing date/time values like day() via KGlobal::calendar() would
> change to directly accessing QDate or QTime for now, after Qt 5.3 they would
> then need changing again to use QCalendarSystem via QLocale::calendar().

OK.
 
> Method: Checked out all of the KDE SC, plus major gui apps from
> extragear and calligra, then grepped for the class names.
> 
> Visual guide: https://www.dropbox.com/s/qkdgo5s68pg6tp6/KDateWidgets.png
> 
> KDateTimeEdit
> - My new widget to replace many local widgets, added in last kdelibs release
> - Can replace KDateComboBox, KTimeComboBox, api is almost the same - Not
> used anywhere!?!
> - API uses QDate, QTime, KDateTime, KCalendarSystem, KTimeZone
> - Suggest: Port to Qt5
> - KDE4 era apps can start pre-porting?
> - Or add to Qt?

OK, let's port to Qt5 and then move in KWidgetsAddons.

> KDateTimeWidget
> - Used 8 times
> - API uses QDateTime
> - Poor UX
> - Suggest: kde4support, replace with KDateTimeEdit
> 
> KDateWidget
> - Used 6 times
> - API uses QDate, KCalendarSystem
> - Poor UX
> - Suggest: kde4support, replace with KDateTimeEdit
> 
> KDateComboBox
> - Used 30 times, 29 in kdepim
> - API uses QDate, KCalendarSystem, KLocale::DateFormat
> - Forked by several apps due to lack of features, KDateTimeEdit
> written to replace
> - Suggest: kde4support, replace with KDateTimeEdit
> 
> KTimeComboBox
> - Used 10 times, all kdepim
> - API uses QTime, KLocale formats
> - Forked by several apps due to lack of features, KDateTimeEdit
> written to replace
> - Suggest: kde4support, replace with KDateTimeEdit

OK, can all go in kde4support IMO. Makes for poor widgets in the first place.

> KDatePicker
> - Used about 20 times, but hard to tell due to forks and wrappers
> - Forked and/or wrapped by several apps due to lack of features, needs
> to be reviewed
> - Uses QDate, KCalendarSystem
> - Suggest: Port to Qt5

OK, let's port to Qt5 and then move in KWidgetsAddons.

> KDateTable
> - Used directly 2 times, but is part of KDatePicker
> - Forked and/or wrapped by couple apps due to lack of features, needs
> to be reviewed
> - API uses QDate, KCalendarSystem
> - Suggest: Port to Qt5
> - Maybe make private, have flag on KDatePicker to hide chrome?
> - Make KPopupFrame private?
> - Make KDateVaidator private?

What does it bring compared to QCalendarWidget? Couldn't KDatePicker use 
QCalendarWidget instead?

> KTimeZoneWidget
> - Used 4 times
> - API uses KTimeZone
> - Unlikely to be included in Qt, so needed in KF5
> - API looks a little old fashioned, users need major rewrite anyway
> for QTimeZone
> - Suggest: Port to Qt5?  Or start anew?

Eew, indeed it inherits publicly from QTreeWidget. I would say we can move it 
in kde4support renamed as K4TimeZoneWidget... but we need to come up with an 
alternative as it's used two times in the workspace.

Thanks a lot for the work done.

Cheers.
-- 
Kévin Ottens, http://ervin.ipsquad.net

Sponsored by KDAB to work on KDE Frameworks
KDAB - proud supporter of KDE, http://www.kdab.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131007/edb95566/attachment.sig>


More information about the Kde-frameworks-devel mailing list