2007/2/22, Aaron J. Seigo <aseigo@kde.org>:
On February 21, 2007, Rafael Fernández López wrote:
> Well, revisiting this code I see this is just crap. If you close that
> window (still with the unique-applet added to kicker), reopen that window,
> and remove the unique-applet, it won't be added to the list, since
> PluginManager::self() is another different instance. I have seen probably
a) this belongs on panel-devel, not kde-core-devel
b) any idea why addapplet.cpp was completely reformatted to use tabs instead
of spaces? this file now has no useful svn log and violates the coding style
for that application.
c) PluginManager::self() is a singleton so it's always the same object
d) the reason for this bug seems obvious: populateApplets doesn't add an entry
if it's already on the panel and unique; pluginDestroyed() is connected to
updateAppletList(), which just call search(QString) which just filters
applets that are shown (and populateApplets wouldn't have shown it). what
needs to happen is populateApplets should add all items then call search with
an empty string which will hide uniqueApplets. then when pluginDestroyed() is
called it'll show up again.
and please: spaces, not tabs. =)