On Monday, October 22, 2012 19:49:21 Sven Langkamp wrote: > On Mon, Oct 22, 2012 at 9:30 AM, Inge Wallin <i...@lysator.liu.se> wrote: > > On Sunday, October 21, 2012 18:11:18 Yue Liu wrote: > > > 2012/10/21 Boudewijn Rempt <b...@valdyas.org>: > > > > On Sunday 21 October 2012 Oct, Yue Liu wrote: > > > >> Hi, > > > >> > > > >> Currently filters are loaded based on application's native > > > >> mime-type. And now we have multiple applications with same native > > > >> format, such as Karbon and Flow, Words and Authors. Applications > > > >> with same native format should have same set of format filters, but > > > >> format filter codes are sorted under application categories. > > > >> > > > >> So I suggest change it from current structure > > > >> > > > >> filters/xxx_app/[im,ex]port/xxx_filter > > > > > > > > It's even messier in some places, where the odf2html filter is > > > > embedded in the epub filter. > > > > > > > >> to > > > >> > > > >> filters/xxx2xxx > > > > > > > > I wouldn't mind that change, but then, for Krita, we moved all the > > > > filters to the Krita folter anyway. > > > > > > > >> And tell distributions package filters as one component, not with > > > >> apps, to avoid conflicts between same-format apps. At least Arch and > > > >> Chakra is already doing it this way. > > > > > > > > Fedora also did/does that already, which meant lots of bug reports > > > > since > > > > > > people only installed the app, not the filter component and then > > > > complained that they couldn't even open a simple jpeg in Krita! > > > > > > > > There's a complication here with the Tables filters: some of them > > > > link directly to Tables and actually don't go though an ODS > > > > intermediate. Those probably should be moved to the tables folder > > > > itself. > > > > > > We can keep the dependency on App and involve new mime-types for those > > > filters. Just like Friedrich suggested before: > > > http://mail.kde.org/pipermail/calligra-devel/2012-May/005041.html > > > > > > For example, if karbon filter depends on KarbonPart, we can make a > > > mime-type calligra/karbon.document and use it in the filter, so Flow > > > won't load this filter since karon.document is not supported by Flow. > > > > > > And we can place the codes of this kind of app-dependent filters under > > > app/filters/xxx2xxx, and place those general filters under > > > filters/xxx2xxx, when packaging, app-dependent filters are packaged > > > with apps, general filters are packaged as a single package and every > > > app depends on it. > > > > 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. > > > > So I suggest the following overall architecture: > > > > calligra > > > > core > > > > libs > > words > > sheets > > stage > > ... > > > > ui (or view) > > > > suite (or desktop) > > > > libs > > words > > sheets > > .... > > > > active > > ... > > > > filters > > > > libs > > xxx2yyy > > yyy2zzz > > ... > > > > tools > > > > ... > > > > In the core/ directory the parts of the applications that are UI > > independent > > should reside. It should be basically loading, storage, saving (i.e. the > > document), painting, an API for data manipulation and all commands. > > > > All views under ui/ will of course link to core/*. The filters should be > > allowed to link to core/* for loading, storage model or saving. > > I would prefer to have it at > > app/ > core/ > uidesktop/ > uiactive/ > > The reason behind is that it's much better to keep everything in a single > folder. For example if I commit somthing in krita/image and krita/ui, the > commit message shows it as krita/, with the new structure it would show > calligra/. Considering how many problems the distributions have with a > seperate filter folder, I think it's better to keep it together.
While I see your point, how would you handle calligra active that has one interface for three applications at once? And how would you handle Words and Author that share core functionality? _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel