Summary: | Clock applet doesn't take the current color scheme | ||
---|---|---|---|
Product: | [Unmaintained] kicker | Reporter: | Georgi Ivanov <georgi.r.ivanov> |
Component: | kclockapplet | Assignee: | Aaron J. Seigo <aseigo> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | g4mba5, mail, Stefan.Borggraefe, vms796 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | date area not repainted |
Description
Georgi Ivanov
2005-02-02 10:53:31 UTC
> After changing the color scheme, Clock applet doesn't take these colors.
there is not enough information here. i'll need to know some of your kicker settings (transparency?) as well as which clock face you are using, the colors set in the configuration of it (if any), what parts of the clock in specific didn't pick up the new colours, etc...
The Clock type is Digital.The problem appears with other types too. I think i figured out what is the problem. After changing the color scheme of KDE clock doesn't take it . But if i kill kicker and run it again everything is correct. When Kicker is transparent (only when transparent !) the same problem appears with Taskbar. The color of the applications in taskbar is not updated . I hope this information is enough. cheers Joro yes, that'll do. thanks =) CVS commit by aseigo: another way to break transparency in the clock fixed. BUG:98398 M +14 -3 clock.cpp 1.202 M +1 -0 clock.h 1.56 --- kdebase/kicker/applets/clock/clock.cpp #1.201:1.202 @@ -365,5 +365,5 @@ void DigitalClock::loadSettings() } -void DigitalClock::paintEvent( QPaintEvent*) +void DigitalClock::paintEvent(QPaintEvent*) { QPainter p(_buffer); @@ -373,5 +373,6 @@ void DigitalClock::paintEvent( QPaintEve p.drawTiledPixmap(0, 0, width(), height(), lcdPattern); } - else if (_prefs->digitalBackgroundColor() != palette().active().background()) + else if (_prefs->digitalBackgroundColor() != + KApplication::palette().active().background()) { p.fillRect(0, 0, width(), height(), _prefs->digitalBackgroundColor()); @@ -861,4 +862,5 @@ ClockApplet::ClockApplet(const QString& m_layoutTimer(new QTimer(this)), m_layoutDelay(0), + m_followBackgroundSetting(true), _prefs(new Prefs(sharedConfig())), zone(new Zone(config())), @@ -1132,18 +1134,24 @@ void ClockApplet::reconfigure() } + QColor globalBgroundColor = KApplication::palette().active().background(); + QColor bgroundColor; switch (_prefs->type()) { case Prefs::EnumType::Plain: _clock = new PlainClock(this, _prefs, this); + bgroundColor = _prefs->plainBackgroundColor(); break; case Prefs::EnumType::Analog: _clock = new AnalogClock(this, _prefs, this); + bgroundColor = _prefs->analogBackgroundColor(); break; case Prefs::EnumType::Fuzzy: _clock = new FuzzyClock(this, _prefs, this); + bgroundColor = _prefs->fuzzyBackgroundColor(); break; case Prefs::EnumType::Digital: default: _clock = new DigitalClock(this, _prefs, this); + bgroundColor = _prefs->digitalBackgroundColor(); break; } @@ -1174,4 +1182,7 @@ void ClockApplet::reconfigure() updateDateLabel(); + // FIXME: this means you can't have a transparent clock but a non-transparent + // date or day =/ + m_followBackgroundSetting = (bgroundColor == globalBgroundColor); setBackground(); @@ -1211,5 +1222,5 @@ void ClockApplet::setBackground() // if the clock has the same background color that we do, // let's propagate the background brush too - if (_clock->widget()->paletteBackgroundColor() == palette().active().background()) + if (m_followBackgroundSetting) { _clock->widget()->setBackgroundOrigin(AncestorOrigin); --- kdebase/kicker/applets/clock/clock.h #1.55:1.56 @@ -320,4 +320,5 @@ protected: QTimer *m_layoutTimer; int m_layoutDelay; + int m_followBackgroundSetting; // settings Hi, There is still a very small bug with the Clock's colors.If i change the color scheme of KDE , the Clock doesn't update its colors right now.The colors are updated in following cases: 1)Hide/Unhide kicker 2)Put the mouse over the clock and wait for the tootip 3)The time changes. There may be other condition related with the updating of the clock applet. Cheers, Joro Another small thing . The tooltip(color) is not updated too. The color stays the same until i restart the kicker. I can confirm this in CVS head updated today. If the colour scheme changes, the clock doesn't change it's background unless you restart kicker. I'm using a non transparent kicker to test this. :( On my system it changes only the clock area, not the date area. And even this after a kill-restarting kicker. I personally consider the colour feature unnecessary. I would at least give the possibility to use the default kicker/background colour explicitly and make it default. Confirmed in current svn (3.5.3) as well. ad. 5 (Georgi) Currently: 1) not true 2) can't tell because there is not tooltip 3) not true >>Additional Comment #10 From Maciej Pilichowski 2008-03-31 16:29 -------
>>ad. 5 (Georgi)
I don't know what do you mean with the last comment. If it is to remind me check what is the status, here it is :
Currently in KDE 3.5.8 the problem remains the same . Changing color scheme does not change the background color of the clock applet. The color will change after the time is changed or restart kicker. If i enable "blinking dots" the clock got repainted and the problem is gone . But .. the date area is not repainted.
See attachment for details.
Created attachment 24138 [details]
date area not repainted
Georgi, it wasn't reminder to anyone ;-) Just update of information, your post about clock getting correct colors was from 2005, in 2008 the colors are not updated. Not after panel on/off, not after time change. Of course this does not change a thing in solving this issue, because we all would like to see applied color scheme right away. *** Bug 164139 has been marked as a duplicate of this bug. *** Fixes in KDE 3.5.10 SVN commit 848935 by bminisini: BUG: 98398 The clock applet finally answers correctly to global palette changes. M +29 -3 clock.cpp M +1 -0 clock.h |