Index: programs/mythfrontend/playbackbox.cpp =================================================================== --- programs/mythfrontend/playbackbox.cpp (revision 21131) +++ programs/mythfrontend/playbackbox.cpp (working copy) @@ -1658,9 +1658,8 @@ { if (m_popupMenu) return; + QString label = tr("Group List Menu"); - QString label = tr("Recording List Menu"); - ProgramInfo *pginfo = CurrentItem(); m_popupMenu = new MythDialogBox(label, m_popupStack, "pbbmainmenupopup"); @@ -1705,7 +1704,8 @@ SLOT(togglePlayListItem())); } } - + m_popupMenu->AddButton(tr("Recording Options Menu"), + SLOT(showActionsSelected())); m_popupMenu->AddButton(tr("Help (Status Icons)"), SLOT(showIconHelp())); } @@ -2149,6 +2149,10 @@ SLOT(doPlaylistExpireSetOff())); m_popupMenu->AddButton(tr("Enable Auto Expire"), SLOT(doPlaylistExpireSetOn())); + m_popupMenu->AddButton(tr("Mark As Watched"), + SLOT(doPlaylistWatchedSetOn())); + m_popupMenu->AddButton(tr("Mark As UN-Watched"), + SLOT(doPlaylistWatchedSetOff())); } void PlaybackBox::showPlaylistJobPopup() @@ -2545,13 +2549,19 @@ SLOT(showPlayFromPopup()), true); else m_popupMenu->AddButton(tr("Play"), SLOT(playSelected())); - + if (m_playList.filter(pginfo->MakeUniqueKey()).size()) m_popupMenu->AddButton(tr("Remove from Playlist"), SLOT(togglePlayListItem())); else m_popupMenu->AddButton(tr("Add to Playlist"), SLOT(togglePlayListItem())); + if (m_playList.size()) + { + m_popupMenu->AddButton(tr("Playlist options"), + SLOT(showPlaylistPopup()), true); + } + } if (pginfo->recstatus == rsRecording && @@ -2586,6 +2596,8 @@ m_popupMenu->AddButton(tr("Delete"), SLOT(askDelete())); } } + m_popupMenu->AddButton(tr("Group List Menu"), + SLOT(showMenu())); } void PlaybackBox::showFileNotFoundActionPopup(ProgramInfo *pginfo) @@ -3221,7 +3233,13 @@ if (action == "1" || action == "HELP") showIconHelp(); else if (action == "MENU") - showMenu(); + + { + if (GetFocusWidget() == m_groupList) + showMenu(); + else showActionsSelected(); + } + else if (action == "NEXTFAV") { if (GetFocusWidget() == m_groupList) @@ -3250,8 +3268,9 @@ else if (action == "PLAYBACK") playSelected(m_recordingList->GetItemCurrent()); else if (action == "INFO") - showActionsSelected(); - else if (action == "DETAILS") + // showActionsSelected(); + + //else if (action == "DETAILS") details(); else if (action == "CUSTOMEDIT") customEdit(); @@ -4024,6 +4043,19 @@ } } +void PlaybackBox::doPlaylistWatchedSetting(bool turnOn) +{ + ProgramInfo *tmpItem; + QStringList::Iterator it; + + for (it = m_playList.begin(); it != m_playList.end(); ++it) + { + if ((tmpItem = findMatchingProg(*it))) + { + tmpItem->SetWatchedFlag(turnOn); + } + } +} void PlaybackBox::showMetadataEditor() { ProgramInfo *pgInfo = CurrentItem(); Index: programs/mythfrontend/playbackbox.h =================================================================== --- programs/mythfrontend/playbackbox.h (revision 21131) +++ programs/mythfrontend/playbackbox.h (working copy) @@ -245,6 +245,9 @@ void doPlaylistExpireSetting(bool turnOn); void doPlaylistExpireSetOn() { doPlaylistExpireSetting(true); } void doPlaylistExpireSetOff() { doPlaylistExpireSetting(false); } + void doPlaylistWatchedSetting(bool turnOn); + void doPlaylistWatchedSetOn() { doPlaylistWatchedSetting(true); } + void doPlaylistWatchedSetOff() { doPlaylistWatchedSetting(false); } void togglePlayListTitle(void); void togglePlayListItem(void); void playSelectedPlaylist(bool random);