-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
History improvements #2996
History improvements #2996
Conversation
It would also be cool if there was a functionality to remove history playlists containing less than N tracks. |
... as action in history list context menu > QDialog Or simply being able to select multiple history items in the sidebar, then use Remove from the existing context menu. But that's probably asked too much for this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, this is really a nice improvement.
I have left some comments.
also somehow related: |
I had a patch for this as well. Currently the cleanup for empty playlists is in the destructor of a class. Crashes or ctrl+c on a new session always creates empty playlists. |
Do you consider this in a mergeable state now? If yes, please remove the draft state. And just a hint for the future:
It is not interesting in some years that the commit was a review request. So it is better just to describe the change and split it into separate commits if you do not find a headline that covers all. |
I wanted to have this in my 2.3 builds I use live, so I tried to port it to 2.3 (rather hasty copy/paste): https://github.com/ronso0/mixxx/tree/history-improv-2.3 |
side note / small UX issue I noticed while testing this: both regular playlists and history playlists can have numbers in parenthesis appended
This is a bit confusing. Maybe we can use |
YYYY-MM-DD_n (n2) where n is number of playlist on same date and n2 is the number of tracks on certain playlist. Using a suffix number for number of playlists on same date and parenthesis for number of tracks on tracklist would provide good readability and restore consistency with other playlists used in mixxx. Edit to add: Allowing selection of more than a single entry when deleting unwanted entires would be highly welcome. But maybe that should be a separate PR then? |
I tried [] and other unicode characters and found YYYY-MM-DD / n looked the nicest. There is only one thing left that I would like to have: |
@poelzi can you attach a screenshot? Wouldn't that introduce an inconsistency with the way other library areas use n? how is n and n2 handled now? |
There is only one bug left, but I think it's upstream. scrollTo(QModelIndex) does not work on the sidebar widget. |
There are also multiple unresolved review comments. |
scrollTo seems to be broken in general. There are multiple outdated Qt bugs for QTreeView but I didn't yet take the time to create a new one for our context with QTableView as selectRow() is a helpful workaround/aternative for selecting and scrolling to an index. |
I vote for @foss- proposal: |
we could also have |
That is not practical, because it would require to rename all old entries of the same date. |
What about |
@Holzhaus No strong feelings for either proposal. N: number of playlist for same day |
I also really dislike the underscore. I'm ok with the - , just wanted to not use the same as the date. I fixed the issue with exports in general, every directory seperator is replaced by "-" for all playlist exports. |
I just don't fnd the |
I guess: https://stackoverflow.com/a/31976060 |
The "Join with previous" feature is now broken. Out of habit I expected that it deletes the current playlist and joins it with the one above. Unfortunately it now joins with the unrelated day below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. Some comments.
VERIFY_OR_DEBUG_ASSERT(playlistId >= 0) { | ||
return; | ||
} | ||
int nextId = selectSiblingPlaylistId(m_lastRightClickedIndex); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
int nextId = selectSiblingPlaylistId(m_lastRightClickedIndex); | |
int siblingId = selectSiblingPlaylistId(m_lastRightClickedIndex); |
This is just habit and will change once used to it. It behaves correctly here and joins the entry with the previous entry which is below the current one, because it is further in time. |
The issue is that it can't be undone. As I hit the trap, many others will do. |
The timeline is inverted now, top-to-bottom gors into the past, this feels very intuitive to me. I assume most users have one history per day so the date numbers make that clear instantly IMO. |
Only activate playlists when already in focus. Add option to scroll but not select sidebar items.
@daschuer Fixed your points |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works fine so far and is a huge usability improvement.
A nice extension for the future would be relative date folders:
- today
- yesterday
- last week
- last month
- last year
- ...remaining playlists grouped by calendar year...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thank you.
@Holzhaus: merge? |
Feel free to merge, I didn't follow this PR. |
All review comments have been addressed. Thank you! LGTM |
🎉 |
The meaning of the number after the playlist date is unclear to me. Why does sometimes it have a |
|
I think I got confused because there is no number in parentheses if the playlist only has 1 track. |
I agree, we should always show the track count. |
I will open a followup |
The history feature has quite some usability issues. The list gets very long very quickly and the most useful entries are at the bottom of the list.
Edit(ronso0) https://bugs.launchpad.net/mixxx/+bug/1127120
Todo: highlight group if any child is highlighted