Revision d9a7226...

Go back to digest for 16th December 2012

Optimization in Multimedia

Matěj Laitl committed changes in [amarok] /: plugin: major rework of configuration and more

This work started as an attempt to fix bug 306134. I figured out that
the synchronous KWallet API is simply dangerous, and the async one must
be used. But that meant to make LastFmServiceConfig a "living" object
with updated() signal, which triggered refactoring of all its usage.

Users of LastFmServiceConfig now watch for its changes and should act
appropriately. The LastFmServiceConfig now has only one instance shared
between LastFmService and LastFmServiceSettings - I had to introduce
another shared library because KCM modules use separate library, silly.

Moreover, some extremely ugly things in plugin got reworked to
me clean and maintainable, reducing code duplication.

Patrick, please tests whether this still builds on Windows, I hope I've
done KDE_EXPORT/KDE_IMPORT right, but I cannot test under Linux.

* When configuring plug-in, the changes are now applied
immediately in most places.

* Fix suboptimal KWallet usage in plugin.
* Fix crash in plugin caused by sloppy KWallet usage.

DIGEST: plugin configuration reworked for smoother experience
CCMAIL: Patrick von Reth

File Changes

Modified 18 files
  •   ChangeLog
  •   src/services/lastfm/CMakeLists.txt
  •   src/services/lastfm/LastFmService.cpp
  •   src/services/lastfm/LastFmService.h
  •   src/services/lastfm/LastFmServiceCollection.cpp
  •   src/services/lastfm/LastFmServiceCollection.h
  •   src/services/lastfm/LastFmServiceConfig.cpp
  •   src/services/lastfm/LastFmServiceConfig.h
  •   src/services/lastfm/LastFmServiceSettings.cpp
  •   src/services/lastfm/LastFmServiceSettings.h
  •   src/services/lastfm/LastFmTreeModel.cpp
  •   src/services/lastfm/LastFmTreeModel.h
  •   src/services/lastfm/ScrobblerAdapter.cpp
  •   src/services/lastfm/ScrobblerAdapter.h
  •   src/services/lastfm/SynchronizationAdapter.cpp
  •   src/services/lastfm/SynchronizationAdapter.h
  •   src/services/lastfm/meta/LastFmMeta.cpp
  •   src/services/lastfm/meta/LastFmMeta.h
18 files changed in total