Roadmap to Calligra Mini
Sebastian Sauer
mail at dipe.org
Wed Jun 19 15:35:04 BST 2013
On 06/19/2013 03:39 AM, Jaroslaw Staniek wrote:
> On 17 June 2013 21:11, Sebastian Sauer <mail at dipe.org> wrote:
>
>> Yep, Calligra Active was even the starting point when I begun that. I
>> switched away when going full threaded cause that was requiring a complete
>> different architecture and design. In Coffice all of Calligra runs in
>> another thread then the UI/QML. That means all operations are asynchronous
>> in Coffice unlike in Active and Calligra will never be able to block the UI.
>> Also I bundle all plugins into one plugin, all filters into one filter and
>> delay loading in Coffice plus don't use KDE plugin-lookup (aka sycoca) cause
>> sycoca isn't present, I rewrote the kde factory/plugin/kpart stuff, etc. pp.
> Please correct me, arent all these features are not irrelevant to
> whether the app's UI is QWidget-based or QML-based?
hmmm... I am not sure if I understood the question or its context.
In the case of Coffice it does not make a difference since all of QML
runs in the qApp-thread. So, it would work also fine with
s/QML/QWidget/. The thing is that in Coffice Calligra itself is
headless. Means it has no UI, neither QWidgets nor QML. It cannot have
cause it runs in a thread != qApp-thread. Sure it would work with QML
(with some limitations) but it wouldn't with QWidget (yes, could be
hacked around too).
If the question goes into the direction of if same could be done with
the existing QWidget (or QML based like Active for that matter) codebase
then no, it cannot. It needs from the ground up architecture changes to
access *anything* Calligra asynchronous.
>
>> Since all that happened Qt5 progressed and meanwhile (means not so long ago)
>> work on scenegraph-based QTextDocument/QTextEdit landed. So, for Qt5 there
>> may an option (with very likely lots of additional work needed for our
>> use-cases) to solve the no-go all-in-one-thread problem at another level. On
>> the other hand there would still be work needed to get potential
>> long-blocking operations like loading threaded which is all solved in
>> Coffice as of today already.... Well, we will see.
> All the features are beneficial for Active and would land there too
> eventually, right?
"All the features" refers to Qt5 QtQuick? I think that's to far away
right now.
Or does it refer to the current Coffice threading? No, that needs
architecture changes.
Or does it refer to the slim fake-lib? Yes, that's even on my TODO (like
so many other things). I think it would be just 1-2 days of work to make
that happen. Active is already very good in that it drags in very less
dependencies. I think there may not much changes needed at all in Active
itself to make that work.
More information about the calligra-devel
mailing list