Exemplo n.º 1
0
        protected virtual void SetView(int selectedViewId)
        {
            bool isVideoWindow = (this.GetID == (int)Window.WINDOW_VIDEOS || this.GetID == (int)Window.WINDOW_VIDEO_TITLE);

            switch (selectedViewId)
            {
            case 0: // Shares
            {
                int nNewWindow;
                if (isVideoWindow)
                {
                    nNewWindow = (int)Window.WINDOW_VIDEOS;
                }
                else
                {
                    nNewWindow = (int)Window.WINDOW_MUSIC_FILES;
                }
                StateBase.StartWindow = nNewWindow;
                if (nNewWindow != GetID)
                {
                    if (isVideoWindow)
                    {
                        MediaPortal.GUI.Video.GUIVideoFiles.Reset();
                    }
                    GUIWindowManager.ReplaceWindow(nNewWindow);
                }
            }
            break;

            case 4540: // Now playing
            {
                int nPlayingNowWindow = (int)Window.WINDOW_MUSIC_PLAYING_NOW;

                MediaPortal.GUI.Music.GUIMusicPlayingNow guiPlayingNow =
                    (MediaPortal.GUI.Music.GUIMusicPlayingNow)GUIWindowManager.GetWindow(nPlayingNowWindow);

                if (guiPlayingNow != null)
                {
                    guiPlayingNow.MusicWindow = (MediaPortal.GUI.Music.GUIMusicBaseWindow) this;
                    GUIWindowManager.ActivateWindow(nPlayingNowWindow);
                }
            }
            break;

            default: // a db view
            {
                ViewDefinition selectedView = (ViewDefinition)handler.Views[selectedViewId - 1];
                handler.CurrentView = selectedView.Name;
                StateBase.View      = selectedView.Name;
                int nNewWindow;
                if (isVideoWindow)
                {
                    nNewWindow = (int)Window.WINDOW_VIDEO_TITLE;
                    // Reset search variables
                    if (GUIVideoTitle.CurrentViewHistory != handler.CurrentLevelWhere)
                    {
                        GUIVideoTitle.IsActorSearch            = false;
                        GUIVideoTitle.IsMovieSearch            = false;
                        GUIVideoTitle.ActorSearchString        = string.Empty;
                        GUIVideoTitle.MovieSearchString        = string.Empty;
                        GUIVideoTitle.MovieSearchDbFieldString = string.Empty;
                    }
                }
                else
                {
                    nNewWindow = (int)Window.WINDOW_MUSIC_GENRE;
                }
                if (GetID != nNewWindow)
                {
                    StateBase.StartWindow = nNewWindow;
                    if (nNewWindow != GetID)
                    {
                        GUIWindowManager.ReplaceWindow(nNewWindow);
                    }
                }
                else
                {
                    LoadDirectory(string.Empty);
                    if (facadeLayout.Count <= 0)
                    {
                        GUIControl.FocusControl(GetID, btnLayouts.GetID);
                    }
                }
            }
            break;
            }
        }
        protected virtual void OnShowViews()
        {
            GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);

            if (dlg == null)
            {
                return;
            }
            dlg.Reset();
            dlg.SetHeading(499);         // Views menu

            dlg.AddLocalizedString(134); // Shares
            foreach (ViewDefinition view in handler.Views)
            {
                dlg.Add(view.LocalizedName);
            }
            bool isVideoWindow = (this.GetID == (int)Window.WINDOW_VIDEOS || this.GetID == (int)Window.WINDOW_VIDEO_TITLE);

            // set the focus to currently used view
            if (this.GetID == (int)Window.WINDOW_VIDEOS || this.GetID == (int)Window.WINDOW_MUSIC_FILES)
            {
                dlg.SelectedLabel = 0;
            }
            else if (this.GetID == (int)Window.WINDOW_VIDEO_TITLE || this.GetID == (int)Window.WINDOW_MUSIC_GENRE)
            {
                dlg.SelectedLabel = handler.CurrentViewIndex + 1;
            }

            // show dialog and wait for result
            dlg.DoModal(GetID);
            if (dlg.SelectedId == -1)
            {
                return;
            }

            switch (dlg.SelectedId)
            {
            case 134: // Shares
            {
                int nNewWindow;
                if (isVideoWindow)
                {
                    nNewWindow = (int)Window.WINDOW_VIDEOS;
                }
                else
                {
                    nNewWindow = (int)Window.WINDOW_MUSIC_FILES;
                }
                StateBase.StartWindow = nNewWindow;
                if (nNewWindow != GetID)
                {
                    if (isVideoWindow)
                    {
                        MediaPortal.GUI.Video.GUIVideoFiles.Reset();
                    }
                    GUIWindowManager.ReplaceWindow(nNewWindow);
                }
            }
            break;

            case 4540: // Now playing
            {
                int nPlayingNowWindow = (int)Window.WINDOW_MUSIC_PLAYING_NOW;

                MediaPortal.GUI.Music.GUIMusicPlayingNow guiPlayingNow =
                    (MediaPortal.GUI.Music.GUIMusicPlayingNow)GUIWindowManager.GetWindow(nPlayingNowWindow);

                if (guiPlayingNow != null)
                {
                    guiPlayingNow.MusicWindow = (MediaPortal.GUI.Music.GUIMusicBaseWindow) this;
                    GUIWindowManager.ActivateWindow(nPlayingNowWindow);
                }
            }
            break;

            default: // a db view
            {
                ViewDefinition selectedView = (ViewDefinition)handler.Views[dlg.SelectedLabel - 1];
                handler.CurrentView = selectedView.Name;
                StateBase.View      = selectedView.Name;
                int nNewWindow;
                if (isVideoWindow)
                {
                    nNewWindow = (int)Window.WINDOW_VIDEO_TITLE;
                }
                else
                {
                    nNewWindow = (int)Window.WINDOW_MUSIC_GENRE;
                }
                if (GetID != nNewWindow)
                {
                    StateBase.StartWindow = nNewWindow;
                    if (nNewWindow != GetID)
                    {
                        GUIWindowManager.ReplaceWindow(nNewWindow);
                    }
                }
                else
                {
                    LoadDirectory(string.Empty);
                    if (facadeLayout.Count <= 0)
                    {
                        GUIControl.FocusControl(GetID, btnLayouts.GetID);
                    }
                }
            }
            break;
            }
        }