Revision 881321

Go back to digest for 9th November 2008

Other in KDE-PIM

Thomas McGuire committed changes in /trunk/KDE/kdepim:

Merge the KMail summer of code branch back to trunk.

This brings a reworked folder tree and a new message list, which is much more powerful than the old one.

New features include grouping, multiline items and the ability to customize just about everything of the look of the message list.
Also, we have a tabbed interface for opening more than one folder at once now.

An important aspect of the new message list is that drawing speed is now fast again (there was a regression in Q3ListView that made huge folders a real pain to navigate, reading commit folders was not a nice thing to do).
There are probably more things which I forgot to list here.

Also, this is big step forward in getting rid of Qt3Support in KMail, now just some tiny bits are left.

Many thanks to SoC student Szymon Stefanek for his awesome work on his project!
I can't stress enough how great this achievment is.
He even added very good API documentation to his classes :)

This requires the lastest version of qt-copy, otherwise you'll get mysterious crashes in Qt painting code from time to time.
We hope that this patch will be added to the next Qt 4.4.x version.

And finally, this merge also brings many regressions, which is not unnatural for such a big change.
In the remaining time before the KDE 4.2 release, we'll have to work on those to get it polished and regression-free.
Help here is always needed, and is a good opportunity to start working on KMail, since many regressions are low hanging fruit.

It also means the message list and the folder tree need a bit of testing.
If you find bugs, report them under the "new message list" and "new folder tree" component of the bug tracker, thanks.

I also plan to setup a wiki page with known regressions.

File Changes

Added 66 files
  • /trunk/KDE/kdepim/kmail
  •   /commands
  •   /folderview.cpp
  •   /folderview.h
  •   /mainfolderview.cpp
  •   /mainfolderview.h
  •   /messagelistview
  •   /messagetree.cpp
  •   /messagetree.h
  •   /commands/exporttohtml.cpp
  •   /commands/exporttohtml.h
  •   /messagelistview/core
  •   /messagelistview/messageset.cpp
  •   /messagelistview/messageset.h
  •   /messagelistview/pane.cpp
  •   /messagelistview/pane.h
  •   /messagelistview/storagemodel.cpp
  •   /messagelistview/storagemodel.h
  •   /messagelistview/widget.cpp
  •   /messagelistview/widget.h
  •   /messagelistview/core/aggregation.cpp
  •   /messagelistview/core/aggregation.h
  •   /messagelistview/core/aggregationeditor.cpp
  •   /messagelistview/core/aggregationeditor.h
  •   /messagelistview/core/comboboxutils.cpp
  •   /messagelistview/core/comboboxutils.h
  •   /messagelistview/core/configureaggregationsdialog.cpp
  •   /messagelistview/core/configureaggregationsdialog.h
  •   /messagelistview/core/configureskinsdialog.cpp
  •   /messagelistview/core/configureskinsdialog.h
  •   /messagelistview/core/delegate.cpp
  •   /messagelistview/core/delegate.h
  •   /messagelistview/core/enums.h
  •   /messagelistview/core/filter.cpp
  •   /messagelistview/core/filter.h
  •   /messagelistview/core/groupheaderitem.cpp
  •   /messagelistview/core/groupheaderitem.h
  •   /messagelistview/core/item.cpp
  •   /messagelistview/core/item.h
  •   /messagelistview/core/manager.cpp
  •   /messagelistview/core/manager.h
  •   /messagelistview/core/messageitem.cpp
  •   /messagelistview/core/messageitem.h
  •   /messagelistview/core/messageitemsetmanager.cpp
  •   /messagelistview/core/messageitemsetmanager.h
  •   /messagelistview/core/model.cpp
  •   /messagelistview/core/model.h
  •   /messagelistview/core/modelinvariantindex.cpp
  •   /messagelistview/core/modelinvariantindex.h
  •   /messagelistview/core/modelinvariantrowmapper.cpp
  •   /messagelistview/core/modelinvariantrowmapper.h
  •   /messagelistview/core/optionset.cpp
  •   /messagelistview/core/optionset.h
  •   /messagelistview/core/optionseteditor.cpp
  •   /messagelistview/core/optionseteditor.h
  •   /messagelistview/core/skin.cpp
  •   /messagelistview/core/skin.h
  •   /messagelistview/core/skindelegate.cpp
  •   /messagelistview/core/skindelegate.h
  •   /messagelistview/core/skineditor.cpp
  •   /messagelistview/core/skineditor.h
  •   /messagelistview/core/storagemodelbase.cpp
  •   /messagelistview/core/storagemodelbase.h
  •   /messagelistview/core/view.cpp
  •   /messagelistview/core/view.h
  •   /messagelistview/core/widgetbase.cpp
  •   /messagelistview/core/widgetbase.h
Deleted 11 files
  • /trunk/KDE/kdepim/kmail
  •   /foldertreebase.cpp
  •   /foldertreebase.h
  •   /folderviewtooltip.h
  •   /headeritem.cpp
  •   /headeritem.h
  •   /headerlistquicksearch.cpp
  •   /headerlistquicksearch.h
  •   /kmfoldertree.cpp
  •   /kmfoldertree.h
  •   /kmheaders.cpp
  •   /kmheaders.h
Modified 61 files
  • /trunk/KDE/kdepim
  •   /kmail/accountdialog.cpp
  •   /kmail/actionscheduler.cpp
  •   /kmail/actionscheduler.h
  •   /kmail/antispamwizard.cpp
  •   /kmail/antispamwizard.h
  •   /kmail/CMakeLists.txt
  •   /kmail/configuredialog.cpp
  •   /kmail/configuredialog_p.h
  •   /kmail/expirejob.cpp
  •   /kmail/expirypropertiesdialog.cpp
  •   /kmail/expirypropertiesdialog.h
  •   /kmail/favoritefolderview.cpp
  •   /kmail/favoritefolderview.h
  •   /kmail/folderadaptor.cpp
  •   /kmail/folderrequester.cpp
  •   /kmail/folderrequester.h
  •   /kmail/folderselectiondialog.cpp
  •   /kmail/folderselectiondialog.h
  •   /kmail/folderselectiontreewidget.cpp
  •   /kmail/folderselectiontreewidget.h
  •   /kmail/folderstorage.cpp
  •   /kmail/folderstorage.h
  •   /kmail/identitydialog.cpp
  •   /kmail/kmacctcachedimap.cpp
  •   /kmail/kmacctcachedimap.h
  •   /kmail/kmacctimap.cpp
  •   /kmail/kmail.kcfg
  •   /kmail/kmail_part.cpp
  •   /kmail/kmail_part.h
  •   /kmail/kmailicalifaceimpl.cpp
  •   /kmail/kmailicalifaceimpl.h
  •   /kmail/kmcommands.cpp
  •   /kmail/kmcommands.h
  •   /kmail/kmfilteraction.cpp
  •   /kmail/kmfolder.cpp
  •   /kmail/kmfolder.h
  •   /kmail/kmfoldercachedimap.cpp
  •   /kmail/kmfolderdialog.cpp
  •   /kmail/kmfolderdialog.h
  •   /kmail/kmfolderimap.cpp
  •   /kmail/kmfoldermgr.cpp
  •   /kmail/kmfoldersearch.cpp
  •   /kmail/kmkernel.cpp
  •   /kmail/kmmainwidget.cpp
  •   /kmail/kmmainwidget.h
  •   /kmail/kmmsgbase.cpp
  •   /kmail/kmreadermainwin.cpp
  •   /kmail/kmreadermainwin.h
  •   /kmail/kmsystemtray.cpp
  •   /kmail/mailinglistpropertiesdialog.cpp
  •   /kmail/messagecopyhelper.cpp
  •   /kmail/messagecopyhelper.h
  •   /kmail/renamejob.cpp
  •   /kmail/searchwindow.cpp
  •   /kmail/searchwindow.h
  •   /kmail/util.cpp
  •   /kmail/util.h
  •   /libkdepim/foldertreewidget.cpp
  •   /libkdepim/foldertreewidget.h
  •   /libkdepim/treewidget.cpp
  •   /libkdepim/treewidget.h
138 files changed in total