Merge SetDirty() with preview reload
People were forgetting to SetDirty() when changing a property; move SetDirty()
into preview reloading, since if the preview is being reloaded, some property
has definitely changed anyway.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>