<table><tr><td style="">jtamate created this revision.<br />jtamate added reviewers: Frameworks, dfaure.<br />Restricted Application added a project: Frameworks.<br />jtamate requested review of this revision.
</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/D10742" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This summary will change when the doubts are resolved (if they can be resolved!).</p>

<p>Implement the first part of a TODO: get rid of the raw KFileItem pointers in KCoreDirListerCache</p>

<p>I've added a way to remove the item from the lister in findByUrl, to be modified and, if needed, added back.</p>

<p>Questions to be answered:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">In findByUrl, the dirItem->rootItem should also be removed?</li>
<li class="remarkup-list-item">fileItem is get twice in slotFileRenamed. Is this patch removing the right fileitem?</li>
<li class="remarkup-list-item">Should the fileitem removed in slotFileRenamed be added back or is it added back in emitRefreshItem? If should be  added back, to which list?</li>
</ul>

<p>I know the patched code doesn't follow the original semantics because dolphin see duplicated entries while renaming takes place.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>findByUrl is slow, for example, renaming 50.000 small files, it has to go through a list of 50.000 items 50.000 times, so renaming that number of files takes more than an hour.<br />
This patch does not improve findByUrl performance, but allows future work on it.</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/D10742" rel="noreferrer">https://phabricator.kde.org/D10742</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/core/kcoredirlister.cpp<br />
src/core/kcoredirlister_p.h</div></div></div><br /><div><strong>To: </strong>jtamate, Frameworks, dfaure<br /><strong>Cc: </strong>michaelh<br /></div>