<table><tr><td style="">meven 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/D10702">View Revision</a></tr></table><br /><div><div><p>Great suggestion Mark !</p>
<p>I am a C++ beginner, I did not consider this neat C++ 14 feature.</p>
<p>This will necessitate a c++ compiler dependency change though.<br />
Like Kwin did last July <a href="https://github.com/KDE/kwin/commit/ea5d611de1bc33869c13c27d75a7827201a5139d" class="remarkup-link" target="_blank" rel="noreferrer">https://github.com/KDE/kwin/commit/ea5d611de1bc33869c13c27d75a7827201a5139d</a></p>
<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">That in it's own is slightly different to what the code currently does. Currently it calls slotReport after every 300 files. With this it would call slotReport after every 300ms. I don't think that's much of a problem.</pre></div></blockquote>
<p>I think a time based update would make more sense to the user.</p>
<p>I think deleteFiles and deleteDirs should both be wrapped in the async function.<br />
Otherwise, at best we would end up with multiple parallel file deletion which is not preferable (given current filesystems and hardware, we should favor sequential deletion) and at worst the same as today blocking the main thread.<br />
Or we might need some mutex/buffer to synchronize the unlink syscalls through Qt::remove() between different async deletion functions.</p>
<p>So this plus the added necessary synchronizing code, this might end up a big code change.</p>
<p>I will give a spin.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10702">https://phabricator.kde.org/D10702</a></div></div><br /><div><strong>To: </strong>meven, Frameworks, dfaure, ngraham, Dolphin, jtamate<br /><strong>Cc: </strong>kde-frameworks-devel, jtamate, markg, ngraham, Frameworks, michaelh, bruns<br /></div>