<div dir="ltr"><img width="0" height="0" class="mailtrack-img" alt="" style="display:flex" src="https://mailtrack.io/trace/mail/95ee464b0074e929ddd528cb47815e840809052a.png?u=1477559"><div></div>Thank you so much Tobias. I'm using vim editor and I was unaware of ctags. I have just installed eclipse to speed and ease up the development process. Your explanations are so vivid that I got them easily. <div>For now, I will try demo font color selector dialog with saving the current color in the settings. I can then paint the overlay icon with the same color and it will imitate the font color behavior in the patch. Later on. with the implementation of real font color in annotations, we can just change a few lines in okular and make that happen.</div><div>Can you provide your suggestions for point 6, regarding engine color and all? It will be helpful in the initial development phase.</div><div><br></div><div>Thanks and Regards,</div><div>Dileep<br><br><br><br>‌</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 20, 2018 at 5:08 PM, Tobias Deiminger <span dir="ltr"><<a href="mailto:haxtibal@posteo.de" target="_blank">haxtibal@posteo.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
this one is about saving the actual annotation (rather then the tool configuration).<span class=""><br>
<br>
Am Freitag, 18. Mai 2018, 17:04:09 CEST schrieb Dileep Sankhla:<br>
</span><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
4. In Okular::Annotation::Style::set<wbr>Color(const QColor &color), it sets<br>
d->m_color = color (see tree/core/annotations.cpp. Here d is just a pointer<br>
to a class Private). Does it save color in some config/xml file as the<br>
previously set annotation color is always there whenever you close and open<br>
okular?<br>
</blockquote>
<br></span>
Yes, it does. For quite some time, saving annotations to an external XML file (called "docdata") was the only option to persist annotations. Thanks to a major piece of work in an extra branch "dont-use-docdata-for-annots-a<wbr>nd-forms", we now have a second option where we can save the annotation into a PDF file as its native  PDF representation. Please see branch [0] and merge commit [1], and related bug reports / reviews [2], [3], [4], [5]. You'll learn a lot from it.<br>
<br>
If docdata is used instead of PDF, it looks like this:<br>
<br>
~$ okular somerawtext.txt   # Create inline note, exit okular<br>
<br>
~$ cat .local/share/okular/docdata/24<wbr>.somerawtext.txt.xml<br>
<?xml version="1.0" encoding="utf-8"?><br>
<!DOCTYPE documentInfo><br>
<documentInfo url="/home/tobias/somerawtext.<wbr>txt"><br>
 <pageList><br>
  <page number="0"><br>
   <annotationList><br>
    <annotation type="1"><br>
     <base creationDate="2018-05-20T11:13<wbr>:09" author="Tobias Deiminger" contents="This is a inline note with white background." modifyDate="2018-05-20T11:13:0<wbr>9" uniqueName="okular-{2aa99524-e<wbr>7a1-450d-b440-0b1821e42919}" flags="4" color="#ffffff"><br>
      <boundary t="0.164103" r="0.899824" b="0.202853" l="0.251282"/><br>
      <penStyle ycr="0" spaces="0" style="1" marks="3" xcr="0" width="0"/><br>
      <window summary="Haftnotiz" top="0" flags="-1" left="0" height="0" title="" width="0"/><br>
     </base><br>
     <text type="1" font="Noto Sans,12,-1,0,50,0,0,0,0,0,Regu<wbr>lar" icon="Comment"/><br>
    </annotation><br>
   </annotationList><br>
  </page><br>
 </pageList><br>
 <generalInfo><br>
  <history><br>
   <current viewport="0;C2:0.499145:0.4384<wbr>62:1"/><br>
  </history><br>
  <views><br>
   <view name="PageView"><br>
    <zoom value="0.975" mode="1"/><br>
   </view><br>
  </views><br>
 </generalInfo><br>
</documentInfo><span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm unable to find class Private.<br>
</blockquote>
<br></span>
class Annotation::Style has a "d-pointer" to it's implementation, that's a well known C++ idiom [6]. The d-pointer is initialized on construction of Annotation::Style with a new instance of a class Annotation::Style::Private. class Annotation::Style::Private is defined in annotations.cpp L177.<br>
<br>
Which IDE do you use? Doesn't it support source code navigation? I'm mostly using Eclipse, it takes me to the definition of "class Private" by pressing F3. But this should even be possible with vim + ctags.<br>
<br>
[0] <a href="https://cgit.kde.org/okular.git/log/?h=dont-use-docdata-for-annots-and-forms" rel="noreferrer" target="_blank">https://cgit.kde.org/okular.gi<wbr>t/log/?h=dont-use-docdata-for-<wbr>annots-and-forms</a><br>
[1] <a href="https://cgit.kde.org/okular.git/commit/?id=3957683d7651494a7bc48b26e6b113161e9a888c" rel="noreferrer" target="_blank">https://cgit.kde.org/okular.gi<wbr>t/commit/?id=3957683d7651494a7<wbr>bc48b26e6b113161e9a888c</a><br>
[2] <a href="https://bugs.kde.org/show_bug.cgi?id=151614" rel="noreferrer" target="_blank">https://bugs.kde.org/show_bug.<wbr>cgi?id=151614</a><br>
[3] <a href="https://bugs.kde.org/show_bug.cgi?id=315552" rel="noreferrer" target="_blank">https://bugs.kde.org/show_bug.<wbr>cgi?id=315552</a><br>
[4] <a href="https://bugs.kde.org/show_bug.cgi?id=301774" rel="noreferrer" target="_blank">https://bugs.kde.org/show_bug.<wbr>cgi?id=301774</a><br>
[5] <a href="https://git.reviewboard.kde.org/r/124069/" rel="noreferrer" target="_blank">https://git.reviewboard.kde.or<wbr>g/r/124069/</a><br>
[6] <a href="https://en.wikipedia.org/wiki/Opaque_pointer" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>Opaque_pointer</a><br>
</blockquote></div><br></div>