Revision a285560...

Go back to digest for 25th September 2011

Features in KDE-PIM

Kevin Ottens committed changes in [kdepimlibs] akonadi/entitytreemodel_p.cpp:

Get rid of the reset/layoutChanged storm

Advertisement:
Are you tired of loosing your selection in the message list when a
filter moves a mail from your inbox to its final destination? Are you
getting blind due to the favorite folders list flickering when a bulk of
emails are moved around? Are you seeing strange crashes and kmail
getting unresponsive when you move a big chunk of emails from one folder
to another? Then this patch is made for you!

Further explanations:
Don't use the itemMoved() signals in the ETM for items anymore. It is
the right solution long term, but short term it is not usable if all
the proxy models around the ETM don't support the feature properly.

Right now most (if not all) of our proxy models transform itemMoved()
signals into layoutChanged() signals, and for instance when that
reaches the message list it simply resets the whole message list model.

Such a reset then happen for each of the item moved, potentially
flooding the system with computations for threading, but also generating
flickers in the favorite folders list or loosing the selection for the
less dramatic cases.

Downside:
Because of the move speed up, you actually see the changes now, so the
mails progressively disappearing from the source collection to appear in
the destination collection. For this to disappear we need to compress
the changes in bulks, which is ongoing work. But at least now it's
faster and more usable.

File Changes

Modified 1 files
  • akonadi/entitytreemodel_p.cpp
1 files changed in total