<table><tr><td style="">asemke added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13234">View Revision</a></tr></table><br /><div><div><p>The fix is ok in general. Though, I'd prefer to have the already rendered eps-file as a member of LabelEntry object so it is always available and can be directly used for rendering, for printing and for saving without the need to involve the latex render every time again and again.</p>

<p>If I see it correctly, when a project is saved only LatexEntry::latexCode() is saved. Saving the string only requires re-running latex every time the project file is opened. Also, on systems without latex installation we'll fail to show such a project with worksheets having latex entries. It would be better to save the rendered images in the project file - either as base64 encoded image byte array directly in the xml file (similar to LabPlot's TextLabel  <a href="https://phabricator.kde.org/source/labplot/browse/master/src/backend/worksheet/TextLabel.cpp;0adab041ea9156243a5bde10f79bc96daeff86d8$691" class="remarkup-link" target="_blank" rel="noreferrer">https://phabricator.kde.org/source/labplot/browse/master/src/backend/worksheet/TextLabel.cpp;0adab041ea9156243a5bde10f79bc96daeff86d8$691</a>) or as a png or eps file stored in the zip-archive similar to how this is already done in Cantor for rendered plots.</p>

<p>So, we can submit this change now to fix the bug 330834 but I think we should re-factor this a bit later to address the issues mentioned above.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D13234#inline-68852">View Inline</a><span style="color: #4b4d51; font-weight: bold;">epsrenderer.cpp:107</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">bool</span> <span class="n">isEps</span> <span style="color: #aa2211">=</span> <span class="n">spectre_document_is_eps</span><span class="p">(</span><span class="n">doc</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">isEps</span><span class="p">)</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">why not to check the URL first with QUrl::isValid() either here or in LatexEntry::updateEntry() where?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D13234#inline-68850">View Inline</a><span style="color: #4b4d51; font-weight: bold;">latexentry.cpp:219</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">        <span class="n">QTextCharFormat</span> <span class="n">format</span><span style="color: #aa2211">=</span><span class="n">cursor</span><span class="p">.</span><span class="n">charFormat</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">        <span class="n">QUrl</span> <span class="n">url</span><span style="color: #aa2211">=</span><span class="n">format</span><span class="p">.</span><span class="n">property</span><span class="p">(</span><span class="n">EpsRenderer</span><span style="color: #aa2211">::</span><span class="n">ImagePath</span><span class="p">).</span><span class="n">value</span><span style="color: #aa2211"><</span><span class="n">Q<span class="bright">Url</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">></span></span><span class="bright"></span><span class="p"><span class="bright">(</span>);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span class="n">QUrl</span> <span class="n">url</span><span style="color: #aa2211">=<span class="bright"></span></span><span class="bright"></span><span class="n"><span class="bright">QUrl</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">::</span></span><span class="bright"></span><span class="n"><span class="bright">fromLocalFile</span></span><span class="bright"></span><span class="p"><span class="bright">(</span></span><span class="n">format</span><span class="p">.</span><span class="n">property</span><span class="p">(</span><span class="n">EpsRenderer</span><span style="color: #aa2211">::</span><span class="n">ImagePath</span><span class="p">).</span><span class="n">value</span><span style="color: #aa2211"><</span><span class="n">Q<span class="bright">String</span></span><span class="bright"></span><span style="color: #aa2211"><span class="bright">></span></span><span class="bright"></span><span class="p"><span class="bright">()</span>);</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">        <span class="n">QSizeF</span> <span class="n">s</span> <span style="color: #aa2211">=</span> <span class="n">worksheet</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">epsRenderer</span><span class="p">()</span><span style="color: #aa2211">-></span><span class="n">renderToResource</span><span class="p">(</span><span class="n">m_textItem</span><span style="color: #aa2211">-></span><span class="n">document</span><span class="p">(),</span> <span class="n">url</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">this can be const reference.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R55 Cantor</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13234">https://phabricator.kde.org/D13234</a></div></div><br /><div><strong>To: </strong>sirgienko, asemke<br /><strong>Cc: </strong>kde-edu, asemke, narvaez, apol<br /></div>