rework to use selection changed event which is similar to how the iconview is done