<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>Clean Collection</label>
	<tip>When in a collection, removes items that don&apos;t exist.</tip>
	<icon1>#removecollection</icon1>
	<function type="script">
		<instruction>@script JScript</instruction>
		<instruction>function OnClick(clickData)</instruction>
		<instruction>{</instruction>
		<instruction>	var cmd = clickData.func.command;</instruction>
		<instruction>	cmd.deselect = false; // Prevent automatic deselection</instruction>
		<instruction>	cmd.ClearFiles();</instruction>
		<instruction />
		<instruction>	var fsu = DOpus.FSUtil();</instruction>
		<instruction>	</instruction>
		<instruction>	for (var e = new Enumerator(clickData.func.sourcetab.all); !e.atEnd(); e.moveNext())</instruction>
		<instruction>	{</instruction>
		<instruction>		var item = e.item();</instruction>
		<instruction>		if (fsu.Exists(item.RealPath))</instruction>
		<instruction>		{</instruction>
		<instruction>			continue; // Skip items that exist. (This also skips sub-collections.)</instruction>
		<instruction>		}</instruction>
		<instruction />
		<instruction>		cmd.AddFile(item);</instruction>
		<instruction>	}</instruction>
		<instruction />
		<instruction>	if (cmd.files.count)</instruction>
		<instruction>	{</instruction>
		<instruction>		cmd.RunCommand(&quot;Delete REMOVECOLLECTION&quot;);</instruction>
		<instruction>	}</instruction>
		<instruction>}</instruction>
		<instruction>==SCRIPT RESOURCES</instruction>
		<instruction>&lt;resources&gt;</instruction>
		<instruction>	&lt;resource name=&quot;dialog1&quot; type=&quot;dialog&quot;&gt;</instruction>
		<instruction>		&lt;dialog height=&quot;174&quot; lang=&quot;en-gb&quot; resize=&quot;yes&quot; width=&quot;180&quot;&gt;</instruction>
		<instruction>			&lt;control halign=&quot;left&quot; height=&quot;12&quot; name=&quot;edit1&quot; resize=&quot;w&quot; title=&quot;Edit Control&quot; type=&quot;edit&quot; width=&quot;168&quot; x=&quot;6&quot; y=&quot;6&quot; /&gt;</instruction>
		<instruction>			&lt;control height=&quot;14&quot; name=&quot;buttonTest&quot; title=&quot;Test&quot; type=&quot;button&quot; width=&quot;50&quot; x=&quot;48&quot; y=&quot;114&quot; /&gt;</instruction>
		<instruction>			&lt;control code=&quot;yes&quot; halign=&quot;left&quot; height=&quot;78&quot; name=&quot;edit2&quot; title=&quot;Edit Control&quot; type=&quot;edit&quot; width=&quot;168&quot; x=&quot;6&quot; y=&quot;24&quot; /&gt;</instruction>
		<instruction>		&lt;/dialog&gt;</instruction>
		<instruction>	&lt;/resource&gt;</instruction>
		<instruction>&lt;/resources&gt;</instruction>
	</function>
</button>
