Bug 72410 - Refresh icon cache when KIconLoader settings change
Summary: Refresh icon cache when KIconLoader settings change
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR minor
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-11 20:31 UTC by Jason Keirstead
Modified: 2004-02-15 15:18 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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