internal void NavigateFilmScreening(Screening screening) { if (FilmsDialogController != null) { FilmsDialogController.CloseDialog(); } if (FilmInfoController != null) { FilmInfoController.CloseDialog(); } if (AnalyserDialogController != null) { AnalyserDialogController.CloseDialog(); } Controller.GoToScreening(screening); }
public override void NeedsUpdate(NSMenu menu) { // Define some aliases for improved readability. ViewController viewController = _app.Controller; FilmRatingDialogController ratingController = _app.FilmsDialogController; ScreeningDialogController screeningInfoController = viewController.ScreeningInfoDialog; FilmInfoDialogController filmInfoController = _app.FilmInfoController; AnalyserDialogController analyserController = _app.AnalyserDialogController; // Process every item in the menu foreach (NSMenuItem item in menu.Items) { // If the Combine or Uncombine film dialog is active, all menu // items must be inactive. if (_app.CombineTitleController != null || _app.UncombineTitleController != null) { item.Enabled = false; continue; } // Take action based on the menu tag. switch (item.Tag) { case _showFilmsMenuItemTag: item.Enabled = ratingController == null && viewController.ViewIsActive(); break; case _toggleOnlyFilmsWithScreeningsMenuItemTag: item.Enabled = ratingController != null; break; case _toggleTypeMatchMethodMenuItemTag: item.Enabled = ratingController != null; break; case _showFilmInfoMenuItemTag: item.Enabled = screeningInfoController != null || viewController.RunningPopupsCount == 0 || (ratingController != null && !ratingController.TextBeingEdited && ratingController.OneFilmSelected() && filmInfoController == null); break; case _visitFilmWebsiteMenuItemTag: item.Enabled = screeningInfoController != null || viewController.RunningPopupsCount == 0 || (ratingController != null && !ratingController.TextBeingEdited && ratingController.OneFilmSelected()) || filmInfoController != null || (analyserController != null && analyserController.GetSelectedFilm() != null); break; case _combineTitlesMenuItemTag: item.Enabled = ratingController != null && !ratingController.TextBeingEdited && ratingController.MultipleFilmsSelected(); break; case _uncombineTitleMenuItemTag: item.Enabled = ratingController != null && !ratingController.TextBeingEdited && ratingController.OneFilmSelected(); break; default: item.Enabled = false; break; } } }
void IFilmOutlinable.Cleanup() { AnalyserDialogController.CleanupOutlinables(FilmOutlinables); }