private void _model_FilteringFinished(object sender, EventArgs e)
 {
     if (_model.GetFilter() is BeatmapListFilter filter)
     {
         _view.SetCurrentPlayMode(filter.CurrentPlayMode);
         _view.SetCurrentMods(filter.CurrentMods);
     }
     _view.FilteringFinished();
 }
        public BeatmapListingPresenter(IBeatmapListingView view, IBeatmapListingModel model)
        {
            _view = view;
            _view.SearchTextChanged       += ViewOnSearchTextChanged;
            _view.SelectedBeatmapChanged  += (s, a) => _model.SelectedBeatmap = _view.SelectedBeatmap;
            _view.SelectedBeatmapsChanged += (s, a) => _model.SelectedBeatmaps = _view.SelectedBeatmaps;

            _view.BeatmapsDropped  += (s, a) => _model.EmitBeatmapsDropped(s, a);
            _view.BeatmapOperation += (s, a) => _model.EmitBeatmapOperation(a);

            _model = model;
            _model.BeatmapsChanged   += _model_BeatmapsChanged;
            _model.FilteringStarted  += ModelOnFilteringStarted;
            _model.FilteringFinished += _model_FilteringFinished;
            _view.SetFilter(_model.GetFilter());
            Beatmaps = _model.GetBeatmaps();
        }