[prev in list] [next in list] [prev in thread] [next in thread] 

List:       calligra-devel
Subject:    Re: Distraction free writing mode
From:       Pierre Stirnweiss <pstirnweiss () googlemail ! com>
Date:       2012-09-11 6:56:37
Message-ID: CAOjaSmh+PPxz3cSe5yP_CjLz1jhV+1O6b2PECc+wSxb71AaKeA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> >
> > There is perhaps a way, that i started to explore for change tracking
> > without much success (but i didn't pursue this very long). It seems
> > possible to specify additional formatting at layout stage (QTextLayout
> > class I think). I don't know how usable this is. Camilla should know much
> > more than me about this one.
>


> Unfortunately it's very limited and doesn't begin to cover what we will
> need

 from it.
>


Well, we then really need to make a decision, which is better be very well
discussed and thought out.
The situation is the following (add some if I have missed any):

Current QTextDocument/QTextLayout does not allow us to do:

- *change tracking*: we want to be able to display/hide tracked changes
inline. For this we need to be able to switch visibility on a text
fragment. The way I believe it should be working is that we would put a
flag/text property on a text fragment. At layout stage (line lay out within
QTextLayout internal), we would ignore these fragments.
- *DFM writing*: we want to be able to display/hide text formatting. This
IMHO should also be handle within QTextLayout internal layouting/drawing.
It is after all purely a display option. The document content/formatting is
not changed.
-  *something about Bidi I can't remember*

Now, we have so far managed to work around these limitations one way or
another. The solution I am proposing for DFM (ie having different versions
of each style), can be used for implementing it, although there is the
problem of the undo/redo action it will create (same problem as when
switching show/hide changes in change tracking). Independently of DFM, I
think having "style profiles" would still be a killer feature both in Words
and Author (I can look into this while I am through with parent style
saving), and for this sole use case, the undo/redo action actually should
be created.


So the question is: is it time for us to fork QTextDocument/QTextLayout in
order to implement these properly? The main problem is the maintenance
burden. However I am not sure it really would be that much, I think these
classes are now really mature and won't change that much. However, since I
personally don't have the time to do all this, the decision is not mine.

Pierre

[Attachment #5 (text/html)]

<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div> &gt;<br>
&gt; There is perhaps a way, that i started to explore for change tracking<br>
&gt; without much success (but i didn&#39;t pursue this very long). It seems<br>
&gt; possible to specify additional formatting at layout stage (QTextLayout<br>
&gt; class I think). I don&#39;t know how usable this is. Camilla should know \
much<br> &gt; more than me about this one.  <br></div></div></blockquote><div> \
</div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px \
solid rgb(204,204,204);padding-left:1ex">Unfortunately it&#39;s very limited and \
doesn&#39;t begin to cover what we will need </blockquote>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"> from it.<br></blockquote></div><br><br>Well, we \
then really need to make a decision, which is better be very well discussed and \
thought out.<br>The situation is the following (add some if I have missed \
any):<br><br>Current QTextDocument/QTextLayout does not allow us to do:<br>

<br>- <b>change tracking</b>: we want to be able to display/hide tracked changes \
inline. For this we need to be able to switch visibility on a text fragment. The way \
I believe it should be working is that we would put a flag/text property on a text \
fragment. At layout stage (line lay out within QTextLayout internal), we would ignore \
these fragments.<br>

- <b>DFM writing</b>: we want to be able to display/hide text formatting. This IMHO \
should also be handle within QTextLayout internal layouting/drawing. It is after all \
purely a display option. The document content/formatting is not changed.<br>

-  <b>something about Bidi I can&#39;t remember</b><br><br>Now, we have so far \
managed to work around these limitations one way or another. The solution I am \
proposing for DFM (ie having different versions of each style), can be used for \
implementing it, although there is the problem of the undo/redo action it will create \
(same problem as when switching show/hide changes in change tracking). Independently \
of DFM, I think having &quot;style profiles&quot; would still be a killer feature \
both in Words and Author (I can look into this while I am through with parent style \
saving), and for this sole use case, the undo/redo action actually should be \
created.<br>

<br><br>So the question is: is it time for us to fork QTextDocument/QTextLayout in \
order to implement these properly? The main problem is the maintenance burden. \
However I am not sure it really would be that much, I think these classes are now \
really mature and won&#39;t change that much. However, since I personally don&#39;t \
have the time to do all this, the decision is not mine.<br>

<br>Pierre<br>



_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic