<table><tr><td style="">rkflx 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/D8863" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Thanks for working on my "complaint" ;)</p>

<p>In <a href="https://phabricator.kde.org/D8642#166462" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: line-through;" rel="noreferrer">D8642#166462</a> I claimed that <span><span class="phui-tag-view phui-tag-type-shade phui-tag-grey phui-tag-shade "><span class="phui-tag-core ">Save As</span></span></span> worked correctly. After testing more, this turns out to be an edge case, i.e. it works (as in: annotation and document are saved) when overwriting with the original file. Obviously that's not applicable in general.</p>

<p>What is really irritating and frustrating here is that the user can still see the file (at least the cached pages, with the rest turning blank) and move around, "it's just there" but cannot be saved. This is in stark contrast to Kate and LibreOffice, where you are allowed to save back to disk:</p>

<p><a href="https://phabricator.kde.org/F5497164" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">F5497164: kate.png</a><br />
<a href="https://phabricator.kde.org/F5497166" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">F5497166: libreoffice.png</a></p>

<p>I wonder how they are doing this? Are they reading the whole file to memory (apparently <a href="https://bugs.freedesktop.org/show_bug.cgi?id=103793" class="remarkup-link" target="_blank" rel="noreferrer">we do not for good reasons</a>)? Could we just do a <tt style="background: #ebebeb; font-size: 13px;">cp --reflink=auto</tt>? Maybe this is something to come back to in case we get a lot of angry users, but I think the warning dialogs are fine for now…</p>

<hr class="remarkup-hr" />

<p>Code looks and works good.</p>

<hr class="remarkup-hr" />

<p>As for the wording of the dialogs, in general it is recommended to:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Use "Title Case" for window title as well as for buttons with multiple words (as used in screenshots above).</li>
<li class="remarkup-list-item">Avoid the use of "we" and only use objective facts, i.e. no "unfortunately" (ditto).</li>
<li class="remarkup-list-item">Have it checked by a native speaker.</li>
</ul>

<p>With this, Albert's comments, Nate's suggestions and the screenshots from above in mind, here is how I would word the dialogs (<a href="https://phabricator.kde.org/p/ngraham/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@ngraham</a> please check :)</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">"There are unsaved changes, and the file '<filename>' has been modified by another program. Your changes will be lost, because the file can no longer be saved.<br>Do you want to continue {closing | reloading} the file?"</li>
<li class="remarkup-list-item">The file '<filename>' has been modified by another program, which means it can no longer be saved.</li>
</ul></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/D8863#inline-39496" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">part.cpp:1721</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 class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"You have unsaved modifications and the file has been modified externally since it was opened.<br>Unfortunately that means that we can no longer save it and your changes will be lost.<br>Do you want to continue the reload?"</span> <span class="p">),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                             <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"File changed"</span> <span class="p">),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                             <span class="n">KGuiItem</span><span class="p">(</span> <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"Continue reload"</span> <span class="p">)</span> <span class="p">),</span> <span style="color: #74777d">// <- KMessageBox::Yes</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Use title case.</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/D8863#inline-39495" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">part.cpp:1722</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 class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"File changed"</span> <span class="p">),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                             <span class="n">KGuiItem</span><span class="p">(</span> <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"Continue reload"</span> <span class="p">)</span> <span class="p">),</span> <span style="color: #74777d">// <- KMessageBox::Yes</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                             <span class="n">KGuiItem</span><span class="p">(</span> <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"Abort reload"</span> <span class="p">)</span> <span class="p">));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">For consistency with the <tt style="background: #ebebeb; font-size: 13px;">Closing</tt> buttons:<br />
<tt style="background: #ebebeb; font-size: 13px;">reload</tt> → <tt style="background: #ebebeb; font-size: 13px;">Reloading</tt> (2×)</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/D8863#inline-39498" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">part.cpp:1730</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 class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"File changed"</span> <span class="p">),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                        <span class="n">KGuiItem</span><span class="p">(</span> <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"Continue closing"</span> <span class="p">)</span> <span class="p">),</span> <span style="color: #74777d">// <- KMessageBox::Yes</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                                        <span class="n">KGuiItem</span><span class="p">(</span> <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"Abort closing"</span> <span class="p">)</span> <span class="p">));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Use title case (3×).</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/D8863#inline-39499" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">part.cpp:2488</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 class="n">QMessageBox</span><span style="color: #aa2211">::</span><span class="n">warning</span><span class="p">(</span> <span class="n">widget</span><span class="p">(),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                              <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"File changed"</span> <span class="p">),</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                              <span class="n">i18n</span><span class="p">(</span> <span style="color: #766510">"The file has been modified externally since it was opened, unfortunately that means that we can no longer save it."</span> <span class="p">)</span> <span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Use title case.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8863" rel="noreferrer">https://phabricator.kde.org/D8863</a></div></div><br /><div><strong>To: </strong>aacid<br /><strong>Cc: </strong>ngraham, rkflx, ltoscano, Okular, aacid<br /></div>