Bug 171343

Summary: JJ: Better stars rating in Dolphin
Product: [Frameworks and Libraries] kdelibs Reporter: Michael Reiher <redm>
Component: kdeuiAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: wishlist CC: kde-2011.08, ojrajala, sebastian, trueg, unhammer+dill
Priority: NOR    
Version: SVN   
Target Milestone: ---   
Platform: Ubuntu   
OS: Unspecified   
Latest Commit: Version Fixed In: 4.8.3
Attachments: Proposed batch for 171343

Description Michael Reiher 2008-09-19 17:23:57 UTC
Version:            (using KDE 4.1.1)
Installed from:    Ubuntu Packages

There is a little strangeness with the rating widget in dolphin. It's a bit illogical that you click on a star, but get only a half one. If you want a full star, you have to click in between them. Now how weird is that?! :) Yes, there is a preview, but a) this is hardly visible on my laptop screen (I didn't notice it for quite some time) and b) it's still weird.

Also I wonder if half stars are actually needed? 5 levels should be enough for the average user, at least personally I find it sometimes even hard enough to rate with 5 levels leave alone 10. Also Apple uses just 5 stars in iTunes/iPods, and I could imagine they did research about how many levels are useful for the average human being. So IMHO it would make a lot of sense to make the full stars the primary rating, and thus clicking a star gives you a star, and leave half stars only a secondary option, for those who need really fine grained control. So, contrary to how it is now.
Comment 1 Sebastian Trueg 2009-04-30 13:15:08 UTC
how about changing to a half star when clicking again on the same one? I.e. to rate 2,5 you click the third star twice.
Comment 2 Dotan Cohen 2009-05-06 14:15:40 UTC
@Sebastian: Do you really need such granular precision that 5 stars are not enough? I agree that the half-star rating should be dropped. It is overdoing it, and it's implementation is confusing to the user.
Comment 3 Sebastian Trueg 2009-05-06 15:20:16 UTC
I agree that we don't really need it. But we need to be backwards compatible. Thus, internally we need to keep the 10 steps. I see no harm in allowing all the steps if necessary.
Comment 4 Michael Reiher 2009-05-06 19:46:09 UTC
IMHO the suggestion to have the half star on second click is fine. That way you can select every full star rating level with a single click and you don't need to bother with half stars if you don't want to. 

Another problem is clearing the stars. You can clear the third star by clicking the second, the second by clicking the first, but with the first there is a problem. So a 3rd click should then probably clear the selected star. Atm. you have to click somewhere before the first star.

As for backwards compatibility: Personally I can perfectly live the suggested solution. It seems a bit weird though, that nepomuk is hardly really introduced leave alone finished and already backwards compatibility has to be kept for a suboptimal choice (provided it is considered as such). In case of rating, maybe it wouldn't be too much of a problem to decide for 5 stars with KDE 4.3, and convert existing ratings to the next higher full star (notifying the user of course)?
Comment 5 Sebastian Trueg 2010-10-08 11:08:50 UTC
This is a perfect junior job to get started in KDE. The affected classes are KRatingWidget and KRatingPainter in kdeui.
Comment 6 Anant Kamath 2012-04-03 17:45:40 UTC
Created attachment 70123 [details]
Proposed batch for 171343

Modified mousePressEvent() and mouseMoveEvent() in KRatingWidget.. Tested it with dolphin.
Now: Clicking once on an empty star= 1 star
        Clicking again = 1/2 star
        Clicking again = Clears the selected star
Submitted at : https://git.reviewboard.kde.org/r/104479/
Comment 7 Lamarque V. Souza 2012-04-05 20:59:18 UTC
Git commit 0cc00c8096700946e8990499d5d9c2b7516915e1 by Lamarque V. Souza.
Committed on 05/04/2012 at 22:57.
Pushed by lvsouza into branch 'KDE/4.8'.

Better stars rating in dolphin.
Thanks to Anant Kamath for this patch.

REVIEW: 104479
FIXED-IN: 4.8.3

M  +39   -4    kdeui/widgets/kratingwidget.cpp

http://commits.kde.org/kdelibs/0cc00c8096700946e8990499d5d9c2b7516915e1
Comment 8 Michael Reiher 2012-04-06 10:03:37 UTC
@Anant: Great! Thank you for fixing this!
Comment 9 Weng Xuetian 2015-12-04 16:26:04 UTC
Git commit efb14cb69ad53bcdb4f3f7b4f2439183d27ebb05 by Weng Xuetian.
Committed on 04/12/2015 at 16:19.
Pushed by xuetianweng into branch 'master'.

Refactor and fix the feature introduced in bug 171343

1. Enable this feature only if half step is enabled. Otherwise user can
only select full star, there is no point enable this feature.
2. Fix and merge the logic, especially for the part in mouseMoveEvent.
Previously mouseMoveEvent is calculating the new rating based on current
hover rating, which should use the current rating instead. And the logic
is hard for people to interpret without comment. Thus, this part of code
is refactored to be simpler and more readable with comment.

REVIEW: 126222

M  +2    -2    src/kratingpainter.cpp
M  +35   -32   src/kratingwidget.cpp

http://commits.kde.org/kwidgetsaddons/efb14cb69ad53bcdb4f3f7b4f2439183d27ebb05
Comment 10 Nate Graham 2017-09-02 22:13:34 UTC
*** Bug 280634 has been marked as a duplicate of this bug. ***