<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/118457/">https://git.reviewboard.kde.org/r/118457/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">There are a few minor mistakes, see below.</pre>
<br />
<div>
<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/118457/diff/1/?file=276804#file276804line4" style="color: black; font-weight: bold; text-decoration: underline;">calligra_xgettext.sh</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<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">4</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="c"># calligra_xgettext planlibs.pot "`find . -name \*.cpp -o -name \*.h`"</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This comment is not quite correct - my mistake. You can see the correct usage for this function in any of the Messages.sh files. I have pushed a fix for this into branch "krita-testing-kazakov".</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=276911#file276911line103" style="color: black; font-weight: bold; text-decoration: underline;">krita/image/recorder/kis_recorded_filter_action.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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; ">KisRecordedFilterAction::~KisRecordedFilterAction()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">103</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">KisTransaction</span> <span class="nf">transaction</span><span class="p">(</span><span class="n">d</span><span class="o">-></span><span class="n">filter</span><span class="o">-></span><span class="n">name</span><span class="p">(),</span> <span class="n">dev</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">103</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">KisTransaction</span> <span class="nf">transaction</span><span class="p">(</span><span class="n"><span class="hl">kundo2_i18nc</span></span><span class="p"><span class="hl">(</span></span><span class="s"><span class="hl">"(qtundo_format)"</span></span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="s"><span class="hl">"Filter: </span></span><span class="se"><span class="hl">\"</span></span><span class="s"><span class="hl">%1</span></span><span class="se"><span class="hl">\"</span></span><span class="s"><span class="hl">"</span></span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="n">d</span><span class="o">-></span><span class="n">filter</span><span class="o">-></span><span class="n">name</span><span class="p">()<span class="hl">)</span>,</span> <span class="n">dev</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Wrong context, please remove it.</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=276932#file276932line98" style="color: black; font-weight: bold; text-decoration: underline;">krita/plugins/extensions/offsetimage/offsetimage.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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 OffsetImage::slotOffsetLayer()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">98</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">dlgOffsetImage</span><span class="o">-></span><span class="n">setCaption</span><span class="p">(</span><span class="n">actionName</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">98</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">dlgOffsetImage</span><span class="o">-></span><span class="n">setCaption</span><span class="p">(</span><span class="n">actionName</span><span class="p"><span class="hl">.</span></span><span class="n"><span class="hl">toString</span></span><span class="p"><span class="hl">()</span>);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Do you really want the name of undo/redo action to go in the dialog caption? These strings have different semantics and therefore might be translated differently.</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=276951#file276951line166" style="color: black; font-weight: bold; text-decoration: underline;">krita/plugins/tools/defaulttools/kis_tool_gradient.cc</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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 KisToolGradient::endPrimaryAction(KoPointerEvent *event)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">165</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">updater</span><span class="o">-></span><span class="n">start</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="n"><span class="hl">i18n</span></span><span class="p"><span class="hl">(</span></span><span class="s"><span class="hl">"Gradient"</span></span><span class="p">));</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">166</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">updater</span><span class="o">-></span><span class="n">start</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="n"><span class="hl">actionName</span></span><span class="p"><span class="hl">.</span></span><span class="n"><span class="hl">toString</span></span><span class="p"><span class="hl">(</span>));</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I smell a problem similar to using undo/redo action name for dialog title here. E.g. there might be an ellipsis required at the end of the text in the progress bar, e.g. "Gradient..." (not sure what that means though). Overall, toString() applied to KUndo2MagicString is bad.
If you don't care about ellipsises, another option is to add a context to "actionName" telling that the messages is also used for progress bar (is it?), e.g.:
KUndo2MagicString actionName = kundo2_i18nc("@info:progress", "Gradient");</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=277041#file277041line41" style="color: black; font-weight: bold; text-decoration: underline;">libs/flake/commands/KoShapeRenameCommand.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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; ">public:</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">41</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="o">:</span> <span class="n">KUndo2Command</span><span class="p">(</span><span class="n">parent</span><span class="p">)</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">41</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="o">:</span> <span class="n">KUndo2Command</span><span class="p">(</span><span class="n">kundo2_i18nc</span><span class="p">(</span><span class="s">"qtundo_format"</span><span class="p">,</span> <span class="s">"Rename Shape"</span><span class="p">),</span> <span class="n">parent</span><span class="p">)</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Please remove "qtundo_format" from here and turn kundo2_i18nc() into a plain kundo2_i18n().</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=277095#file277095line35" style="color: black; font-weight: bold; text-decoration: underline;">libs/kundo2/kundo2magicstring.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<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">35</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="kt">int</span> <span class="n">cdpos</span> <span class="o">=</span> <span class="n">m_text</span><span class="p">.</span><span class="n">indexOf</span><span class="p">(</span><span class="n">QLatin1Char</span><span class="p">(</span><span class="sc">'\n'</span><span class="p">));</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">For the record: we are deviating from Qt code here: in Qt all this parsing logic is done by QUndoCommand. I see only one reason for this move - operator<<.</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=277238#file277238line306" style="color: black; font-weight: bold; text-decoration: underline;">plugins/textshape/dialogs/TrackedChangeModel.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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 TrackedChangeModel::setupModelData(QTextDocument* document, ModelItem* parent)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">306</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">item</span><span class="o">-></span><span class="n">setChangeTitle</span><span class="p">(</span><span class="n">m_changeTracker</span><span class="o">-></span><span class="n">elementById</span><span class="p">(</span><span class="n">changeId</span><span class="p">)</span><span class="o">-></span><span class="n">getChangeTitle</span><span class="p">());</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">306</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">item</span><span class="o">-></span><span class="n">setChangeTitle</span><span class="p">(</span><span class="n">m_changeTracker</span><span class="o">-></span><span class="n">elementById</span><span class="p">(</span><span class="n">changeId</span><span class="p">)</span><span class="o">-></span><span class="n">getChangeTitle</span><span class="p">()<span class="hl">.</span></span><span class="n"><span class="hl">toString</span></span><span class="p"><span class="hl">()</span>);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Does toString() do conversion from KUndo2MagicString to QString here?</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=277263#file277263line60" style="color: black; font-weight: bold; text-decoration: underline;">sheets/commands/SheetCommands.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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 RenameSheetCommand::undo()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">60</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span class="p">(</span><span class="n">n</span><span class="p">.</span><span class="n">length</span><span class="p">()</span> <span class="o">></span> <span class="mi">64</span><span class="p">)</span> <span class="n">n</span> <span class="o">=</span> <span class="n">i18n</span><span class="p">(</span><span class="s">"Hide Sheet"</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">60</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span class="p">(</span><span class="n">n</span><span class="p"><span class="hl">.</span></span><span class="n"><span class="hl">toString</span></span><span class="p"><span class="hl">()</span>.</span><span class="n">length</span><span class="p">()</span> <span class="o">></span> <span class="mi">64</span><span class="p">)</span> <span class="n">n</span> <span class="o">=</span> <span class="n"><span class="hl">kundo2_</span>i18n</span><span class="p">(</span><span class="s">"Hide Sheet"</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The only place where toString() is totally reasonable.</pre>
</div>
<br />
<div>
<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/118457/diff/1/?file=277263#file277263line88" style="color: black; font-weight: bold; text-decoration: underline;">sheets/commands/SheetCommands.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</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 HideSheetCommand::undo()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">88</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span class="p">(</span><span class="n">n</span><span class="p">.</span><span class="n">length</span><span class="p">()</span> <span class="o">></span> <span class="mi">64</span><span class="p">)</span> <span class="n">n</span> <span class="o">=</span> <span class="n">i18n</span><span class="p">(</span><span class="s">"Show Sheet"</span><span class="p">);</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">88</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span class="p">(</span><span class="n">n</span><span class="p"><span class="hl">.</span></span><span class="n"><span class="hl">toString</span></span><span class="p"><span class="hl">()</span>.</span><span class="n">length</span><span class="p">()</span> <span class="o">></span> <span class="mi">64</span><span class="p">)</span> <span class="n">n</span> <span class="o">=</span> <span class="n"><span class="hl">kundo2_</span>i18n</span><span class="p">(</span><span class="s">"Show Sheet"</span><span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">And also here.</pre>
</div>
<br />
<p>- Alexander Potashev</p>
<br />
<p>On June 1st, 2014, 7:40 p.m. UTC, Dmitry Kazakov 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 and Localization and Translation (l10n).</div>
<div>By Dmitry Kazakov.</div>
<p style="color: grey;"><i>Updated June 1, 2014, 7:40 p.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;">Some languages (e.g. Russian) have complications related to undo messages (strings). The action string will be shown in two places: in the undo history docker and the message in undo/redo menu actions. The former one should be either a verb or a noun in nominative, the latter --- a noun in accusative. To achieve this, the translators use Magic Split functionality. When the translator needs two translations, he/she splits them with '\n' symbol and the magic string will recognize it and show in the widgets respectively. The problem is that such strings must be used inside KUndo2Command only! Otherwise the '\n' thing will be visible to the user. More than that, to let the translator know that the string is used in KUndo2Command, the developer must use "(qtundo-format)" context.
Both requirements were not satisfied in Calligra, so this patch introduces the way of keeping them satisfied automatically.
Now KUndo2Command cannot accept a usual QString as the operation's text, it accepts only KUndo2MagicString class, which is not convertible from QString. This class is constructed with a special kundo2_i18n() function, which is a full equivalent to a usual ki18n() thing, but returns a string with "(qtundo-format)" properly set. It ensures that all the strings passed to a KUndo2Command are properly formatted and not used anywhere else. It is guaranteed by static type-checks by the compiler.
The translator's scripts are corrected to fit new semantics by Alexander Potashev.
The biggest part of the patch just does regexp substitution of i18n*() into kundo2_i18n*(). The most interesting part is kept in three files:
./libs/kundo2magicstring.{cpp,h}
./calligra_xgettext.sh
</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;">All the checks are static so I just compiled the whole Calligra.</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>3rdparty/kdgantt/Messages.sh <span style="color: grey">(65aa502)</span></li>
<li>active/Messages.sh <span style="color: grey">(c95de84)</span></li>
<li>braindump/Messages.sh <span style="color: grey">(1360bac)</span></li>
<li>braindump/src/View.cpp <span style="color: grey">(9ec4ced)</span></li>
<li>calligra_xgettext.sh <span style="color: grey">(PRE-CREATION)</span></li>
<li>extras/calligra/Messages.sh <span style="color: grey">(9e5f146)</span></li>
<li>extras/converter/Messages.sh <span style="color: grey">(8a4ab1f)</span></li>
<li>extras/okularodpgenerator/Messages.sh <span style="color: grey">(af34749)</span></li>
<li>filters/Messages.sh <span style="color: grey">(f003521)</span></li>
<li>flow/Messages.sh <span style="color: grey">(f5af941)</span></li>
<li>karbon/Messages.sh <span style="color: grey">(35db850)</span></li>
<li>karbon/common/commands/KarbonBooleanCommand.cpp <span style="color: grey">(71536ac)</span></li>
<li>karbon/plugins/flattenpath/KarbonPathFlattenCommand.cpp <span style="color: grey">(74a175d)</span></li>
<li>karbon/plugins/refinepath/KarbonPathRefineCommand.cpp <span style="color: grey">(bcca68d)</span></li>
<li>karbon/plugins/roundcorners/RoundCornersCommand.cpp <span style="color: grey">(ed5263b)</span></li>
<li>karbon/plugins/roundcorners/RoundCornersPlugin.cpp <span style="color: grey">(94da9f3)</span></li>
<li>karbon/plugins/tools/Messages.sh <span style="color: grey">(add90f1)</span></li>
<li>karbon/plugins/tools/filterEffectTool/FilterAddCommand.cpp <span style="color: grey">(9faaec1)</span></li>
<li>karbon/plugins/tools/filterEffectTool/FilterRemoveCommand.cpp <span style="color: grey">(26311d0)</span></li>
<li>karbon/plugins/tools/filterEffectTool/FilterStackSetCommand.cpp <span style="color: grey">(25ff087)</span></li>
<li>karbon/plugins/whirlpinch/KarbonWhirlPinchCommand.cpp <span style="color: grey">(4b4598e)</span></li>
<li>karbon/ui/KarbonDocumentMergeCommand.cpp <span style="color: grey">(3a75b5c)</span></li>
<li>karbon/ui/KarbonView.cpp <span style="color: grey">(987b576)</span></li>
<li>karbon/ui/commands/KarbonLayerReorderCommand.cpp <span style="color: grey">(f8635e3)</span></li>
<li>karbon/ui/dockers/KarbonLayerDocker.cpp <span style="color: grey">(2dd4191)</span></li>
<li>karbon/ui/dockers/KarbonLayerModel.cpp <span style="color: grey">(0a3ca68)</span></li>
<li>kexi/Messages.sh <span style="color: grey">(fe33b54)</span></li>
<li>kexi/formeditor/commands.cpp <span style="color: grey">(42fe425)</span></li>
<li>kexi/plugins/forms/widgets/mapbrowser/Messages.sh <span style="color: grey">(91c9f18)</span></li>
<li>kexi/plugins/forms/widgets/webbrowser/Messages.sh <span style="color: grey">(9cefbf8)</span></li>
<li>kexi/plugins/shapes/relationdesign/Messages.sh <span style="color: grey">(f773146)</span></li>
<li>kexi/plugins/tables/kexitabledesignercommands.h <span style="color: grey">(afae4ac)</span></li>
<li>kexi/plugins/tables/kexitabledesignercommands.cpp <span style="color: grey">(2680663)</span></li>
<li>kexi/plugins/tables/kexitabledesignerview.cpp <span style="color: grey">(4ba28da)</span></li>
<li>krita/Messages.sh <span style="color: grey">(3a825ca)</span></li>
<li>krita/benchmarks/kis_filter_selections_benchmark.cpp <span style="color: grey">(6c000f2)</span></li>
<li>krita/benchmarks/kis_floodfill_benchmark.cpp <span style="color: grey">(d639d85)</span></li>
<li>krita/benchmarks/kis_gradient_benchmark.cpp <span style="color: grey">(a23b3cd)</span></li>
<li>krita/benchmarks/kis_low_memory_benchmark.cpp <span style="color: grey">(eb31b80)</span></li>
<li>krita/crashreporter/Messages.sh <span style="color: grey">(22e371a)</span></li>
<li>krita/image/commands/kis_change_filter_command.h <span style="color: grey">(e9722c1)</span></li>
<li>krita/image/commands/kis_deselect_global_selection_command.cpp <span style="color: grey">(14f7a35)</span></li>
<li>krita/image/commands/kis_image_change_layers_command.h <span style="color: grey">(71f0d6f)</span></li>
<li>krita/image/commands/kis_image_change_layers_command.cpp <span style="color: grey">(e6223b0)</span></li>
<li>krita/image/commands/kis_image_command.h <span style="color: grey">(73399b0)</span></li>
<li>krita/image/commands/kis_image_command.cpp <span style="color: grey">(d326d4c)</span></li>
<li>krita/image/commands/kis_image_layer_add_command.cpp <span style="color: grey">(f1961a6)</span></li>
<li>krita/image/commands/kis_image_layer_move_command.cpp <span style="color: grey">(65b9125)</span></li>
<li>krita/image/commands/kis_image_layer_remove_command.cpp <span style="color: grey">(0b54133)</span></li>
<li>krita/image/commands/kis_image_layer_remove_command_impl.cpp <span style="color: grey">(4c0d4dd)</span></li>
<li>krita/image/commands/kis_image_lock_command.cpp <span style="color: grey">(486d752)</span></li>
<li>krita/image/commands/kis_image_node_lower_command.cpp <span style="color: grey">(5eff8c9)</span></li>
<li>krita/image/commands/kis_image_node_raise_command.cpp <span style="color: grey">(55c44ac)</span></li>
<li>krita/image/commands/kis_image_node_to_bottom_command.cpp <span style="color: grey">(001470f)</span></li>
<li>krita/image/commands/kis_image_node_to_top_command.cpp <span style="color: grey">(08515d6)</span></li>
<li>krita/image/commands/kis_image_set_projection_color_space_command.cpp <span style="color: grey">(8bd0c97)</span></li>
<li>krita/image/commands/kis_layer_command.h <span style="color: grey">(063d01c)</span></li>
<li>krita/image/commands/kis_layer_command.cpp <span style="color: grey">(fbfa781)</span></li>
<li>krita/image/commands/kis_layer_props_command.cpp <span style="color: grey">(5d409a8)</span></li>
<li>krita/image/commands/kis_node_command.h <span style="color: grey">(66e044f)</span></li>
<li>krita/image/commands/kis_node_command.cpp <span style="color: grey">(ac29b7a)</span></li>
<li>krita/image/commands/kis_node_compositeop_command.cpp <span style="color: grey">(e50dd43)</span></li>
<li>krita/image/commands/kis_node_opacity_command.cpp <span style="color: grey">(4573935)</span></li>
<li>krita/image/commands/kis_node_property_list_command.cpp <span style="color: grey">(59c923e)</span></li>
<li>krita/image/commands/kis_reselect_global_selection_command.cpp <span style="color: grey">(56b28cd)</span></li>
<li>krita/image/commands_new/kis_image_resize_command.cpp <span style="color: grey">(8524770)</span></li>
<li>krita/image/commands_new/kis_image_set_resolution_command.cpp <span style="color: grey">(48bcac9)</span></li>
<li>krita/image/commands_new/kis_move_command_common.h <span style="color: grey">(e5dfa69)</span></li>
<li>krita/image/commands_new/kis_processing_command.cpp <span style="color: grey">(aa650de)</span></li>
<li>krita/image/commands_new/kis_saved_commands.h <span style="color: grey">(f8613fe)</span></li>
<li>krita/image/commands_new/kis_saved_commands.cpp <span style="color: grey">(291188a)</span></li>
<li>krita/image/commands_new/kis_update_command.cpp <span style="color: grey">(5e84ee3)</span></li>
<li>krita/image/filter/kis_filter.cc <span style="color: grey">(007fb88)</span></li>
<li>krita/image/kis_image.h <span style="color: grey">(86e0b37)</span></li>
<li>krita/image/kis_image.cc <span style="color: grey">(c68ebff)</span></li>
<li>krita/image/kis_indirect_painting_support.h <span style="color: grey">(417f206)</span></li>
<li>krita/image/kis_indirect_painting_support.cpp <span style="color: grey">(a268ce1)</span></li>
<li>krita/image/kis_legacy_undo_adapter.h <span style="color: grey">(4c0cea7)</span></li>
<li>krita/image/kis_legacy_undo_adapter.cpp <span style="color: grey">(1d8b86d)</span></li>
<li>krita/image/kis_painter.h <span style="color: grey">(00b4592)</span></li>
<li>krita/image/kis_painter.cc <span style="color: grey">(f0cf233)</span></li>
<li>krita/image/kis_post_execution_undo_adapter.h <span style="color: grey">(b4771a3)</span></li>
<li>krita/image/kis_post_execution_undo_adapter.cpp <span style="color: grey">(c3adcea)</span></li>
<li>krita/image/kis_processing_applicator.h <span style="color: grey">(8fcd90c)</span></li>
<li>krita/image/kis_processing_applicator.cpp <span style="color: grey">(ecaaf6f)</span></li>
<li>krita/image/kis_selection_filters.h <span style="color: grey">(f42e445)</span></li>
<li>krita/image/kis_selection_filters.cpp <span style="color: grey">(734c986)</span></li>
<li>krita/image/kis_simple_stroke_strategy.h <span style="color: grey">(2760667)</span></li>
<li>krita/image/kis_simple_stroke_strategy.cpp <span style="color: grey">(0f3c40e)</span></li>
<li>krita/image/kis_stroke.h <span style="color: grey">(25e5462)</span></li>
<li>krita/image/kis_stroke.cpp <span style="color: grey">(339f76c)</span></li>
<li>krita/image/kis_stroke_strategy.h <span style="color: grey">(d5a9bd9)</span></li>
<li>krita/image/kis_stroke_strategy.cpp <span style="color: grey">(6b045c9)</span></li>
<li>krita/image/kis_stroke_strategy_undo_command_based.h <span style="color: grey">(8d507ee)</span></li>
<li>krita/image/kis_stroke_strategy_undo_command_based.cpp <span style="color: grey">(505b98c)</span></li>
<li>krita/image/kis_strokes_queue.h <span style="color: grey">(0057d63)</span></li>
<li>krita/image/kis_strokes_queue.cpp <span style="color: grey">(044fdfe)</span></li>
<li>krita/image/kis_surrogate_undo_adapter.h <span style="color: grey">(c677992)</span></li>
<li>krita/image/kis_surrogate_undo_adapter.cpp <span style="color: grey">(8475fea)</span></li>
<li>krita/image/kis_transaction.h <span style="color: grey">(7219217)</span></li>
<li>krita/image/kis_transaction_data.h <span style="color: grey">(3fb4924)</span></li>
<li>krita/image/kis_transaction_data.cpp <span style="color: grey">(2ba0eba)</span></li>
<li>krita/image/kis_undo_adapter.h <span style="color: grey">(b0ba981)</span></li>
<li>krita/image/kis_undo_store.h <span style="color: grey">(10798a5)</span></li>
<li>krita/image/kis_undo_stores.h <span style="color: grey">(0e48ece)</span></li>
<li>krita/image/kis_undo_stores.cpp <span style="color: grey">(c33d579)</span></li>
<li>krita/image/kis_update_scheduler.cpp <span style="color: grey">(d3246e2)</span></li>
<li>krita/image/processing/kis_crop_processing_visitor.cpp <span style="color: grey">(ed44d73)</span></li>
<li>krita/image/processing/kis_mirror_processing_visitor.cpp <span style="color: grey">(f881997)</span></li>
<li>krita/image/processing/kis_transform_processing_visitor.cpp <span style="color: grey">(0939fd2)</span></li>
<li>krita/image/recorder/kis_macro_player.cc <span style="color: grey">(e7cd36d)</span></li>
<li>krita/image/recorder/kis_recorded_filter_action.cpp <span style="color: grey">(0878c85)</span></li>
<li>krita/image/recorder/kis_recorded_paint_action.cpp <span style="color: grey">(185114d)</span></li>
<li>krita/image/tests/kis_convolution_painter_test.cpp <span style="color: grey">(278da43)</span></li>
<li>krita/image/tests/kis_crop_processing_visitor_test.cpp <span style="color: grey">(4636914)</span></li>
<li>krita/image/tests/kis_paint_device_test.cpp <span style="color: grey">(ac3b057)</span></li>
<li>krita/image/tests/kis_painter_test.cpp <span style="color: grey">(7a5810e)</span></li>
<li>krita/image/tests/kis_pixel_selection_test.cpp <span style="color: grey">(0814e43)</span></li>
<li>krita/image/tests/kis_stroke_strategy_undo_command_based_test.cpp <span style="color: grey">(f040ef5)</span></li>
<li>krita/image/tests/kis_transaction_test.cpp <span style="color: grey">(a45f4d5)</span></li>
<li>krita/image/tests/kis_transform_worker_test.cpp <span style="color: grey">(2650e64)</span></li>
<li>krita/plugins/extensions/colorrange/colorrange.cc <span style="color: grey">(b2bcf8e)</span></li>
<li>krita/plugins/extensions/colorrange/dlg_colorrange.cc <span style="color: grey">(b2d6279)</span></li>
<li>krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc <span style="color: grey">(0e23c2b)</span></li>
<li>krita/plugins/extensions/dropshadow/kis_dropshadow.cc <span style="color: grey">(c2a0b49)</span></li>
<li>krita/plugins/extensions/gmic/kis_gmic_applicator.h <span style="color: grey">(c6c1bd3)</span></li>
<li>krita/plugins/extensions/gmic/kis_gmic_applicator.cpp <span style="color: grey">(51cfe5f)</span></li>
<li>krita/plugins/extensions/gmic/kis_gmic_plugin.cpp <span style="color: grey">(a2f7148)</span></li>
<li>krita/plugins/extensions/gmic/kis_import_gmic_processing_visitor.cpp <span style="color: grey">(b957e8d)</span></li>
<li>krita/plugins/extensions/gmic/tests/kis_gmic_tests.cpp <span style="color: grey">(958ce1a)</span></li>
<li>krita/plugins/extensions/offsetimage/kis_offset_processing_visitor.cpp <span style="color: grey">(d756921)</span></li>
<li>krita/plugins/extensions/offsetimage/offsetimage.h <span style="color: grey">(2ae4174)</span></li>
<li>krita/plugins/extensions/offsetimage/offsetimage.cpp <span style="color: grey">(d85aa9a)</span></li>
<li>krita/plugins/extensions/rotateimage/rotateimage.cc <span style="color: grey">(eaa0525)</span></li>
<li>krita/plugins/extensions/separate_channels/kis_channel_separator.cc <span style="color: grey">(e7a2f66)</span></li>
<li>krita/plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp <span style="color: grey">(a5711e7)</span></li>
<li>krita/plugins/filters/tests/kis_all_filter_test.cpp <span style="color: grey">(831e2b0)</span></li>
<li>krita/plugins/filters/unsharp/tests/kis_unsharp_mask_test.cpp <span style="color: grey">(eea5571)</span></li>
<li>krita/plugins/formats/bmp/kis_bmp_import.cpp <span style="color: grey">(354a8ae)</span></li>
<li>krita/plugins/formats/exr/exr_converter.cc <span style="color: grey">(99b9e58)</span></li>
<li>krita/plugins/formats/jpeg/kis_jpeg_converter.cc <span style="color: grey">(2b571d4)</span></li>
<li>krita/plugins/formats/pdf/kis_pdf_import.cpp <span style="color: grey">(27fb574)</span></li>
<li>krita/plugins/formats/ppm/kis_ppm_import.cpp <span style="color: grey">(df425ce)</span></li>
<li>krita/plugins/formats/psd/psd_loader.cpp <span style="color: grey">(fd16697)</span></li>
<li>krita/plugins/formats/tga/kis_tga_import.cpp <span style="color: grey">(531e5fe)</span></li>
<li>krita/plugins/formats/tiff/kis_tiff_converter.cc <span style="color: grey">(f89e211)</span></li>
<li>krita/plugins/formats/xcf/kis_xcf_import.cpp <span style="color: grey">(aa42e5a)</span></li>
<li>krita/plugins/paintops/filterop/kis_filterop.cpp <span style="color: grey">(1c6e413)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_brush.cc <span style="color: grey">(c9aa171)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_ellipse.cc <span style="color: grey">(d911b11)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_fill.cc <span style="color: grey">(b6d2d35)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_gradient.cc <span style="color: grey">(dafdcf8)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_line.cc <span style="color: grey">(06bd43a)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_multihand.cpp <span style="color: grey">(23f0451)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_path.cc <span style="color: grey">(b4a9d51)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_pencil.cc <span style="color: grey">(91f1fb2)</span></li>
<li>krita/plugins/tools/defaulttools/kis_tool_rectangle.cc <span style="color: grey">(9550e45)</span></li>
<li>krita/plugins/tools/defaulttools/strokes/move_selection_stroke_strategy.cpp <span style="color: grey">(2b6a066)</span></li>
<li>krita/plugins/tools/defaulttools/strokes/move_stroke_strategy.cpp <span style="color: grey">(583c055)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_brush.cc <span style="color: grey">(53d696b)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_contiguous.cc <span style="color: grey">(1d6ced2)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc <span style="color: grey">(4027fe8)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_outline.cc <span style="color: grey">(c8bcd92)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_path.cc <span style="color: grey">(20541f2)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_polygonal.cc <span style="color: grey">(3b1fba5)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_rectangular.cc <span style="color: grey">(bd17052)</span></li>
<li>krita/plugins/tools/selectiontools/kis_tool_select_similar.cc <span style="color: grey">(a1e382b)</span></li>
<li>krita/plugins/tools/tool_dyna/kis_tool_dyna.cpp <span style="color: grey">(84873d6)</span></li>
<li>krita/plugins/tools/tool_polygon/kis_tool_polygon.cc <span style="color: grey">(e658c7a)</span></li>
<li>krita/plugins/tools/tool_polyline/kis_tool_polyline.cc <span style="color: grey">(ec308aa)</span></li>
<li>krita/plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp <span style="color: grey">(e4edb3d)</span></li>
<li>krita/ui/actions/kis_selection_action_factories.cpp <span style="color: grey">(80c6012)</span></li>
<li>krita/ui/canvas/kis_canvas2.h <span style="color: grey">(3ddf25e)</span></li>
<li>krita/ui/canvas/kis_canvas2.cpp <span style="color: grey">(ee67006)</span></li>
<li>krita/ui/flake/kis_take_all_shapes_command.cpp <span style="color: grey">(521ff33)</span></li>
<li>krita/ui/kis_document_undo_store.h <span style="color: grey">(48beb79)</span></li>
<li>krita/ui/kis_document_undo_store.cpp <span style="color: grey">(1b4dbb2)</span></li>
<li>krita/ui/kis_layer_manager.cc <span style="color: grey">(83f1432)</span></li>
<li>krita/ui/kis_mask_manager.h <span style="color: grey">(ebb536b)</span></li>
<li>krita/ui/kis_mask_manager.cc <span style="color: grey">(4cbe03f)</span></li>
<li>krita/ui/kis_node_commands_adapter.h <span style="color: grey">(182cd65)</span></li>
<li>krita/ui/kis_node_commands_adapter.cpp <span style="color: grey">(fccf354)</span></li>
<li>krita/ui/kis_node_manager.h <span style="color: grey">(363cfa1)</span></li>
<li>krita/ui/kis_node_manager.cpp <span style="color: grey">(62449bb)</span></li>
<li>krita/ui/kis_png_converter.cpp <span style="color: grey">(f57fd36)</span></li>
<li>krita/ui/kis_selection_manager.cc <span style="color: grey">(035269d)</span></li>
<li>krita/ui/kis_transaction_based_command.h <span style="color: grey">(bc79fd1)</span></li>
<li>krita/ui/kis_transaction_based_command.cpp <span style="color: grey">(a5b96a7)</span></li>
<li>krita/ui/operations/kis_filter_selection_operation.cpp <span style="color: grey">(eb47076)</span></li>
<li>krita/ui/operations/kis_operation.h <span style="color: grey">(e7896f5)</span></li>
<li>krita/ui/operations/kis_operation.cpp <span style="color: grey">(d2717fc)</span></li>
<li>krita/ui/processing/fill_processing_visitor.cpp <span style="color: grey">(e7c2aae)</span></li>
<li>krita/ui/tests/freehand_stroke_test.cpp <span style="color: grey">(9ff53ac)</span></li>
<li>krita/ui/tests/kis_selection_decoration_test.cpp <span style="color: grey">(44f965a8)</span></li>
<li>krita/ui/tool/kis_figure_painting_tool_helper.h <span style="color: grey">(bb3a42f)</span></li>
<li>krita/ui/tool/kis_figure_painting_tool_helper.cpp <span style="color: grey">(9ea1b1f)</span></li>
<li>krita/ui/tool/kis_selection_tool_helper.h <span style="color: grey">(9bd9435)</span></li>
<li>krita/ui/tool/kis_selection_tool_helper.cpp <span style="color: grey">(7d1f1d2)</span></li>
<li>krita/ui/tool/kis_tool.cc <span style="color: grey">(fc2cc4a)</span></li>
<li>krita/ui/tool/kis_tool_freehand.h <span style="color: grey">(7809e6a)</span></li>
<li>krita/ui/tool/kis_tool_freehand.cc <span style="color: grey">(6a28290)</span></li>
<li>krita/ui/tool/kis_tool_freehand_helper.h <span style="color: grey">(3c37d1f)</span></li>
<li>krita/ui/tool/kis_tool_freehand_helper.cpp <span style="color: grey">(eba3a35)</span></li>
<li>krita/ui/tool/kis_tool_multihand_helper.h <span style="color: grey">(a62c101)</span></li>
<li>krita/ui/tool/kis_tool_multihand_helper.cpp <span style="color: grey">(f6d8df6)</span></li>
<li>krita/ui/tool/kis_tool_shape.h <span style="color: grey">(746f79c)</span></li>
<li>krita/ui/tool/kis_tool_shape.cc <span style="color: grey">(9597a87)</span></li>
<li>krita/ui/tool/strokes/freehand_stroke.h <span style="color: grey">(7b1a75c)</span></li>
<li>krita/ui/tool/strokes/freehand_stroke.cpp <span style="color: grey">(6739425)</span></li>
<li>krita/ui/tool/strokes/kis_filter_stroke_strategy.cpp <span style="color: grey">(6b193e1)</span></li>
<li>krita/ui/tool/strokes/kis_painter_based_stroke_strategy.h <span style="color: grey">(bcdeeee)</span></li>
<li>krita/ui/tool/strokes/kis_painter_based_stroke_strategy.cpp <span style="color: grey">(4fb4ed8)</span></li>
<li>libs/Messages.sh <span style="color: grey">(d930f85)</span></li>
<li>libs/flake/KoShapePaste.cpp <span style="color: grey">(e01a28e)</span></li>
<li>libs/flake/KoToolProxy.cpp <span style="color: grey">(5dfd57e)</span></li>
<li>libs/flake/commands/KoConnectionShapeTypeCommand.cpp <span style="color: grey">(6bee8a5)</span></li>
<li>libs/flake/commands/KoParameterHandleMoveCommand.cpp <span style="color: grey">(7d57e416)</span></li>
<li>libs/flake/commands/KoParameterToPathCommand.cpp <span style="color: grey">(177d35d)</span></li>
<li>libs/flake/commands/KoPathBreakAtPointCommand.cpp <span style="color: grey">(ec6617d)</span></li>
<li>libs/flake/commands/KoPathCombineCommand.cpp <span style="color: grey">(d8f00d5)</span></li>
<li>libs/flake/commands/KoPathControlPointMoveCommand.cpp <span style="color: grey">(f380dc9)</span></li>
<li>libs/flake/commands/KoPathFillRuleCommand.cpp <span style="color: grey">(287e6e4)</span></li>
<li>libs/flake/commands/KoPathPointInsertCommand.cpp <span style="color: grey">(046b320)</span></li>
<li>libs/flake/commands/KoPathPointMergeCommand.cpp <span style="color: grey">(6d9b3e2)</span></li>
<li>libs/flake/commands/KoPathPointMoveCommand.cpp <span style="color: grey">(c9a3ff2)</span></li>
<li>libs/flake/commands/KoPathPointRemoveCommand.cpp <span style="color: grey">(6110042)</span></li>
<li>libs/flake/commands/KoPathPointTypeCommand.cpp <span style="color: grey">(a997812)</span></li>
<li>libs/flake/commands/KoPathReverseCommand.cpp <span style="color: grey">(d076489)</span></li>
<li>libs/flake/commands/KoPathSegmentBreakCommand.cpp <span style="color: grey">(321f875)</span></li>
<li>libs/flake/commands/KoPathSegmentTypeCommand.cpp <span style="color: grey">(f8d1efb)</span></li>
<li>libs/flake/commands/KoPathShapeMarkerCommand.cpp <span style="color: grey">(f97fed1)</span></li>
<li>libs/flake/commands/KoShapeAlignCommand.cpp <span style="color: grey">(93ec43a)</span></li>
<li>libs/flake/commands/KoShapeBackgroundCommand.cpp <span style="color: grey">(bb3d58e)</span></li>
<li>libs/flake/commands/KoShapeClipCommand.cpp <span style="color: grey">(621772a)</span></li>
<li>libs/flake/commands/KoShapeCreateCommand.cpp <span style="color: grey">(55ffb40)</span></li>
<li>libs/flake/commands/KoShapeDeleteCommand.cpp <span style="color: grey">(96b9d67)</span></li>
<li>libs/flake/commands/KoShapeDistributeCommand.cpp <span style="color: grey">(bfb1409)</span></li>
<li>libs/flake/commands/KoShapeGroupCommand.cpp <span style="color: grey">(16b2b8e)</span></li>
<li>libs/flake/commands/KoShapeKeepAspectRatioCommand.cpp <span style="color: grey">(97d0b7c)</span></li>
<li>libs/flake/commands/KoShapeLockCommand.cpp <span style="color: grey">(99c3c97)</span></li>
<li>libs/flake/commands/KoShapeMoveCommand.cpp <span style="color: grey">(d284f3a)</span></li>
<li>libs/flake/commands/KoShapeRenameCommand.cpp <span style="color: grey">(e670e1f)</span></li>
<li>libs/flake/commands/KoShapeReorderCommand.cpp <span style="color: grey">(b3502a7)</span></li>
<li>libs/flake/commands/KoShapeRunAroundCommand.cpp <span style="color: grey">(cd8b415)</span></li>
<li>libs/flake/commands/KoShapeShadowCommand.cpp <span style="color: grey">(eeb416d)</span></li>
<li>libs/flake/commands/KoShapeShearCommand.cpp <span style="color: grey">(c9ff448)</span></li>
<li>libs/flake/commands/KoShapeSizeCommand.cpp <span style="color: grey">(0e24ec7)</span></li>
<li>libs/flake/commands/KoShapeStrokeCommand.cpp <span style="color: grey">(6c5df4a)</span></li>
<li>libs/flake/commands/KoShapeTransparencyCommand.cpp <span style="color: grey">(e9ba0a0)</span></li>
<li>libs/flake/commands/KoShapeUnclipCommand.cpp <span style="color: grey">(0cf9272)</span></li>
<li>libs/flake/commands/KoShapeUngroupCommand.cpp <span style="color: grey">(a3b5dc2)</span></li>
<li>libs/flake/commands/KoSubpathJoinCommand.cpp <span style="color: grey">(a68ec58)</span></li>
<li>libs/flake/commands/KoSubpathRemoveCommand.cpp <span style="color: grey">(79894f0)</span></li>
<li>libs/flake/tools/KoPathSegmentChangeStrategy.cpp <span style="color: grey">(b6c8fe7)</span></li>
<li>libs/kopageapp/KoPADocumentModel.cpp <span style="color: grey">(b6bb071)</span></li>
<li>libs/kopageapp/KoPADocumentStructureDocker.cpp <span style="color: grey">(587263b)</span></li>
<li>libs/kopageapp/KoPAPastePage.cpp <span style="color: grey">(7c843c9)</span></li>
<li>libs/kopageapp/KoPAView.cpp <span style="color: grey">(9fa7d31)</span></li>
<li>libs/kopageapp/commands/KoPAChangeMasterPageCommand.cpp <span style="color: grey">(384c784)</span></li>
<li>libs/kopageapp/commands/KoPAChangePageLayoutCommand.cpp <span style="color: grey">(5cc79bb)</span></li>
<li>libs/kopageapp/commands/KoPADisplayMasterBackgroundCommand.cpp <span style="color: grey">(8f558da)</span></li>
<li>libs/kopageapp/commands/KoPADisplayMasterShapesCommand.cpp <span style="color: grey">(05f3a5a)</span></li>
<li>libs/kopageapp/commands/KoPAPageDeleteCommand.cpp <span style="color: grey">(972f9e9)</span></li>
<li>libs/kopageapp/commands/KoPAPageInsertCommand.cpp <span style="color: grey">(99b7ec3)</span></li>
<li>libs/kopageapp/commands/KoPAPageMoveCommand.cpp <span style="color: grey">(6452be5)</span></li>
<li>libs/kopageapp/tools/backgroundTool/KoPABackgroundToolWidget.cpp <span style="color: grey">(f6ff2cd)</span></li>
<li>libs/koproperty/Messages.sh <span style="color: grey">(713514a)</span></li>
<li>libs/kotext/KoTextEditor.h <span style="color: grey">(27c86fa)</span></li>
<li>libs/kotext/KoTextEditor.cpp <span style="color: grey">(efc9dd0)</span></li>
<li>libs/kotext/KoTextEditor_format.cpp <span style="color: grey">(dacc19a)</span></li>
<li>libs/kotext/KoTextEditor_p.h <span style="color: grey">(0368cb6)</span></li>
<li>libs/kotext/KoTextEditor_undo.cpp <span style="color: grey">(fcc1f5a)</span></li>
<li>libs/kotext/changetracker/KoChangeTracker.h <span style="color: grey">(6c0c729)</span></li>
<li>libs/kotext/changetracker/KoChangeTracker.cpp <span style="color: grey">(31a2c32)</span></li>
<li>libs/kotext/changetracker/KoChangeTrackerElement.h <span style="color: grey">(709f560)</span></li>
<li>libs/kotext/changetracker/KoChangeTrackerElement.cpp <span style="color: grey">(cef4c01)</span></li>
<li>libs/kotext/commands/AddAnnotationCommand.cpp <span style="color: grey">(9011c55)</span></li>
<li>libs/kotext/commands/AddTextRangeCommand.cpp <span style="color: grey">(9c4c6cc)</span></li>
<li>libs/kotext/commands/ChangeAnchorPropertiesCommand.cpp <span style="color: grey">(384c32d)</span></li>
<li>libs/kotext/commands/ChangeListCommand.cpp <span style="color: grey">(ff064b0)</span></li>
<li>libs/kotext/commands/ChangeStylesCommand.cpp <span style="color: grey">(ed99fad)</span></li>
<li>libs/kotext/commands/ChangeStylesMacroCommand.cpp <span style="color: grey">(f4ddab4)</span></li>
<li>libs/kotext/commands/ChangeTrackedDeleteCommand.cpp <span style="color: grey">(4940020)</span></li>
<li>libs/kotext/commands/DeleteCommand.cpp <span style="color: grey">(5cb92527)</span></li>
<li>libs/kotext/commands/DeleteTableColumnCommand.cpp <span style="color: grey">(793f10a)</span></li>
<li>libs/kotext/commands/DeleteTableRowCommand.cpp <span style="color: grey">(96f3bfd)</span></li>
<li>libs/kotext/commands/InsertNoteCommand.cpp <span style="color: grey">(30fa0df)</span></li>
<li>libs/kotext/commands/InsertTableColumnCommand.cpp <span style="color: grey">(5d0537a)</span></li>
<li>libs/kotext/commands/InsertTableRowCommand.cpp <span style="color: grey">(3802eab)</span></li>
<li>libs/kotext/commands/ListItemNumberingCommand.cpp <span style="color: grey">(3f21884)</span></li>
<li>libs/kotext/commands/ParagraphFormattingCommand.cpp <span style="color: grey">(39e4bd1)</span></li>
<li>libs/kotext/commands/ResizeTableCommand.cpp <span style="color: grey">(7775b93)</span></li>
<li>libs/kotext/commands/TextPasteCommand.cpp <span style="color: grey">(d44887b)</span></li>
<li>libs/kundo2/CMakeLists.txt <span style="color: grey">(31d0a07)</span></li>
<li>libs/kundo2/kundo2magicstring.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>libs/kundo2/kundo2magicstring.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>libs/kundo2/kundo2stack.h <span style="color: grey">(30ff215)</span></li>
<li>libs/kundo2/kundo2stack.cpp <span style="color: grey">(2b644a9)</span></li>
<li>libs/kundo2/kundo2stack_p.h <span style="color: grey">(2c4f9a9)</span></li>
<li>libs/main/KoDocument.h <span style="color: grey">(fcdc7e8)</span></li>
<li>libs/main/KoDocument.cpp <span style="color: grey">(051a81d)</span></li>
<li>plan/Messages.sh <span style="color: grey">(8434481)</span></li>
<li>plan/kptmaindocument.cpp <span style="color: grey">(1dad4dd)</span></li>
<li>plan/kptview.cpp <span style="color: grey">(d1dea4f)</span></li>
<li>plan/libs/Messages.sh <span style="color: grey">(cb1bd9f)</span></li>
<li>plan/libs/kernel/kptcommand.h <span style="color: grey">(9286558)</span></li>
<li>plan/libs/kernel/kptcommand.cpp <span style="color: grey">(691529d)</span></li>
<li>plan/libs/models/kptaccountsmodel.cpp <span style="color: grey">(28afeba)</span></li>
<li>plan/libs/models/kptcalendarmodel.cpp <span style="color: grey">(3717b30)</span></li>
<li>plan/libs/models/kptcommonstrings.h <span style="color: grey">(84d2780)</span></li>
<li>plan/libs/models/kptcommonstrings.cpp <span style="color: grey">(42c176e)</span></li>
<li>plan/libs/models/kptdocumentmodel.cpp <span style="color: grey">(72561c1)</span></li>
<li>plan/libs/models/kptnodeitemmodel.cpp <span style="color: grey">(b321253)</span></li>
<li>plan/libs/models/kptrelationmodel.cpp <span style="color: grey">(364af66)</span></li>
<li>plan/libs/models/kptresourcemodel.cpp <span style="color: grey">(c6086e0)</span></li>
<li>plan/libs/models/kptschedulemodel.cpp <span style="color: grey">(f61c99c)</span></li>
<li>plan/libs/models/kpttaskstatusmodel.cpp <span style="color: grey">(ba169a9)</span></li>
<li>plan/libs/ui/kptcalendareditor.cpp <span style="color: grey">(76a560f)</span></li>
<li>plan/libs/ui/kptdocumentspanel.cpp <span style="color: grey">(3ae5b7d)</span></li>
<li>plan/libs/ui/kptintervaledit.cpp <span style="color: grey">(40b50f9)</span></li>
<li>plan/libs/ui/kptlocaleconfigmoneydialog.cpp <span style="color: grey">(c21dfc7)</span></li>
<li>plan/libs/ui/kptmainprojectdialog.cpp <span style="color: grey">(d6f1b53)</span></li>
<li>plan/libs/ui/kptmainprojectpanel.cpp <span style="color: grey">(d3a9d8c)</span></li>
<li>plan/libs/ui/kptmilestoneprogresspanel.cpp <span style="color: grey">(33cdc6f)</span></li>
<li>plan/libs/ui/kptperteditor.cpp <span style="color: grey">(4c426dc)</span></li>
<li>plan/libs/ui/kptrelationdialog.cpp <span style="color: grey">(499be00)</span></li>
<li>plan/libs/ui/kptrequestresourcespanel.cpp <span style="color: grey">(d62a1ea)</span></li>
<li>plan/libs/ui/kptresourcedialog.cpp <span style="color: grey">(9608316)</span></li>
<li>plan/libs/ui/kptscheduleeditor.cpp <span style="color: grey">(41a4d13)</span></li>
<li>plan/libs/ui/kptstandardworktimedialog.cpp <span style="color: grey">(ff6b5df)</span></li>
<li>plan/libs/ui/kptsummarytaskdialog.cpp <span style="color: grey">(96ad249)</span></li>
<li>plan/libs/ui/kptsummarytaskgeneralpanel.cpp <span style="color: grey">(d71daa8)</span></li>
<li>plan/libs/ui/kpttaskcostpanel.cpp <span style="color: grey">(de9f3ef)</span></li>
<li>plan/libs/ui/kpttaskdescriptiondialog.cpp <span style="color: grey">(3b84ebd)</span></li>
<li>plan/libs/ui/kpttaskdialog.cpp <span style="color: grey">(eabef90)</span></li>
<li>plan/libs/ui/kpttaskeditor.cpp <span style="color: grey">(5067b7d)</span></li>
<li>plan/libs/ui/kpttaskgeneralpanel.cpp <span style="color: grey">(b6cd2b8)</span></li>
<li>plan/libs/ui/kpttaskprogressdialog.cpp <span style="color: grey">(3e4993d)</span></li>
<li>plan/libs/ui/kpttaskprogresspanel.cpp <span style="color: grey">(7e62971)</span></li>
<li>plan/libs/ui/kptwbsdefinitionpanel.cpp <span style="color: grey">(f6a439b)</span></li>
<li>plan/libs/ui/reports/reportview.h <span style="color: grey">(9c01129)</span></li>
<li>plan/libs/ui/reports/reportview.cpp <span style="color: grey">(e3f090c)</span></li>
<li>plan/plugins/schedulers/rcps/Messages.sh <span style="color: grey">(156afee)</span></li>
<li>plan/plugins/schedulers/tj/Messages.sh <span style="color: grey">(248ce0e)</span></li>
<li>plan/plugins/scripting/Messages.sh <span style="color: grey">(ee13f05)</span></li>
<li>plan/plugins/scripting/Module.h <span style="color: grey">(0decd34)</span></li>
<li>plan/plugins/scripting/Module.cpp <span style="color: grey">(11d1567)</span></li>
<li>plan/plugins/scripting/Project.cpp <span style="color: grey">(098c5a8)</span></li>
<li>plan/plugins/scripting/Resource.cpp <span style="color: grey">(7b5044b)</span></li>
<li>plan/workpackage/Messages.sh <span style="color: grey">(4e2f188)</span></li>
<li>plan/workpackage/packagesettings.cpp <span style="color: grey">(cc0b215)</span></li>
<li>plan/workpackage/part.cpp <span style="color: grey">(196d844)</span></li>
<li>plan/workpackage/taskcompletiondialog.cpp <span style="color: grey">(86ca81a)</span></li>
<li>plan/workpackage/taskworkpackagemodel.cpp <span style="color: grey">(70bba61)</span></li>
<li>plan/workpackage/view.cpp <span style="color: grey">(50b9d28)</span></li>
<li>plan/workpackage/workpackage.h <span style="color: grey">(94bfe39)</span></li>
<li>plan/workpackage/workpackage.cpp <span style="color: grey">(af485bf)</span></li>
<li>plugins/artistictextshape/AddTextRangeCommand.cpp <span style="color: grey">(316c572)</span></li>
<li>plugins/artistictextshape/ArtisticTextTool.cpp <span style="color: grey">(a95d7b8)</span></li>
<li>plugins/artistictextshape/AttachTextToPathCommand.cpp <span style="color: grey">(8f089b0)</span></li>
<li>plugins/artistictextshape/ChangeTextAnchorCommand.cpp <span style="color: grey">(09097d9)</span></li>
<li>plugins/artistictextshape/ChangeTextFontCommand.cpp <span style="color: grey">(d463ef0)</span></li>
<li>plugins/artistictextshape/ChangeTextOffsetCommand.cpp <span style="color: grey">(daecd54)</span></li>
<li>plugins/artistictextshape/DetachTextFromPathCommand.cpp <span style="color: grey">(0c9e093)</span></li>
<li>plugins/artistictextshape/Messages.sh <span style="color: grey">(bfe5ea5)</span></li>
<li>plugins/artistictextshape/RemoveTextRangeCommand.cpp <span style="color: grey">(fde39c8)</span></li>
<li>plugins/artistictextshape/ReplaceTextRangeCommand.cpp <span style="color: grey">(52f8f16)</span></li>
<li>plugins/chartshape/Messages.sh <span style="color: grey">(9ce6052)</span></li>
<li>plugins/chartshape/commands/AxisCommand.cpp <span style="color: grey">(398e803)</span></li>
<li>plugins/chartshape/commands/ChartTextShapeCommand.cpp <span style="color: grey">(767038b)</span></li>
<li>plugins/chartshape/commands/ChartTypeCommand.cpp <span style="color: grey">(311ea63)</span></li>
<li>plugins/chartshape/commands/DatasetCommand.cpp <span style="color: grey">(53f8e00)</span></li>
<li>plugins/chartshape/commands/LegendCommand.cpp <span style="color: grey">(ad8e2e0)</span></li>
<li>plugins/colorengines/Messages.sh <span style="color: grey">(852bafb)</span></li>
<li>plugins/commentshape/Messages.sh <span style="color: grey">(97a4f4d)</span></li>
<li>plugins/defaultTools/Messages.sh <span style="color: grey">(9f9d724)</span></li>
<li>plugins/defaultTools/defaulttool/DefaultTool.cpp <span style="color: grey">(453a727)</span></li>
<li>plugins/defaultTools/defaulttool/DefaultToolTransformWidget.cpp <span style="color: grey">(fd04956)</span></li>
<li>plugins/defaultTools/defaulttool/DefaultToolWidget.cpp <span style="color: grey">(7f747b1)</span></li>
<li>plugins/defaultTools/defaulttool/ShapeResizeStrategy.cpp <span style="color: grey">(73ad5a9)</span></li>
<li>plugins/defaultTools/defaulttool/ShapeRotateStrategy.cpp <span style="color: grey">(39abcf9)</span></li>
<li>plugins/defaultTools/defaulttool/ShapeShearStrategy.cpp <span style="color: grey">(0c0f17f)</span></li>
<li>plugins/dockers/Messages.sh <span style="color: grey">(703876e)</span></li>
<li>plugins/formulashape/FormulaCommand.cpp <span style="color: grey">(72c2634)</span></li>
<li>plugins/formulashape/FormulaEditor.cpp <span style="color: grey">(73da180)</span></li>
<li>plugins/formulashape/Messages.sh <span style="color: grey">(2a7d6b7)</span></li>
<li>plugins/kexi/spreadsheet/Messages.sh <span style="color: grey">(0ca8b1f)</span></li>
<li>plugins/musicshape/Messages.sh <span style="color: grey">(a43f557)</span></li>
<li>plugins/musicshape/commands/AddBarsCommand.cpp <span style="color: grey">(425548f)</span></li>
<li>plugins/musicshape/commands/AddDotCommand.cpp <span style="color: grey">(64a89fe)</span></li>
<li>plugins/musicshape/commands/AddNoteCommand.cpp <span style="color: grey">(c82c86d)</span></li>
<li>plugins/musicshape/commands/AddPartCommand.cpp <span style="color: grey">(dde9e23)</span></li>
<li>plugins/musicshape/commands/ChangePartDetailsCommand.cpp <span style="color: grey">(617e128)</span></li>
<li>plugins/musicshape/commands/CreateChordCommand.cpp <span style="color: grey">(b3f1d8e)</span></li>
<li>plugins/musicshape/commands/MakeRestCommand.cpp <span style="color: grey">(3aa80af)</span></li>
<li>plugins/musicshape/commands/RemoveBarCommand.cpp <span style="color: grey">(eacdf05)</span></li>
<li>plugins/musicshape/commands/RemoveChordCommand.cpp <span style="color: grey">(356d3ce)</span></li>
<li>plugins/musicshape/commands/RemoveNoteCommand.cpp <span style="color: grey">(0c41c91)</span></li>
<li>plugins/musicshape/commands/RemovePartCommand.cpp <span style="color: grey">(86b1eba)</span></li>
<li>plugins/musicshape/commands/RemoveStaffElementCommand.cpp <span style="color: grey">(7777f62)</span></li>
<li>plugins/musicshape/commands/SetAccidentalsCommand.cpp <span style="color: grey">(e7d3e76)</span></li>
<li>plugins/musicshape/commands/SetClefCommand.cpp <span style="color: grey">(57f8f97)</span></li>
<li>plugins/musicshape/commands/SetKeySignatureCommand.cpp <span style="color: grey">(54dafdc)</span></li>
<li>plugins/musicshape/commands/SetTimeSignatureCommand.cpp <span style="color: grey">(51d19d9)</span></li>
<li>plugins/musicshape/commands/ToggleTiedNoteCommand.cpp <span style="color: grey">(f496e49)</span></li>
<li>plugins/pathshapes/Messages.sh <span style="color: grey">(1b84744)</span></li>
<li>plugins/pathshapes/ellipse/EllipseShapeConfigCommand.cpp <span style="color: grey">(9e34e92)</span></li>
<li>plugins/pathshapes/rectangle/RectangleShapeConfigCommand.cpp <span style="color: grey">(1b7d697)</span></li>
<li>plugins/pathshapes/spiral/SpiralShapeConfigCommand.cpp <span style="color: grey">(4e0ee7d)</span></li>
<li>plugins/pathshapes/star/StarShapeConfigCommand.cpp <span style="color: grey">(9a6b309)</span></li>
<li>plugins/pictureshape/ChangeImageCommand.cpp <span style="color: grey">(0608b41)</span></li>
<li>plugins/pictureshape/ClipCommand.cpp <span style="color: grey">(2581bd8)</span></li>
<li>plugins/pictureshape/Messages.sh <span style="color: grey">(4c74647)</span></li>
<li>plugins/pluginshape/Messages.sh <span style="color: grey">(f4e28e5)</span></li>
<li>plugins/reporting/barcode/Messages.sh <span style="color: grey">(f15bbdb)</span></li>
<li>plugins/reporting/chart/Messages.sh <span style="color: grey">(f67b19f)</span></li>
<li>plugins/reporting/maps/Messages.sh <span style="color: grey">(6c9f48d)</span></li>
<li>plugins/reporting/web/Messages.sh <span style="color: grey">(14620c9)</span></li>
<li>plugins/semanticitems/contact/Messages.sh <span style="color: grey">(046c5d1)</span></li>
<li>plugins/semanticitems/event/Messages.sh <span style="color: grey">(4e1b6a3)</span></li>
<li>plugins/semanticitems/location/Messages.sh <span style="color: grey">(8f6ea31)</span></li>
<li>plugins/staging/googledocs/Messages.sh <span style="color: grey">(3ec62f6)</span></li>
<li>plugins/staging/pivottables/Messages.sh <span style="color: grey">(702dc96)</span></li>
<li>plugins/staging/templateshape/ChangeSomethingCommand.cpp <span style="color: grey">(d098cd4)</span></li>
<li>plugins/staging/templateshape/Messages.sh <span style="color: grey">(d151821)</span></li>
<li>plugins/staging/threedshape/Messages.sh <span style="color: grey">(7bc171f)</span></li>
<li>plugins/textediting/autocorrection/Messages.sh <span style="color: grey">(83e4a1c)</span></li>
<li>plugins/textediting/changecase/Messages.sh <span style="color: grey">(9e11a76)</span></li>
<li>plugins/textediting/spellcheck/Messages.sh <span style="color: grey">(f161b0e)</span></li>
<li>plugins/textediting/thesaurus/Messages.sh <span style="color: grey">(c1f47f5)</span></li>
<li>plugins/textshape/Messages.sh <span style="color: grey">(4e9b8fc)</span></li>
<li>plugins/textshape/TextTool.cpp <span style="color: grey">(2bf8787)</span></li>
<li>plugins/textshape/commands/AcceptChangeCommand.cpp <span style="color: grey">(0d9adcc)</span></li>
<li>plugins/textshape/commands/AutoResizeCommand.cpp <span style="color: grey">(244d95e)</span></li>
<li>plugins/textshape/commands/ChangeListLevelCommand.cpp <span style="color: grey">(fdb6df5)</span></li>
<li>plugins/textshape/commands/RejectChangeCommand.cpp <span style="color: grey">(5594802)</span></li>
<li>plugins/textshape/commands/ShowChangesCommand.cpp <span style="color: grey">(851b8ce)</span></li>
<li>plugins/textshape/dialogs/FontDia.cpp <span style="color: grey">(5e0b7c2)</span></li>
<li>plugins/textshape/dialogs/TrackedChangeModel.cpp <span style="color: grey">(e270173)</span></li>
<li>plugins/variables/Messages.sh <span style="color: grey">(6ab9b88)</span></li>
<li>plugins/vectorshape/ChangeVectorDataCommand.cpp <span style="color: grey">(c98b4c9)</span></li>
<li>plugins/vectorshape/Messages.sh <span style="color: grey">(4fd90d5)</span></li>
<li>plugins/videoshape/ChangeVideoCommand.cpp <span style="color: grey">(c916744)</span></li>
<li>plugins/videoshape/Messages.sh <span style="color: grey">(7a67cd8)</span></li>
<li>sheets/Cell.h <span style="color: grey">(2d85a81)</span></li>
<li>sheets/Messages.sh <span style="color: grey">(b7cf8ef)</span></li>
<li>sheets/commands/ApplyFilterCommand.cpp <span style="color: grey">(e76b50f)</span></li>
<li>sheets/commands/AutoFillCommand.cpp <span style="color: grey">(984d04a)</span></li>
<li>sheets/commands/AutoFilterCommand.cpp <span style="color: grey">(360fe46)</span></li>
<li>sheets/commands/AutoFormatCommand.cpp <span style="color: grey">(3c67acf)</span></li>
<li>sheets/commands/BorderColorCommand.cpp <span style="color: grey">(b652cea)</span></li>
<li>sheets/commands/CommentCommand.cpp <span style="color: grey">(7b8513b)</span></li>
<li>sheets/commands/ConditionCommand.cpp <span style="color: grey">(8124a9d)</span></li>
<li>sheets/commands/DataManipulators.cpp <span style="color: grey">(1f31536)</span></li>
<li>sheets/commands/DeleteCommand.cpp <span style="color: grey">(d7c8d2d)</span></li>
<li>sheets/commands/IndentationCommand.cpp <span style="color: grey">(f9409a8)</span></li>
<li>sheets/commands/LinkCommand.cpp <span style="color: grey">(6e871f4)</span></li>
<li>sheets/commands/MergeCommand.h <span style="color: grey">(36856af)</span></li>
<li>sheets/commands/MergeCommand.cpp <span style="color: grey">(583a374)</span></li>
<li>sheets/commands/NamedAreaCommand.cpp <span style="color: grey">(d5712ff)</span></li>
<li>sheets/commands/PrecisionCommand.cpp <span style="color: grey">(dabb5c0)</span></li>
<li>sheets/commands/RowColumnManipulators.h <span style="color: grey">(2761143)</span></li>
<li>sheets/commands/RowColumnManipulators.cpp <span style="color: grey">(b6297cd)</span></li>
<li>sheets/commands/SheetCommands.cpp <span style="color: grey">(54d485e)</span></li>
<li>sheets/commands/SortManipulator.cpp <span style="color: grey">(524d27b)</span></li>
<li>sheets/commands/SpellCheckCommand.cpp <span style="color: grey">(8b8997f)</span></li>
<li>sheets/commands/StyleCommand.cpp <span style="color: grey">(0d3127e)</span></li>
<li>sheets/commands/ValidityCommand.cpp <span style="color: grey">(1620710)</span></li>
<li>sheets/dialogs/AddNamedAreaDialog.cpp <span style="color: grey">(b3a54a5)</span></li>
<li>sheets/dialogs/AngleDialog.cpp <span style="color: grey">(7185037)</span></li>
<li>sheets/dialogs/CSVDialog.cpp <span style="color: grey">(ac218e6)</span></li>
<li>sheets/dialogs/CommentDialog.cpp <span style="color: grey">(6f5e794)</span></li>
<li>sheets/dialogs/ConsolidateDialog.cpp <span style="color: grey">(5b9f1fe)</span></li>
<li>sheets/dialogs/DatabaseDialog.cpp <span style="color: grey">(324a025)</span></li>
<li>sheets/dialogs/LayoutDialog.cpp <span style="color: grey">(0d9c42f)</span></li>
<li>sheets/dialogs/NamedAreaDialog.cpp <span style="color: grey">(1762132)</span></li>
<li>sheets/dialogs/ShowDialog.cpp <span style="color: grey">(6512cde)</span></li>
<li>sheets/interfaces/ViewAdaptor.cpp <span style="color: grey">(0b0bfa0)</span></li>
<li>sheets/part/View.cpp <span style="color: grey">(2ad4bc9)</span></li>
<li>sheets/part/commands/DefinePrintRangeCommand.cpp <span style="color: grey">(5b1e6dc)</span></li>
<li>sheets/part/commands/PageLayoutCommand.cpp <span style="color: grey">(1370c6c)</span></li>
<li>sheets/part/dialogs/PageLayoutDialog.cpp <span style="color: grey">(7800fb3)</span></li>
<li>sheets/plugins/calendar/CalendarTool.cpp <span style="color: grey">(39c8cb8)</span></li>
<li>sheets/plugins/calendar/Messages.sh <span style="color: grey">(b4e9aee)</span></li>
<li>sheets/plugins/scripting/Messages.sh <span style="color: grey">(379e2ea)</span></li>
<li>sheets/plugins/scripting/ScriptingWriter.h <span style="color: grey">(2b4b9a7)</span></li>
<li>sheets/plugins/solver/Messages.sh <span style="color: grey">(84298a3)</span></li>
<li>sheets/shape/Messages.sh <span style="color: grey">(61aceed)</span></li>
<li>sheets/ui/CellToolBase.cpp <span style="color: grey">(9c32002)</span></li>
<li>sheets/ui/CellToolBase_p.cpp <span style="color: grey">(07b65c5)</span></li>
<li>stage/Messages.sh <span style="color: grey">(3ba663a)</span></li>
<li>stage/part/KPrPicturesImport.cpp <span style="color: grey">(1900dfb)</span></li>
<li>stage/part/commands/KPrAddCustomSlideShowCommand.cpp <span style="color: grey">(3db8c71)</span></li>
<li>stage/part/commands/KPrAnimationCreateCommand.cpp <span style="color: grey">(769435f)</span></li>
<li>stage/part/commands/KPrAnimationEditNodeTypeCommand.cpp <span style="color: grey">(d072a3b)</span></li>
<li>stage/part/commands/KPrAnimationRemoveCommand.cpp <span style="color: grey">(206ee15)</span></li>
<li>stage/part/commands/KPrDelCustomSlideShowCommand.cpp <span style="color: grey">(f6da6e1)</span></li>
<li>stage/part/commands/KPrDeleteSlidesCommand.cpp <span style="color: grey">(1f36607)</span></li>
<li>stage/part/commands/KPrEditAnimationTimeLineCommand.cpp <span style="color: grey">(6a8181e)</span></li>
<li>stage/part/commands/KPrEditCustomSlideShowsCommand.cpp <span style="color: grey">(dd485ed)</span></li>
<li>stage/part/commands/KPrPageEffectSetCommand.cpp <span style="color: grey">(0d1042e)</span></li>
<li>stage/part/commands/KPrRenameCustomSlideShowCommand.cpp <span style="color: grey">(a1f135b)</span></li>
<li>stage/part/commands/KPrReorderAnimationCommand.cpp <span style="color: grey">(6d2d7ad)</span></li>
<li>stage/part/pagelayout/KPrPlaceholders.cpp <span style="color: grey">(eca83d3)</span></li>
<li>stage/part/tools/KPrPlaceholderTool.cpp <span style="color: grey">(ceeeafd)</span></li>
<li>stage/part/tools/animationtool/KPrPageEffectDocker.cpp <span style="color: grey">(d4f02f8)</span></li>
<li>stage/plugins/eventactions/sound/KPrSoundEventActionWidget.cpp <span style="color: grey">(6ba7acb)</span></li>
<li>words/Messages.sh <span style="color: grey">(c9474f3)</span></li>
<li>words/part/KWView.cpp <span style="color: grey">(b280d50)</span></li>
<li>words/part/commands/KWChangePageStyleCommand.cpp <span style="color: grey">(c4be99a)</span></li>
<li>words/part/commands/KWFrameCreateCommand.cpp <span style="color: grey">(4e35095)</span></li>
<li>words/part/commands/KWFrameDeleteCommand.cpp <span style="color: grey">(c2f289c)</span></li>
<li>words/part/commands/KWNewPageStyleCommand.cpp <span style="color: grey">(0ae3e53)</span></li>
<li>words/part/commands/KWPageStylePropertiesCommand.cpp <span style="color: grey">(bc0fc18)</span></li>
<li>words/part/commands/KWShapeCreateCommand.cpp <span style="color: grey">(e88af08)</span></li>
<li>words/part/dialogs/KWFrameDialog.cpp <span style="color: grey">(60e3fc2)</span></li>
<li>words/part/dialogs/KWPageSettingsDialog.cpp <span style="color: grey">(e046ac6)</span></li>
<li>words/plugins/scripting/Messages.sh <span style="color: grey">(ef1184a)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/118457/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>