public GridForm()
 {
     InitializeComponent();
     Model = new Model();
     Model.ModifiedChanged += Model_ModifiedChanged;
     GridController = new GridController(Model, GridElementHost);
     GridController.SelectionChanged += GridViewController_SelectionChanged;
     new PictureController(PictureBox, PropertyGrid);
     var statusController = new StatusController(Model, StatusBar);
     PersistenceController = new PersistenceController(Model, this, FileReopen, FileReopenItem_Click);
     PersistenceController.FilePathChanged += PersistenceController_FilePathChanged;
     MediaController = new MediaController(Model, statusController, AddRecentFolders, AddRecentFoldersItem_Click);
     Model_ModifiedChanged(Model, EventArgs.Empty);
     GridController.ViewByArtist();
 }
 public OptionsDialogController(GridController gridController)
 {
     GridController = gridController;
     OptionsDialog = new OptionsDialog();
     OptionsDialog.btnApply.Click += ApplyButton_Click;
     OptionsDialog.FormClosing += OptionsDialog_FormClosing;
     ColumnsController = new SelectController(OptionsDialog.ColumnsPage, Options.EnableAddAll);
     FiltersController = new FilterController(OptionsDialog.FiltersPage);
     GroupsController = new SelectController(OptionsDialog.GroupsPage);
     HavingController = new FilterController(OptionsDialog.HavingPage);
     OrdersController = new SelectController(OptionsDialog.SortingPage, Options.ShowCheckBoxes);
     // Disable the option to quickly add all available fields to the Group By clause.
     // This is not realistic and has a severe performance penalty if done accidentally.
     GroupsController.CanAddAll = false;
 }