Bug 72410

Summary: Refresh icon cache when KIconLoader settings change
Product: [Applications] kopete Reporter: Jason Keirstead <jason>
Component: generalAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED FIXED    
Severity: minor    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Jason Keirstead 2004-01-11 20:31:58 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

Here is some code from metz to refresh our KOS icon cache when someone changes their icon theme or iconeffect settings in KControl.

connect(kapp, SIGNAL(iconChanged(int)), this, SLOT(slotIconChanged()));

Should do this after 3.2 is out.
Comment 1 Jason Keirstead 2004-01-11 23:13:19 UTC
Why'd you change this to wishlist? it's not a wish, it's a genuine bug.
Comment 2 Matt Rogers 2004-02-14 18:39:17 UTC
and where's this supposed to go exactly?
Comment 3 Stefan Gehn 2004-02-14 19:13:58 UTC
The icon cache of all KOS objects has to get deleted and/or recreated. The problem is getting a list of all these objects. Doing it inside the KOS is impossible because we would need to make it a QObject (and we won't do THAT!).
Comment 4 Martijn Klingens 2004-02-14 20:14:17 UTC
On Saturday 14 February 2004 19:13, Stefan Gehn wrote:
> The icon cache of all KOS objects has to get deleted and/or recreated. The
> problem is getting a list of all these objects. Doing it inside the KOS is
> impossible because we would need to make it a QObject (and we won't do
> THAT!).

The icon cache is already a static member, so it can easily be invalidated by 
another (QObject) class. Question is what class would do, and whether we put 
that class in kopeteonlinestatus.cpp or move the cache from the Private 
object to the main .h file. Currently it's inaccessible because the 
declaration is unreachable, not because it's technically impossible due to 
lack of a QObject.

Comment 5 Richard Smith 2004-02-15 13:22:26 UTC
Working on it; I've decided to add a Kopete::OnlineStatusIconCache singleton.
Comment 6 Richard Smith 2004-02-15 15:18:57 UTC
CVS commit by lilachaze: 

Update our icon cache and propogate changes to the UI when the user changes
their icon settings. This only fixes the contact list - the icons in the
title bar of the chatwindows and tabs don't change (but you can close and
reopen those windows so it's less of a problem).
CCMAIL: 72410-done@bugs.kde.org


  M +10 -2     kopete/kopetewindow.cpp   1.180
  M +5 -0      kopete/kopetewindow.h   1.64
  M +11 -36    kopete/contactlist/kopetecontactlistview.cpp   1.76
  M +7 -0      kopete/contactlist/kopetecontactlistview.h   1.21
  M +7 -1      kopete/contactlist/kopetegroupviewitem.cpp   1.16
  M +1 -1      kopete/contactlist/kopetegroupviewitem.h   1.5
  M +1 -1      kopete/contactlist/kopetemetacontactlvi.cpp   1.65
  M +65 -38    libkopete/kopeteonlinestatus.cpp   1.31
  M +41 -2     libkopete/kopeteonlinestatus.h   1.21
  M +4 -0      libkopete/kopeteplugindataobject.cpp   1.15
  M +6 -1      libkopete/kopeteplugindataobject.h   1.13