Summary: | progressbar's showing of the numeric % progress is broken | ||
---|---|---|---|
Product: | [Plasma] ksplash | Reporter: | Lubos Lunak <l.lunak> |
Component: | general | Assignee: | Ravikiran Rajagopal <ravi> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Lubos Lunak
2003-11-20 11:00:43 UTC
Subject: Re: New: progressbar's showing of the numeric % progress is broken
Hello,
> With the default splash theme, the numeric progress value is shown only in
> the part of progressbar which represents already done progress. Which
> means, for the first two icons, there's no number shown, and for the third
> icon, there's only "4" shown, instead of "40%" or whatever the exact value
> should be. Given that the splash is the first thing users see, this looks
> stupid.
I cannot reproduce this with up-to-date CVS HEAD. Is it possible that the text
color of the progressbar is the same as the background color of the
progressbar in the color scheme that you use?
Start with no ~/.kde directory. If you don't change anything in KPersonalizer, the progressbar background is black, text is black, foreground is yellow. If you use classical KDE in KPersonalizer, the background is black, text is white, foreground is blue. The problem is actually in Keramik. The default color choices for progressbar text is the same as the background color in Keramik. Take a look at Plastik as an example; it makes sure that the text is visible on both foreground and background. I can see the problem with the B3 style as well. Actually, this is a bug in kslpasml; it works on plastik mostly by accident. You do the following in themelegacy.cpp:153 mLabel->setPaletteForegroundColor( mLabelForeground ); And the progressbar, being parented to the label, inherits this palette. You change the background color, yet you do not readjust the text color. How do you expect this to work? (The reason this works in plastik is because it uses Base and not Background for its background; and you do not touch base) CVS commit by lunakl: Fix progressbar color (#68643) by not inheriting palette, just like in old KSplash. Show the progressbar only when restoring session (#86441), implement the missing DCOP calls from old KSplash, and use slotUpdateProgress()/ slotUpdateSteps() for signalizing to the theme engine (this is a bit misnamed now, but it's supposed to stay BC). This also makes KSplash::mStep to be unused var, but since I didn't know what exactly it was supposed to do, I left it there. Fix blinking of the very first icon in the default theme. CCMAIL: 68643-done@bugs.kde.org CCMAIL: 86441-done@bugs.kde.org CCMAIL: ravi@kde.org M +2 -0 ksplashiface.h 1.6 M +1 -1 main.cpp 1.10 M +49 -15 wndmain.cpp 1.18 M +5 -1 wndmain.h 1.9 M +8 -9 themeengine/default/themelegacy.cpp 1.15 M +1 -0 themeengine/default/themelegacy.h 1.7 |