Amarok StatSyncing GSoC: week 2

Matěj Laitl · May 29, 2012 · 1 min read

Hi, in case you forgot, I'm working on my GSoC project about statictics synchronization in Amarok. This is my second weekly report which comes a bit earlier because I'll be travelling to Budapest till the end of the week, but check the diffs, I've already done a week's worth of work. (or more :-)

UI showing how tracks from 3 collections are matched. Unique & Excluded tracks work, too.

What I've done this week:
  • Visible feedback for the job that matches tracks (little progress bar).
  • Renaming of core classes to have shorter names; all are in a namespace so no clash threats.
  • A class to handle one synchronization from start to finish (names Process).
  • 2 models (QAbstractItemModel subclasses) for matched and for single tracks to power the UI + helper model to share code between them.
  • Rudimentary UI for showing matched and single tracks as shown on the screenshot.
  • A bunch of smaller fixes to keep the code clean and maintainable.
Problems I've faced:
  • QStyledItemDelegate cannot display rich text. :'-( :'-(
  • QHeaderView cannot have minimum widths per each column. :-(
  • Keyboard navigation doesn't work in QTreeView once you set selectionMode to NoSelection.
What's next:
  • Performing the actual synchronization. Shouldn't be hard as everything is prepared by now.
You can test my work by pulling and building gsoc branch of my Amarok git repository clone, it already works (somehow)! I also publish weekly diffs with more technical details on KDE's review board which may be a more convenient way to review my code and to comment on it: week 1 week 2