Review Request: StatSyncing GSoC week 3 (squashed commits, recent on top)

Matěj Laitl matej at laitl.cz
Mon Jun 11 10:45:47 UTC 2012


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

Review request for Amarok, Bart Cerneels and Myriam Schweingruber.


Description
-------

StatSyncing: implement actual synchronization

 * add set[Rating,Playcount...] methods to StatSyncing::Track
 * implement synchronize() in TrackTuple, misc fixes in TrackTuple
 * introduce SynchronizeTracksJob and call use it -> synchronization
   is working now!

EditCapability: add set{First,Last}Played(), setPlayCount()

These are needed for statistics synchronization to work (without
hacks). I want to move setRating() and setScore() out of Meta::Track
to EditCapability in future, too.

StatSyncing: introduce Provider::writableTrackStatsData() and use it

...so that we don't e.g. try to set labels on iPod over and over again.
The implementation of writableTrackStatsData() in CollectionProvider is
currently very naïve, the proper solution would be to add a method to
Collections::Collection (which I'll probably do in future).

StatSyncing: rating conflict resolution


StatSyncing: functional view filtering, update & conflict detection

 * TrackTuple learns how to tell conflict in ratings, how to denote
   that any field's gonna be updated
 * MatchedTracksModel can say what track tuples are going to be
   updated and which have conflicts
 * view learns how to sort, filter by string and filter by state

StatSyncing: show fields that are going to be updated in bold

This implements following features:
 * support in TrackTuple for determining synced values
 * support in TrackTuple for determining which fields will be updated
 * forwarding both of these in MatchedTracksModel


Diffs
-----

  src/CMakeLists.txt a54e2dcbea4ad415d2f5a25c6cd925bf7760b625 
  src/core-impl/capabilities/timecode/TimecodeEditCapability.h bfd50407acbfe1d5b1f02186032c927cd7b04b39 
  src/core-impl/collections/db/sql/CapabilityDelegateImpl.cpp e344e0f8a8f26450b4340a64188cab72fa1a755c 
  src/core-impl/collections/ipodcollection/IpodMetaEditCapability.h a19691e3dfc7fbb20befefc19dbd9c2a00c8af47 
  src/core-impl/collections/ipodcollection/IpodMetaEditCapability.cpp bc62412923ebf6c90de7b0c180a18c238d2fd0b8 
  src/core-impl/collections/mediadevicecollection/MediaDeviceEditCapability.h 63f85e7f3b20a534a83830cb5aa70758007ebc1a 
  src/core-impl/collections/mediadevicecollection/MediaDeviceEditCapability.cpp 13a08bb98d4ed1473dcc0e2116172929a97cdf10 
  src/core-impl/collections/proxycollection/ProxyCollectionMeta.cpp 8d4df176e4ada5b63e6ca9b57f142c76e1b1ce5b 
  src/core-impl/meta/file/File.cpp b64015035b1d1d0156be65271e7e158756c9216e 
  src/core-impl/meta/proxy/MetaProxy.cpp 51299f827e11ccaace9c8ffb012780c1b7db30b6 
  src/core/capabilities/EditCapability.h b3b3013d33fe73b416fb38627cc9eafd6f0742de 
  src/statsyncing/Options.h PRE-CREATION 
  src/statsyncing/Options.cpp PRE-CREATION 
  src/statsyncing/Process.h PRE-CREATION 
  src/statsyncing/Process.cpp PRE-CREATION 
  src/statsyncing/Provider.h PRE-CREATION 
  src/statsyncing/Track.h PRE-CREATION 
  src/statsyncing/TrackTuple.h PRE-CREATION 
  src/statsyncing/TrackTuple.cpp PRE-CREATION 
  src/statsyncing/collection/CollectionProvider.h PRE-CREATION 
  src/statsyncing/collection/CollectionProvider.cpp PRE-CREATION 
  src/statsyncing/collection/CollectionTrack.h PRE-CREATION 
  src/statsyncing/collection/CollectionTrack.cpp PRE-CREATION 
  src/statsyncing/jobs/MatchTracksJob.cpp PRE-CREATION 
  src/statsyncing/jobs/SynchronizeTracksJob.h PRE-CREATION 
  src/statsyncing/jobs/SynchronizeTracksJob.cpp PRE-CREATION 
  src/statsyncing/models/CommonModel.h PRE-CREATION 
  src/statsyncing/models/CommonModel.cpp PRE-CREATION 
  src/statsyncing/models/MatchedTracksModel.h PRE-CREATION 
  src/statsyncing/models/MatchedTracksModel.cpp PRE-CREATION 
  src/statsyncing/ui/MatchedTracksPage.ui PRE-CREATION 
  tests/core-impl/collections/proxycollection/TestProxyCollectionMeta.cpp 640c09c1e3fcac68e067b809bd1b723e4b0509e0 

Diff: http://git.reviewboard.kde.org/r/105219/diff/


Testing
-------


Thanks,

Matěj Laitl

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20120611/a220128c/attachment.html>


More information about the Amarok-devel mailing list