<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/117626/">https://git.reviewboard.kde.org/r/117626/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On April 21st, 2014, 8:24 p.m. UTC, <b>Jarosław Staniek</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/117626/diff/1-2/?file=266871#file266871line171" style="color: black; font-weight: bold; text-decoration: underline;">filters/words/docx/export/FileCollector.cpp</a>
<span style="font-weight: normal;">
(Diff revisions 1 - 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void FileCollector::setFileSuffix(const QString &suffix)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">155</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="c1">// FIXME: There isn't a simple KoFilter::WriteError but there should be!</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Nice note but I recommend using //! @todo - I learned to do that everywhere</pre>
</blockquote>
<p>On April 22nd, 2014, 5:43 a.m. UTC, <b>Inge Wallin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is one thing that I don't agree with. I don't think doxygen documentation is the place to have TODO's and FIXME's. At least we should have a common discussion in Calligra before I start in this direction.</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We can discuss this, just @todo is searchable in the code too so you have this and central place for Summary of TODOs.</pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On April 21st, 2014, 8:24 p.m. UTC, <b>Jarosław Staniek</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/117626/diff/1-2/?file=266872#file266872line56" style="color: black; font-weight: bold; text-decoration: underline;">filters/words/docx/export/OdfReaderDocxContext.h</a>
<span style="font-weight: normal;">
(Diff revisions 1 - 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class DocxFile;</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">56</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="c1">// These members should be accessible to the backend but nobody else.</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Add //! here and everywhere</pre>
</blockquote>
<p>On April 22nd, 2014, 5:43 a.m. UTC, <b>Inge Wallin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Done. But remind me again why we should document internal variables that are not visible outside the class in the API docs that are used by users of this class.</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I think so -- at the tiny cost of extra "!" or "!<". A matter of habits.</pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On April 21st, 2014, 8:24 p.m. UTC, <b>Jarosław Staniek</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/117626/diff/1-2/?file=266891#file266891line152" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoEncryptedStore.cpp</a>
<span style="font-weight: normal;">
(Diff revisions 1 - 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">bool KoEncryptedStore::init(Mode mode, const QByteArray & appIdentification)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">151</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">m_pZip</span><span class="o">-></span><span class="n">writeFile</span><span class="p">(</span><span class="s">"mimetype"</span><span class="p">,</span> <span class="s">""</span><span class="p">,</span> <span class="s">""</span><span class="p">,</span></pre></td>
<th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">151</font></th>
<td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">m_pZip</span><span class="o">-></span><span class="n">writeFile</span><span class="p">(</span><span class="s">"mimetype"</span><span class="p">,</span> <span class="s">""</span><span class="p">,</span> <span class="s">""</span><span class="p">,</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">BTW, return false on failure as we do everywhere</pre>
</blockquote>
<p>On April 22nd, 2014, 5:43 a.m. UTC, <b>Inge Wallin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Agree but out of scope for this patch. That should be done in master and separately.</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Yes, would you do that sooner than later?</pre>
<br />
<p>- Jarosław</p>
<br />
<p>On April 22nd, 2014, 6:14 a.m. UTC, Inge Wallin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Calligra.</div>
<div>By Inge Wallin.</div>
<p style="color: grey;"><i>Updated April 22, 2014, 6:14 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch implements the first simple version of a docx export filter. It has support for simple character formatting and paragraph formatting, including named styles. It can also distinguish between headings and normal paragraphs. Other than that it's an unwritten page. A special thanks to Lassi Nieminen who helped me with converting the styles.
The patch itself is very straightforward and mostly self contained in the filters/words/docx subdirectory. It builds on my previous work with libodfreader and libodf2, which are both in filters/. The only problem was that the KoZipStore and KoEncryptedStore backends create a file called "mimetype" automatically when a KoStore is created in write mode. I tried to work around this with as little impact as possible to the code in libs/odf and with full source compatibility with the previous API. If you think there is a better way to solve this problem than the one I implemented, then please tell me.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Testing with a number of odt files. Lassi did all the testing involving MS Office since I don't have that.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>CMakeLists.txt <span style="color: grey">(9eedc3d)</span></li>
<li>filters/libodf2/KoOdfStyle.h <span style="color: grey">(558ade9)</span></li>
<li>filters/libodf2/KoOdfStyle.cpp <span style="color: grey">(2b4eb95)</span></li>
<li>filters/libodf2/KoOdfStyleManager.h <span style="color: grey">(3761d38)</span></li>
<li>filters/libodf2/KoOdfStyleManager.cpp <span style="color: grey">(6e8f5b55)</span></li>
<li>filters/libodf2/KoOdfStyleProperties.h <span style="color: grey">(1bfbb5c)</span></li>
<li>filters/libodf2/KoOdfStyleProperties.cpp <span style="color: grey">(186e971)</span></li>
<li>filters/libodfreader/OdtReader.h <span style="color: grey">(64e0584)</span></li>
<li>filters/libodfreader/OdtReader.cpp <span style="color: grey">(6fa8ce6)</span></li>
<li>filters/words/docx/CMakeLists.txt <span style="color: grey">(f38a2bb)</span></li>
<li>filters/words/docx/export/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxExport.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxExport.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxFile.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxFile.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxStyleHelper.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxStyleHelper.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxStyleWriter.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/DocxStyleWriter.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/FileCollector.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/FileCollector.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdfReaderDocxContext.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdfReaderDocxContext.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdfTextReaderDocxBackend.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdfTextReaderDocxBackend.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdtReaderDocxBackend.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OdtReaderDocxBackend.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcContentTypes.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcContentTypes.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcRelSet.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcRelSet.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcRelSetManager.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/OpcRelSetManager.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/README <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/UnitConversions.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/UnitConversions.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>filters/words/docx/export/calligra_filter_odt2docx.desktop <span style="color: grey">(PRE-CREATION)</span></li>
<li>libs/odf/KoDirectoryStore.h <span style="color: grey">(19c059d)</span></li>
<li>libs/odf/KoDirectoryStore.cpp <span style="color: grey">(c893d47)</span></li>
<li>libs/odf/KoEncryptedStore.h <span style="color: grey">(0edd892)</span></li>
<li>libs/odf/KoEncryptedStore.cpp <span style="color: grey">(315df1a)</span></li>
<li>libs/odf/KoStore.h <span style="color: grey">(dadecd1)</span></li>
<li>libs/odf/KoStore.cpp <span style="color: grey">(fd42378)</span></li>
<li>libs/odf/KoStore_p.h <span style="color: grey">(2e518c1)</span></li>
<li>libs/odf/KoTarStore.h <span style="color: grey">(d99f09b)</span></li>
<li>libs/odf/KoTarStore.cpp <span style="color: grey">(6829f34)</span></li>
<li>libs/odf/KoZipStore.h <span style="color: grey">(90ffcb0)</span></li>
<li>libs/odf/KoZipStore.cpp <span style="color: grey">(4235134)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/117626/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>