Review Request 122470: Optimize DataSource

Kai Uwe Broulik kde at privat.broulik.de
Sun Feb 8 21:06:51 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122470/
-----------------------------------------------------------

(Updated Feb. 8, 2015, 9:06 nachm.)


Review request for Plasma.


Changes
-------

- Use the enum, so I suppose it's only Q_INVOKABLEs that suffer from this?
- Remove empty comment, bad habit :)


Repository: plasma-framework


Description
-------

This optimizes the DataSource Item.

- Use QQmlParserStatus to provide event compression for the setupData() method so it is only called once all the bindings have been setup, it used to be called repeatedly a lot
- Split setting up the binding outside of setupData, so connections like "connectedSources: sources" work with this new approach (that consumer thing looks like it leaks)
- Re-introduce interval alignment, this allows the clock to use a 60s interval for polling and align to the minute, need to use int since we cannot pass an enum defined in a different class
- Cache sources() and emit change signal only when it has actually changed


Diffs (updated)
-----

  src/declarativeimports/core/datasource.h 3aaa2bb 
  src/declarativeimports/core/datasource.cpp 759e5f4 

Diff: https://git.reviewboard.kde.org/r/122470/diff/


Testing
-------

Battery monitor, which does crazy things to the data source works, media controller works, and the clock is able to align to the minute. Could potentially speed up applet initialization a little.


Thanks,

Kai Uwe Broulik

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150208/fe092516/attachment-0001.html>


More information about the Plasma-devel mailing list