Baloo ratings are unusable when using the Breeze icon theme, as full and empty stars are indentical so one can't see file ratings. Reproducible: Always
It appears the effect used to show an "empty" star is to desaturate the rating (star) icon. The effect makes sense for hi color icon themes like oxygen. However, monochrome or greyscale icons are by definition desaturated so the effect doesn't result in any visible difference. We could add color to the rating icon in the Breeze icon theme but that would break the style guidelines for the icon theme, and might fairly be considered a band-aid for the ineffectiveness of the desaturation effect to correctly produce the desired "empty" star for monochrome and greyscale rating icons. One solution to the underlying problem might be to decrease the opacity as well. I'll confirm that this a problem, but I think the underlying problem is in the components where ratings are displayed. I'm not entirely sure which components those are.
Quoting jpwhiting, <jpwhiting> heh kratingpainter takes the rating icon from the theme and changes the image pixels to grayscale manually... <jpwhiting> strange <jpwhiting> works I guess, though I would think two opposite icons would be better for accessibility <jpwhiting> so if gray is the foreground color as it seems in that bug On Sat, Oct 11, 2014 at 12:23 PM, Andrew Lake <jamboarder@gmail.com> wrote: > https://bugs.kde.org/show_bug.cgi?id=339863 > > Andrew Lake <jamboarder@gmail.com> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |CONFIRMED > Ever confirmed|0 |1 > CC| |jamboarder@gmail.com > > --- Comment #1 from Andrew Lake <jamboarder@gmail.com> --- > It appears the effect used to show an "empty" star is to desaturate the rating > (star) icon. The effect makes sense for hi color icon themes like oxygen. > However, monochrome or greyscale icons are by definition desaturated so the > effect doesn't result in any visible difference. We could add color to the > rating icon in the Breeze icon theme but that would break the style guidelines > for the icon theme, and might fairly be considered a band-aid for the > ineffectiveness of the desaturation effect to correctly produce the desired > "empty" star for monochrome and greyscale rating icons. One solution to the > underlying problem might be to decrease the opacity as well. > > I'll confirm that this a problem, but I think the underlying problem is in the > components where ratings are displayed. I'm not entirely sure which components > those are. > > -- > You are receiving this mail because: > You are the assignee for the bug. > _______________________________________________ > Plasma-devel mailing list > Plasma-devel@kde.org > https://mail.kde.org/mailman/listinfo/plasma-devel
Thanks much Bhushan. One option would be to provide a new icon for the non-filled state. The downside is that, except for breeze, no existing icon themes would have this new icon. So I think it might be better to fix the underlying problem in KRatingPainter. My suggestion then is that the product for this bug be changed to frameworks-kwidgetaddons since, as described, the greyscale conversion alone won't produce a difference with any monochrome or greyscale icon sets. Unfortunately, I don't currently have bugzilla permissions to do this.
It should also be fixed in KDE4 then, affected applications are still not ported to KF5
Please change assignee when moving bugs.
Decreasing the opacity is already used for "disabled" widgets. I would suggest to allow themes to specify a second image for the unrated star, such as "rating-unrated", which could be unfilled, while the regular "rating" would be a filled star. Any other other possibilites? Does Gnome use different monochrome icons for ratings?
I'm not sure if it's in use, but the Aditwa icon theme on my system has status/starred|non-starred|semi-starred|semi-starred-rtl icons.
The VDG would be happy to side to provide additional empty star rating icon in the Breeze icon theme. Just let us know the name you want. :-) My only question is would the required change to use the new icons in KRatingPainter work for other icon themes that do not have the new icons?
Could you please commit a new icon "rating-unrated" for Breeze? I can then test code which uses this icon if available, and fall back to old method of desaturating when not available.
A new "rating-unrated" icon has now been committed to breeze master. Hope this helps and please let us know if there's anything else we can do from our end. breeze repo commit: http://quickgit.kde.org/?p=breeze.git&a=commit&h=29c907e21d7b1fee218ce207dfbc44e27e816a02
I have trouble getting Qt to accept the breeze icon theme. Using QIcon::setThemeName, either before or after QApplication creation, or even setting breeze as the default icon theme in systemsettings. In all cases, KRatingPainter only finds the oxygen yellow star, and returns false for QIcon::hasThemeIcon("rating-unrated"). It looks like Qt does not want to parse breeze's index.theme.
https://git.reviewboard.kde.org/r/120902/
I'm not sure what to do in the Breeze icon theme to make Qt recognize the icon. If anyone has a solution, please share it so I can update the Breeze icon theme.
I am not entirely sure, but it is probably caused by some entries in index.theme saying "Fixed" type, while indeed they are all scalable.
Git commit 9f618d0d45d5b9b2eb6f980f8956bbafc26eff04 by Christoph Feck. Committed on 16/11/2014 at 18:39. Pushed by cfeck into branch 'master'. Support monochrome icon themes (such as breeze) REVIEW: 120902 FIXED-IN: 5.5.0 M +29 -12 src/kratingpainter.cpp http://commits.kde.org/kwidgetsaddons/9f618d0d45d5b9b2eb6f980f8956bbafc26eff04
i'll check whether "FaenzaFlattr" is compliant, but now the exact same bug is present with that icon theme, after the above commit
the issue is now also present with oxygen icon theme
Can you clarify? Are both icons colorful or both icons grayscale? I cannot reproduce with oxygen theme, it works fine with "rating-unrated" icon present and not present.
Created attachment 89623 [details] screenshot rating is now shown as 5star rating on unrated content (screenshot is with faenzaflattr) which has: hrvoje@shumarija:~> find ~/.icons/FaenzaFlattr -name '*rating*' hrvoje@shumarija:~> oxygen at least has: find /usr/share/icons/oxygen/ -name '*rating*' /usr/share/icons/oxygen/48x48/actions/rating.png /usr/share/icons/oxygen/16x16/actions/rating.png /usr/share/icons/oxygen/32x32/actions/rating.png /usr/share/icons/oxygen/22x22/actions/rating.png but same symptoms
Could you try to change the tested icon name from "rating-unrated" to "norating"? I guess this has something to do with the KDE icon loader stating that "rating-unrated" icon exists, but actually only found the fallback icon "rating". The Qt icon loader seems to handle this correctly.
diff --git a/src/kratingpainter.cpp b/src/kratingpainter.cpp index 0bded43..f7d082d 100644 --- a/src/kratingpainter.cpp +++ b/src/kratingpainter.cpp @@ -65,8 +65,8 @@ QPixmap KRatingPainter::Private::getPixmap(int size, QIcon::State state) QIcon _icon(icon); if (_icon.isNull()) { if (state == QIcon::Off - && QIcon::hasThemeIcon(QLatin1String("rating-unrated"))) { - _icon = QIcon::fromTheme(QLatin1String("rating-unrated")); + && QIcon::hasThemeIcon(QLatin1String("norating"))) { + _icon = QIcon::fromTheme(QLatin1String("norating")); // our theme provided a separate icon, no need to desaturate toGray = false; } else {
(and if this works in oxygen theme, we have to rename the icon in breeze theme, and test this too...)
Created attachment 89626 [details] screenshot_v2 with norating, none of the 3 mentioned themes work correctly for unrated icon. for unrated icon now there is shown unknown icon, and rated icon is shown correctly while hovering (it does not stick but that i guess could be a baloo bug)
Reopening until we get this sorted out.
*** Bug 341178 has been marked as a duplicate of this bug. ***
*** Bug 285781 has been marked as a duplicate of this bug. ***
Can someone check version 5.8.0? A recent change to KIconThemes could affect detecting the icons using QIcon::hasThemeIcon().
the problem is still here with git master
kubuntu 15.04 just updated to 5.8 but the problem persists.
The icon designer has updated the rating icon to be yellow instead of grey, so it should work with the traditional method of de-saturation like oxygen did. I'll mark as resolved.
*** Bug 346972 has been marked as a duplicate of this bug. ***
That was quick. Thanks for pointing it out, and the support! On 30 April 2015 at 20:24, Andrew Lake <jamboarder@gmail.com> wrote: > https://bugs.kde.org/show_bug.cgi?id=339863 > > Andrew Lake <jamboarder@gmail.com> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |evorster@gmail.com > > --- Comment #31 from Andrew Lake <jamboarder@gmail.com> --- > *** Bug 346972 has been marked as a duplicate of this bug. *** > > -- > You are receiving this mail because: > You are on the CC list for the bug.
*** Bug 346711 has been marked as a duplicate of this bug. ***
I'm not sure we should consider this as fixed. 1) the coloring problem is there with all icon themes except breeze (possibly oxygen also) 2) full and empty starts are still indistinguishable with breeze 5.3.x, only change with 5.3 is that there is a small decoloration when hovering over rating...
*** Bug 347484 has been marked as a duplicate of this bug. ***
Also happens with master currently with Breeze, Breeze-dark and Oxygen themes (with icons). The stars are indistinguishable in Dolphin 15.08 (live) and Gwenview 15.08 (live). Unfortunately this severely harms the utility of the baloo rating functions which are integrated into Gwenview and Dolphin (etc?) and it appears it will be in the next releases unless fixed soon (I'm using master recently synced). I'm willing to help test in any way which would help things. Using Gentoo kde-overlay (date in parenthesis is date pulled from git using 'smart-live-rebuild' and compiled) kde-frameworks/kwidgetsaddons-9999 (01:24:58 PM 08/01/2015) kde-apps/baloo-widgets-9999 (03:58:12 PM 08/03/2015) kde-frameworks/baloo-9999 (04:50:14 PM 08/04/2015) kde-frameworks/kfilemetadata-9999 (04:31:13 PM 08/04/2015) kde-apps/dolphin-15.08.49.9999 (04:03:25 PM 08/03/2015) kde-apps/dolphin-plugins-15.08.49.9999 (12:14:44 AM 07/31/2015) kde-apps/gwenview-15.08.49.9999 (05:02:48 PM 08/04/2015) kde-plasma/breeze-9999 (04:33:34 PM 08/04/2015) kde-plasma/oxygen-9999 (11:15:55 PM 07/30/2015) kde-apps/oxygen-icons-9999 (02:49:23 PM 07/27/2015)
Can someone post a screenshot with the current state of things. As far as I'm aware everything that could be done on the artwork side, has been done.
Created attachment 93890 [details] Dolphin 15.08 unrated view ratings Breeze from master 1 View of a file which is not rated at all. Both the inline rating view from Dolphin and the information panel. Both files are in fact unrated. Breeze theme and icons selected for everything.
Thanks much David. And if I understand your comment 36 correctly, the same thing is happening with Oxygen icons? Also, how does it look with a file that has been rated 3 stars?
Created attachment 93891 [details] Dolphin 15.08 unrated view ratings Oxygen from master 1 Same view and files as before except with Oxygen theme and icons. Both files are unrated and were just created for the test. Both inline rating view and information panel view from Dolphin 15.08 pulled live from git.
Thanks again David. It certainly doesn't look like a problem on the Breeze icon theme side. Here's a link to the commits on the relevant code file: http://quickgit.kde.org/?p=kwidgetsaddons.git&a=history&h=844f2186da569648532f5e985fbad5c51455a93c&f=src%2Fkratingpainter.cpp I did a quick perusal but it wasn't obvious to my eyes what was wrong. Breeze doesn't have a rating-unrated icon so, best I can tell it should be following the code path to gray scale the icon. Maybe someone else with better developer eyes can spot the problem.
Andrew, I'm attempting to test with three stars but am having trouble verifying that the file is in fact rated using other means. I am noticing some odd entries in the journal from baloo and probably should verify that the file is indexed properly with the rating. But here is what I have for the screenshots which will follow with a new file 'testrated3.txt' which was rated 3 stars. The Xattr data and balooshow appears to verify it but I'm not 100% sure. Note I believe the rating is doubled and from 1-10 so a 3 star rating appears as "6". ---------- $ getfattr -d /home/david/test/testrated3.txt getfattr: Removing leading '/' from absolute path names # file: home/david/test/testrated3.txt user.baloo.rating="6" --------- $ balooshow -x /home/david/test/testrated3.txt 179302304648790039 23 41747071 /home/david/test/testrated3.txt Line Count: 1 Internal Info Terms: Mplain Mtext T5 T8 Ttext X20-1 a is test this File Name Terms: Ftestrated3 Ftxt testrated3 txt XAttr Terms: R6 lineCount: 1 ------------ Will followup with breeze and oxygen screengrabs in next 20 minutes.
Created attachment 93892 [details] Dolphin 15.08 unrated view ratings Oxygen from with new 3star file master 1 With addition of three star file view from Dolhin 15.08 from master git. See comment #42. Oxygen theme.
Created attachment 93893 [details] Dolphin 15.08 unrated view ratings Breeze from with new 3star file master 1 See comment #42. Screenshot with added "3 star" file and breeze theme and icons. Dolphin 15.08 from master.
Andrew, Thanks for looking at it. I'm afraid I'm not a developer so it's probably a bit out of my league. I did think that it possibly had some related code in 'baloo-widgets' (and that is in fact where I thought the bug might be initially) but I am not sure. Vishesh Handa, the baloo lead would probably know. Someone might want to cc him?
It seems also (thanks to wolfi323 from the KDE forums) that the information is actually being seen by Dolphin because (at least with the Breeze theme) if you mouseover the rightmost star it does (barely) display the actual star rating. So the problem seems to be that it does not display when not mousing over. Also it seems this is not just a corner case problem but is seen by many/all users: https://forum.kde.org/viewtopic.php?f=154&t=127670
Any status on this? It happens with a number of different icon themes (e.g. Papirus included) in a number of different apps. I consider the rating feature to be quite an important one!
Created attachment 96615 [details] attachment-30832-0.html I left KDE. Too many bugs. I work in health care and there's a lot of things I must take care of. I need a more stable environment. Same happened from KDE 3 to 4... I had to change all my workflow. I thought it wouldn't happen again. I was wrong. 2016-01-11 17:04 GMT-03:00 Michael D via KDE Bugzilla < bugzilla_noreply@kde.org>: > https://bugs.kde.org/show_bug.cgi?id=339863 > > Michael D <nortexoid@gmail.com> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |nortexoid@gmail.com > > --- Comment #47 from Michael D <nortexoid@gmail.com> --- > Any status on this? It happens with a number of different icon themes (e.g. > Papirus included) in a number of different apps. I consider the rating > feature > to be quite an important one! > > -- > You are receiving this mail because: > You are on the CC list for the bug. >
I'm happy to report that with the Breeze theme, KDE Applications 16.04 finally it appears for whatever reason that this bug is fixed and all star ratings now appear as they should. Also I am using Plasma 5.6.3 and Frameworks 5.21. I'm not sure if it is potentially the a reason for the fix or not but incidentally I was also finally able to remove baloo:4. This is on a Gentoo system using the kde-overlay.
(In reply to David M from comment #49) > I'm happy to report that with the Breeze theme, KDE Applications 16.04 > finally it appears for whatever reason that this bug is fixed and all star > ratings now appear as they should. Actually, with breeze this is fixed since months. If it didn't work for you, you probably experienced a different problem, maybe this one: https://bugzilla.opensuse.org/show_bug.cgi?id=970896, which is indeed fixed in dolphin 16.04. But the rating display is still completely broken with other themes (including oxygen) that don't provide a "rating-unrated" icon. The reason is as suggested in comment#20: (In reply to Christoph Feck from comment #20) > I guess this has something to do with the KDE icon loader > stating that "rating-unrated" icon exists, but actually only found the > fallback icon "rating". The Qt icon loader seems to handle this correctly. But, this is not a bug in the icon loader I think, that's how the behaviour is defined in the freedesktop icon name specification (https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html#guidelines): The dash “-” character is used to separate levels of specificity in icon names, for all contexts other than MimeTypes. For instance, we use “input-mouse” as the generic item for all mouse devices, and we use “input-mouse-usb” for a USB mouse device. However, if the more specific item does not exist in the current theme, and does exist in a parent theme, the generic icon from the current theme is preferred, in order to keep consistent style. That implies that if "rating-unrated" doesn't exist in the current theme, "rating" (from the current theme) should be used instead. So "rating-unrated" was actually a bad choice to begin with I think, and can't really work as intended IMHO. But what about the most obvious and probably easiest "solution"? Just add a "rating-unrated" icon to the oxygen theme. That should fix the problem also for other themes, as oxygen is still used as fallback for missing icons in the currently configured icon theme.
(In reply to Wolfgang Bauer from comment #50) > But what about the most obvious and probably easiest "solution"? > Just add a "rating-unrated" icon to the oxygen theme. > That should fix the problem also for other themes, as oxygen is still used > as fallback for missing icons in the currently configured icon theme. Forgot to mention that I tested this locally, it works great and fixes the problem. Another option would probably be to revert https://quickgit.kde.org/?p=kwidgetsaddons.git&a=commit&h=9f618d0d45d5b9b2eb6f980f8956bbafc26eff04 and drop "rating-unrated", as breeze's rating icon is not monochrome any more. That might of course cause problems with other themes that do contain a monochrome rating icon, but that was the state in KDE4 too.
PS, somehow related: I think it would also be a good idea if kwidgetsaddons would actually ship with fallback icons for "rating" and "rating-unrated" (e.g. in an embedded .qrc). Currently the rating stars do not show up at all here when running dolphin outside of Plasma (i.e. when KDE's icon loader is not used), because the "rating" icon is only present in breeze and oxygen (not hicolor). This would also fix the problem with full and empty stars being undistinguishable if "rating-unrated" is missing in the theme.
What is the status of this bug with frameworks from master? QIcon::hasThemeIcon() might again got fixed with yesterdays commit.
(In reply to Christoph Feck from comment #53) > What is the status of this bug with frameworks from master? > QIcon::hasThemeIcon() might again got fixed with yesterdays commit. Unfortunately this commit didn't change anything regarding the rating widget. In other words, this is still broken with oxygen (or any other theme that doesn't have rating-unrated).
Created attachment 105374 [details] Indistinguishable empty stars in Dolphin tooltips Not sure if related or a different issue, but the empty stars in KRatingWidget are invisible in the Dolphin's tooltips (with the default breeze theme).
*** Bug 385682 has been marked as a duplicate of this bug. ***
Is this actually still a bug with kwidgetsaddons? At this point shouldn't we just fix the icon themes?
I have just posted a bounty for this bug. I'd like to see this fixed when the Oxygen Icon Theme is in use. Please note that I will need to see it solved in the KDE Neon Developer edition before I am ok with releasing the reward! Happy coding! :) https://www.bountysource.com/issues/54393195-full-and-empty-stars-are-indistinguishable-when-using-an-icon-theme-including-oxygen-that-lacks-the-rating-unrated-icon
Git commit 221951952d22ae8d4b8b9d8dc90af53cf8401a92 by andreas kainz. Committed on 07/02/2018 at 00:57. Pushed by andreask into branch 'master'. Add rating-unrated icon A +- -- 16x16/actions/rating-unrated.png A +- -- 22x22/actions/rating-unrated.png A +- -- 32x32/actions/rating-unrated.png A +- -- 48x48/actions/rating-unrated.png https://commits.kde.org/oxygen-icons5/221951952d22ae8d4b8b9d8dc90af53cf8401a92
I still think it would be good to fix the underlying issue in the icon loader though. And maybe add default icons to kwidgetaddons, Oxygen is no longer used as fallback since a while (and breeze neither)...
The changes have not yet appeared in my KDE Neon Developer installation. Perhaps I need to follow some manual steps in order to get the changes on my system? Also, which KDE package/release is the one that is supposed to include the fix? I would expect it to be Dolphin 18.04.
The commit only added more Oxygen icons.
There is also this co-related phabricator task which has been marked as "resolved" due to this latest commit from "andreask". https://phabricator.kde.org/T7094 Is this commit not a proper solution for the Oxygen theme?
It probably is the correct solution for the Oxygen theme (providing separate images is always better than faking them by reducing colors). But I reopened this ticket, because it should also work for any other icon theme that does not provide separate images. It also needs to be tested to work with Qt's icon loader as well as KIconLoader.
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwidgetsaddons/-/merge_requests/190
Git commit e5ef8184db0733b944cb7a3c9ee1cf239035921b by Felix Ernst, on behalf of Felix Ernst. Committed on 07/09/2023 at 13:35. Pushed by felixernst into branch 'master'. Fix file rating being unreadable in certain themes Typically, a rating on a file is represented by five stars in a row. If the first 3 stars are filled and the other 2 aren't, that represents a 3/5 star rating. When a theme only provides the filled stars (i.e. "rating") icon but no unfilled stars (i.e. "rating-unrated") icon, KRatingPainter would always paint all five stars as filled no matter if the actual rating was 1/5 or 5/5 because the automatic fallback of the "rating-unrated" icon is the "rating" icon as stated by the icon theme spec. This commit fixes this by having KRatingPainter use a generated replacement "rating-unrated" icon (a de-saturated and grey-scaled "rating" icon), if the theme does not provide a "rating-unrated" icon already. M +10 -6 src/kratingpainter.cpp https://invent.kde.org/frameworks/kwidgetsaddons/-/commit/e5ef8184db0733b944cb7a3c9ee1cf239035921b
(In reply to funkybomber from comment #58) > I have just posted a bounty for this bug. I'd like to see this fixed when > the Oxygen Icon Theme is in use. > Please note that I will need to see it solved in the KDE Neon Developer > edition before I am ok with releasing the reward! > Happy coding! :) > > https://www.bountysource.com/issues/54393195-full-and-empty-stars-are- > indistinguishable-when-using-an-icon-theme-including-oxygen-that-lacks-the- > rating-unrated-icon I just looked into claiming the bounty but unfortunately the people running the bountysource page are now committing fraud, embezzling the money, and are no longer paying out bounties: https://github.com/bountysource/core/issues/1586 I originally found this bug through bounty source, and while 50€ isn't that much, hearing of one more fraud is still upsetting. If you want to, you could still pay out the bounty to me directly, but after all these years and after the money you originally allocated being embezzled, I totally understand if you don't. Here is my Paypal https://www.paypal.com/donate/?hosted_button_id=WTHAYDL59U9FL and my Liberapay https://liberapay.com/felixernst/donate . In any case this should be fully fixed now for KDE frameworks 6. You can test it like this: Test plan: 1. Either find a theme that only provides a "rating" icon but no "rating-unrated" icon, or temporarily rename all "rating-unrated" icons in your current theme: sudo find /usr/share/icons/$THEMENAME/ -type f -regex '.*atin.*' -exec rename 's/rating-unrated/\(renamed\)rating-unrated/' {} \; (You can later change it back using this command: sudo find /usr/share/icons/$THEMENAME/ -type f -regex '.*atin.*' -exec rename 's/\(renamed\)rating-unrated/rating-unrated/' {} \;) 2. Notice that the "rating" field in Dolphin in the information panel or in the "rating" column in details view now all show a five-star rating. 3. Do the same with a Dolphin using a KWidgetsAddons framework containing my fix. Notice everything is fine now. Cheers!
Git commit 2273405379815ce9a4c65619511849c3aa3b5a84 by Felix Ernst, on behalf of Felix Ernst. Committed on 11/09/2023 at 09:25. Pushed by felixernst into branch 'kf5'. Fix file rating being unreadable in certain themes Typically, a rating on a file is represented by five stars in a row. If the first 3 stars are filled and the other 2 aren't, that represents a 3/5 star rating. When a theme only provides the filled stars (i.e. "rating") icon but no unfilled stars (i.e. "rating-unrated") icon, KRatingPainter would always paint all five stars as filled no matter if the actual rating was 1/5 or 5/5 because the automatic fallback of the "rating-unrated" icon is the "rating" icon as stated by the icon theme spec. This commit fixes this by having KRatingPainter use a generated replacement "rating-unrated" icon (a de-saturated and grey-scaled "rating" icon), if the theme does not provide a "rating-unrated" icon already. (cherry picked from commit e5ef8184db0733b944cb7a3c9ee1cf239035921b) M +10 -6 src/kratingpainter.cpp https://invent.kde.org/frameworks/kwidgetsaddons/-/commit/2273405379815ce9a4c65619511849c3aa3b5a84