The current track applet shows a list of recently played tracks when Amarok is in stopped state. We should add a way to add those (drag and drop/context menu entry) to the playlist.
Reproducible: Didn't try
Git commit 5bfcf25fa06fc09c9bc951c7f9bf05dc5f6d66a9 by Konrad Zemek.
Committed on 23/07/2013 at 09:55.
Pushed by kzemek into branch 'master'.
Rewrote RecentlyPlayedListWidget from the basics. There was a major
inconsistency in this widget, where tracks were added to it if they were
recently played at all, but the time shown was the "Last Played"
statistic which is only updated after whole song is played. This
caused gravely incorrect data to be displayed (see bug 302485).
There were two different methods of solving the inconsistency: focusing
on the "Last Played" time, and adding songs to the widget only if the
"Last Played" changed; and focusing on recent plays completely
disregarding "Last Played". I opted for the latter as I felt it fits the
widget's nature better.
Because we can't rely on already available data, the widget needs to do
its own housekeeping. It saves its data on shutdown, to be restored
on next startup. One other major benefit of this approach is that
widget's data remains correct even if collections change, while
previously tracks from removed collections would disappear.
Finally, I added the feature to add tracks to playlist directly from the
widget, provided that the track exists.
Related: bug 302485, bug 296090
M +6 -0 ChangeLog
M +156 -139 src/context/widgets/RecentlyPlayedListWidget.cpp
M +51 -15 src/context/widgets/RecentlyPlayedListWidget.h