Allow edit star rating in unselected rows

Bug #1002330 reported by Daniel Schürmann on 2012-05-21
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Max Linke

Bug Description

Our star rating does not act a smooth as one might expect.
Compared to Clementine it is notchy. They allow to change star rating on unselected rows.

Related branches

Max Linke (max-linke) wrote :

I've enabled this in my previewdeck branch.

Changed in mixxx:
assignee: nobody → Max Linke (max-linke)
Max Linke (max-linke) wrote :

I've included a patch to add this

Changed in mixxx:
status: New → In Progress
RJ Skerry-Ryan (rryan) on 2012-05-23
Changed in mixxx:
milestone: none → 1.11.0
importance: Undecided → Low
RJ Skerry-Ryan (rryan) wrote :

Hi Max,

I looked at your patch and it seems to do some mass-reformatting of the files you've touched. Could you check your editor settings to make sure you're following our style guide here:

Also, the patch doesn't apply cleanly against trunk.. could you please re-generate it, ideally using a bzr diff or bzr merge directive (see the "bzr send -o filename" command) against trunk?


Max Linke (max-linke) wrote :

new and better patch

Much better! Thanks. It's a shame that this requires mouse-tracking for the
entire track-table since I think general wisdom it's somewhat taxing on the
Qt main loop. I tried thinking of another way to do it though and I
couldn't. Maybe if we could somehow get ahold of the cell widgets for the
specific rating column and enable mouse-tracking for those only? I poked
around a little bit and didn't find a way to do that.

On Wed, May 23, 2012 at 6:13 PM, Max Linke <email address hidden>wrote:

> new and better patch
> ** Patch added: "starrating.patch"
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> Title:
> Allow edit star rating in unselected rows
> To manage notifications about this bug go to:

Max Linke (max-linke) wrote :

Did you notice any performanc losses with this patch?

We could set a custom widget for each cell but that would be slower then just to do the tracking on the whole table.

RJ Skerry-Ryan (rryan) wrote :

If you move your mouse rapidly across the library the waveforms stutter -- that's the main thing I noticed. I love the way they work with the patch though so I think we should commit it.

RJ Skerry-Ryan (rryan) on 2012-05-31
Changed in mixxx:
status: In Progress → Fix Committed
Max Linke (max-linke) wrote :

I think you accidently broke my patch by calling WLibraryTableView::mouseMoveEvent()

drag a song into a deck and then move the mouse back to the library.
Then there is a dragEvent happening until you drag that second Event into a deck.
The Event happens on the same index and it looks's like it's done be WLibraryTableView::mouseMoveEvent().

Another thing that I've noticed when I move rapidly over the starratings they are changed without clicking them.
This is also true for my original patch.

Max Linke (max-linke) wrote :

I've noticed that if you move the mouse quickly over the starrating column sometimes the stars will stay altough I havn't clicked the column. These false ratings stay until you click on a starrating column. Another issue was that if you have already set a rating for a track and then tried to edit it, the old stars are still show so it's hard to see if you actually reduced the starrating

The patch fixes these two issues.

Another issue is that we open the editor with openPersistenEditor(index). This calls createEditor() with the wrong options that always say that the row is not selected. So when you are editing a cell it will always use 'painter->setBrush(palette.text());' in
starrating::paint(...) regardless if the row is actually selected or not. Right now I don't know how this could be fixed.

RJ Skerry-Ryan (rryan) wrote :

patch from #9 committed, thanks!

RJ Skerry-Ryan (rryan) on 2013-05-09
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments