So that pretty much leaves bug 1 to focus on. Your added Refresh reinitializes the entire model which is good except when it happens to be in the middle of multiple calls to remove rows and so loses the second dnd row movement. It only generates multiple calls because the files that were moved are non-contiguous.
So we either need to wait until all row removes are done and then Refresh (although I am not sure a signal exists from the model itself that will do that) or fire a signal that says run Refresh after a time delay, or try to manually fix the icon itself in the target rows be capturing the rowsAdded signal and manually filling in the proper icon in any new row.
|