Remember selection in each folder

This seems to be working :slight_smile:

function OnBeforeFolderChange(beforeFolderChangeData) {
	if (beforeFolderChangeData.action == "refresh") return;
	var tab = beforeFolderChangeData.tab;
	var selected = tab.selected;
	var path = "SavedSelection:" + tab.path;
	if (selected.count == 0) {
		DOpus.Vars.Delete(path);
	} else {
		var file = selected(0).realpath.filepart;
		if (file.indexOf("|") >= 0) file = file.split("|")[1];
		DOpus.Vars.Set(path, file);
		DOpus.Vars(path).persist = true;
	}
}

function OnAfterFolderChange(afterFolderChangeData) {
	var ignoreActions = DOpus.Create.StringSetI("parent", "back", "forward", "refresh");
	if (ignoreActions.exists(afterFolderChangeData.action)) return;
	var tab = afterFolderChangeData.tab;
	var path = "SavedSelection:" + tab.path;
	var cmd = DOpus.Create.Command();
	cmd.SetSourceTab(tab);
	if (DOpus.Vars.Exists(path))
		cmd.RunCommand("Select \"" + DOpus.Vars.Get(path) + "\" EXACT DESELECTNOMATCH MAKEVISIBLE");
	else
		cmd.RunCommand("Select First");
}