Version: 2.2-GIT (using KDE 4.3.1) OS: Linux Installed from: Ubuntu Packages When using Dynamic Playlists, when previous tracks are automatically removed from the playlist the currently selected track[s] changes. This is particularly obvious when double clicking to play a specific track. To Reproduce: - Enable dynamic playlist. - Set the number of "previous" allowed in the dynamic playlist to 5 (This is arbitrary but useful to illustrate this example). - Play (or skip) through the playlist until you are playing track 5. - Double click track 6. Outcome: - Track 4 (previously 5) is now selected. Expected behaviour: - Track selection is persistent when automatically removing tracks, although the position of the tracks within the list will change. Further Info: - Similar effects occur when the end of the currently playing track is reached. This does not just occur when double clicking. - The position jumped to behind the newly playing track is equal to the number of tracks removed from the start of the playlist.
Proposed patch: http://gitorious.org/amarok/amarok/merge_requests/1592
confirmed as of rev cd7ba53927c8777384043d85e44918aba64f17f3
Thanks John, I've merged the patch into mainline. Seems to work nicely here :) (further testing from others welcome)
FYI: I just committed 21935f35a604ae1883633d11e9001c1df70ccb87 ---- Playlist view cleanup: remove workaround for BUG 208349 (retaining selection during playlist item remove). - Don't call 'reset()' on signal 'layoutChanged' from the source model. I can not see any reason to do that, and the current maintainers don't remember a clear reason. - Remove '(save|restore)TrackSelection()'. These were added for BUG 208349, but it's something that QListView should be handling automatically. I don't see any point to them now that there are fewer junk signals flying through the ModelStack. I checked that I could reproduce the problem in v2.2.0, and also that I can not reproduce it in this commit where I've removed the workaround. ---- This removes your workaround, because I believe it is no longer needed. In case I am wrong and the problem reappears for you, please re-open this bug report.