Review Request 117813: Make the system tray faster
David Edmundson
david at davidedmundson.co.uk
Sun Apr 27 22:51:02 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117813/
-----------------------------------------------------------
Review request for Plasma.
Repository: plasma-workspace
Description
-------
Port QQmlListProperty to QAbstractListModel.
QQmlListProperty only has a signal that the list has changed.This means when used in a ListView every delegate has to be redone whenever a single item is inserted or removed rather than just moved.
Given TaskDelegate is not the simplest of things this has a performance gain, most noticeably on startup. Also rather than sorting all items after an insert items are inserted in the right place using qLowerBound. Now we have the correct signals we can remove the compression, they won't add anything.
Other commits:
Avoid constructing a QString for comparing, use QLatin1String for == operators.
Remove useless include
Do not construct a map inside a lessThan function
lessThan functions have to be fast.
Also Map -> Hash as we're not using order here.
Diffs
-----
applets/systemtray/package/contents/ui/ExpandedRepresentation.qml 2ef180b
applets/systemtray/package/contents/ui/PlasmoidItem.qml 0eb1687
applets/systemtray/package/contents/ui/StatusNotifierItem.qml fc889a8
applets/systemtray/package/contents/ui/TaskDelegate.qml 913d8f1
applets/systemtray/package/contents/ui/TaskListDelegate.qml 5501e02
applets/systemtray/plugin/CMakeLists.txt f6e23b4
applets/systemtray/plugin/host.h 02c5bbe
applets/systemtray/plugin/host.cpp eafd0b6
applets/systemtray/plugin/protocols/plasmoid/plasmoidtask.cpp 2b846f2
applets/systemtray/plugin/tasklistmodel.h PRE-CREATION
applets/systemtray/plugin/tasklistmodel.cpp PRE-CREATION
Diff: https://git.reviewboard.kde.org/r/117813/diff/
Testing
-------
Seems to work :)
see branch davidedmundson/faster_systray to test
Thanks,
David Edmundson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140427/8fc56bcd/attachment.html>
More information about the Plasma-devel
mailing list