protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType) { if (actionType == MediaPortal.GUI.Library.Action.ActionType.ACTION_MOUSE_DOUBLECLICK) { OnShowContextMenu(); return; } if (actionType == MediaPortal.GUI.Library.Action.ActionType.ACTION_PLAY) { if (MediaPortal.Player.g_Player.Playing == false) BaseConfig.MyAnimeLog.Write("Pressed the play button"); } MainMenu menu = new MainMenu(); menu.Add(btnDisplayOptions, () => { m_Facade.Focus = true; ShowDisplayOptionsMenu(string.Empty); }); menu.Add(btnWindowUtilities, () => { SetGlobalIDs(); GUIWindowManager.ActivateWindow(Constants.WindowIDs.ADMIN); }); menu.Add(btnWindowCalendar, () => { SetGlobalIDs(); GUIWindowManager.ActivateWindow(Constants.WindowIDs.CALENDAR); }); menu.Add(btnWindowDownloads, () => { SetGlobalIDs(); GUIWindowManager.ActivateWindow(Constants.WindowIDs.DOWNLOADS); }); menu.Add(btnWindowContinueWatching, () => { SetGlobalIDs(); GUIWindowManager.ActivateWindow(Constants.WindowIDs.WATCHING); }); menu.Add(btnWindowRecommendations, () => { SetGlobalIDs(); GUIWindowManager.ActivateWindow(Constants.WindowIDs.RECOMMENDATIONS); }); menu.Add(btnWindowRandom, () => { /* GroupFilterVM grpFilter = new GroupFilterVM(); grpFilter.GroupFilterName = "All"; grpFilter.GroupFilterID = 16; grpFilter.FilterType = 4; RandomWindow_LevelObject = grpFilter; RandomWindow_RandomLevel = RandomSeriesEpisodeLevel.GroupFilter; RandomWindow_RandomType = RandomObjectType.Series; GUIWindowManager.ActivateWindow(Constants.WindowIDs.RANDOM);*/ ShowContextMenuGroupFilter(""); }); menu.Add(btnChangeLayout, () => { m_Facade.Focus = true; ShowLayoutMenu(string.Empty); }); menu.Add(btnFilters, () => { m_Facade.Focus = true; ShowFilterOptions(string.Empty); }); menu.Add(btnSwitchUser, () => { if (JMMServerVM.Instance.PromptUserLogin()) { Breadcrumbs = new List<History>() {new History()}; // user has logged in, so save to settings so we will log in as the same user next time settings.CurrentJMMUserID = JMMServerVM.Instance.CurrentUser.JMMUserID.ToString(CultureInfo.InvariantCulture); settings.Save(); LoadFacade(); } else { } }); menu.Add(btnSettings, () => { m_Facade.Focus = true; ShowOptionsDisplayMenu(string.Empty); }); if (menu.Check(control)) return; try { if (actionType != MediaPortal.GUI.Library.Action.ActionType.ACTION_SELECT_ITEM) return; // some other events raised onClicked too for some reason? if (control == this.m_Facade) { UpdateSearchPanel(false); if (this.m_Facade.SelectedListItem == null || this.m_Facade.SelectedListItem.TVTag == null) return; IVM cur = m_Facade.SelectedListItem.TVTag as IVM; if (cur == null) return; if (cur is AnimeGroupVM) cur = GetChildrenLevelForGroup((AnimeGroupVM)cur); if (cur is AnimeSeriesVM) cur = GetChildrenLevelForSeries((AnimeSeriesVM)cur); if (cur is AnimeEpisodeVM) { AnimeEpisodeVM ep = (AnimeEpisodeVM)cur; BaseConfig.MyAnimeLog.Write("Selected to play: {0}", ep.EpisodeNumberAndName); vidHandler.ResumeOrPlay(ep); } else { BaseConfig.MyAnimeLog.Write("Clicked to " + cur.GetType().ToString()); Breadcrumbs.Add(new History() { Listing = cur }); LoadFacade(); this.m_Facade.Focus = true; } } } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("Error in OnClicked: {0} - {1}", ex.Message, ex.ToString()); } base.OnClicked(controlId, control, actionType); }