Hello everybody!<br>Here is my third try of the patch for KisPerChannelFilter.<br><a href="http://reviewboard.kde.org/r/203/">http://reviewboard.kde.org/r/203/</a><br><br>What is done:<br><br>+ Reverted to the first version of the patch with additional workaround for that strange interface toXML/toLegacyXML.<br>
+ Now saving/loading bookmarks works well even with .kra files<br>= Caching of transfers is still present in comparison with the second version of the patch =)<br><br>Could someone take a look at it to see whether there are style or some obvious mistakes before the commit?<br>
<br><br>PS:<br>And an issue for the dispute: why do we have such a strange API?<br><br>The first issue is toXML/toLegacyXML stuff. These functions are implemented in _different_ classes although they do the same things. More than that,  both of them are called from different parts of krita: bookmark manager uses toXML, kis_kra_ uses toLegacyXML Why not have the only one? The only united interface?<br>
<br>And the second issue is defaultConfigurations of the filter. The specific Kis&lt;smth&gt;FilterConfiguration class for the filter can be (and is) created in two different places: <br>KisBaseProcessor::defaultConfiguration(const KisPaintDeviceSP pd) and KisFilterConfigurationFactory::createDefault(). Why?! The same thing with KisFilterConfigurationFactory::create(...). It&#39;s a clone. Why is it so? Speaking truly i can&#39;t understand the meaning of these factory-classes at all =(<br>
<br>-- <br>Dmitry Kazakov<br>