When creating new tags from within KMail, the quick search combobox in the message list is not updates, one has to restart KMail to see new tags there.
This is going to be a tricky fix. Listening to Nepomuk is too slow, so the only other way to do it is like in TagActionManager: have the configuration dialog inform listeners when the taglist has changed. Call the intermediary object TagListMonitor. The problem is that the quick search combo lives in messagelist, which is a dependency of kmailprivate (where the config dialog lives). So, TagListMonitor cannot be in the kmailprivate lib (like TagActionManager), but it needs to be in a lib that the config dialog can access. Anyone know of such a lib? Where can TagListMonitor be placed without strongly coupling these libraries?
Why not simply add a new public method to the messagelist view library that updates the search combobox, and call that from within KMail? That way, there wouldn't be any dependency changes. Alternatively, you can go the TagListMonitor way. In that case, simply put the class into messagecore/, which is a dependency of both KMail and the message list.
> Why not simply add a new public method to the messagelist view library that > updates the search combobox, and call that from within KMail? I considered that, but figured that would introduce excessive coupling. TagListMonitor might be overkill, especially if the quicksearch is the only one interested in taglist changes.
SVN commit 1131637 by link: Add a TagListMonitor class to inform interested parties when the list of tags has changed. BUG: 233403 M +2 -0 kmail/configuredialog.cpp M +1 -0 messagecore/CMakeLists.txt A messagecore/taglistmonitor.cpp [License: GPL (v2/3)] A messagecore/taglistmonitor.h [License: GPL (v2/3)] M +6 -0 messagelist/widget.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1131637