Architecture Refactor Suggestion: Bigger reorganization

Boudewijn Rempt boud at valdyas.org
Mon Oct 22 09:01:44 BST 2012


On Monday 22 October 2012 Oct, Inge Wallin wrote:

> I think we need to make a bigger reorganization. There are two things that are 
> currently a problem:
> 
> 1. The applications themselves have more than one UI, e.g. Calligra 
> Words/Sheets/Stage and Calligra Active.
> 
> 2. Filters sometimes use application internals as the data model.
> 

Hm, I haven't been able to clearly follow the discussion, but for the first point, there are two things going on:

* you get two applications offered (stage and active) or even three (words, author and active) when you click on a certain file that can be opened by all those applications. But I'm not too sure why that actually is a problem: the same happens if you install libreoffice.

* filters can have a gui, and that gui is currently implemented as a QDialog, i.e., unsuitable for touch applications. For Krita Sketch we solve that by setting the filter manager to batch mode so the dialogs are never shown, but we actually should abstract those settings out in a way that makes it possible to generate a dialog that works for desktop or touch.

For the second point, it means that those filters should only be installed if the application itself is installed. I think those filters should be under the application and be packaged together with the application, not the filter package by distributions.

There are some other issues with the current filter architecture, which we already discussed in Essen, years ago...

* filter chaining is nice in theory, horrible in practice.
* the intermediate temp file on disk is a neat idea, but is really bad for performance (hence the changes in Tables' filters or the reason Krita doesn't do this)

And there were some api things I've forgotten about.

-- 
Boudewijn Rempt
http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl



More information about the calligra-devel mailing list