<table><tr><td style="">hein 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/D14243">View Revision</a></tr></table><br /><div><div><p>I probably should at some point. Unfortunately it also got a lot more complicated with the addition of multi-screen support.</p>

<p>But basically, it's a proxy in use when Folder View is used on the desktop and allows moving icons around. The view is a Grid View. The source model is a list. It maps from positions the user drops things to to rows in the source model. The proxy maps only concern themselves with positions that map to real entries in the source model. The sparse gaps inbetween icons are not part of the maps, they just return empty data and <tt style="background: #ebebeb; font-size: 13px;">true</tt> for the special "IsBlank" data role. The delegate implementation in the view is behind a Loader that does nothing when IsBlank is true.</p>

<p>Multiscreen works by further associating source rows with a screen and filtering in a screen-dependent way.</p>

<p>There's some other things it needs to do, such as when a new file appears it needs to figure out the first free space and map it there, etc.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R119 Plasma Desktop</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14243">https://phabricator.kde.org/D14243</a></div></div><br /><div><strong>To: </strong>hein, davidedmundson<br /><strong>Cc: </strong>plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>