Ticket #12157: 0001-List-recorded-episodes.patch

File 0001-List-recorded-episodes.patch, 5.3 KB (added by angela.schmid@…, 10 years ago)
  • mythtv/libs/libmythtv/tv_actions.h

    From 73e26df9fd730e1b8af92a79402b832aba5da9e9 Mon Sep 17 00:00:00 2001
    From: angelaschmid <angela.schmid@wolke7.net>
    Date: Mon, 2 Jun 2014 22:40:16 +0200
    Subject: [PATCH] List recorded episodes
    
    Pressing the LISTRECORDEDEPISODES (TV Frontend) key for a selected
    recording in the view recordings list, lists the episodes based
    on the recordings title.
    
    The NEXTVIEW and PREVVIEW (Global) keys scroll through the display
    groups, focus remains in the recordings list or in the group list (then
    behaving the same as UP/DOWN).
    ---
     mythtv/libs/libmythtv/tv_actions.h           |  2 ++
     mythtv/libs/libmythtv/tv_play.cpp            |  2 ++
     mythtv/programs/mythfrontend/playbackbox.cpp | 40 ++++++++++++++++++++++++++++
     mythtv/programs/mythfrontend/playbackbox.h   |  2 ++
     4 files changed, 46 insertions(+)
    
    diff --git a/mythtv/libs/libmythtv/tv_actions.h b/mythtv/libs/libmythtv/tv_actions.h
    index 061c174..995d221 100644
    a b  
    2222#define ACTION_TOGGLERECCONTROLS  "TOGGLERECCONTROLS"
    2323#define ACTION_TOGGLEINPUTS       "TOGGLEINPUTS"
    2424
     25#define ACTION_LISTRECORDEDEPISODES "LISTRECORDEDEPISODES"
     26
    2527#define ACTION_GUIDE             "GUIDE"
    2628#define ACTION_FINDER            "FINDER"
    2729#define ACTION_TOGGLESLEEP       QString("TOGGLESLEEP")
  • mythtv/libs/libmythtv/tv_play.cpp

    diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
    index 41e5241..3d33363
    a b void TV::InitKeys(void) 
    577577            "Change Recording Group"), "");
    578578    REG_KEY("TV Frontend", "CHANGEGROUPVIEW", QT_TRANSLATE_NOOP("MythControls",
    579579            "Change Group View"), "");
     580    REG_KEY("TV Frontend", ACTION_LISTRECORDEDEPISODES, QT_TRANSLATE_NOOP("MythControls",
     581            "List recorded episodes"), "");
    580582
    581583    REG_KEY("TV Playback", "BACK", QT_TRANSLATE_NOOP("MythControls",
    582584            "Exit or return to DVD menu"), "Esc");
  • mythtv/programs/mythfrontend/playbackbox.cpp

    diff --git a/mythtv/programs/mythfrontend/playbackbox.cpp b/mythtv/programs/mythfrontend/playbackbox.cpp
    index 95b083e..ead7fe2 100644
    a b void PlaybackBox::ShowActionPopup(const ProgramInfo &pginfo) 
    31573157
    31583158        m_popupMenu->AddItem(tr("Recording Options"), NULL, createRecordingMenu());
    31593159
     3160        if (m_groupList->GetItemPos(m_groupList->GetItemCurrent()) == 0)
     3161            m_popupMenu->AddItem(tr("List Recorded Episodes"), SLOT(ShowRecordedEpisodes()));
     3162
    31603163        m_popupMenu->AddItem(tr("Delete"), SLOT(askDelete()));
    31613164
    31623165        DisplayPopupMenu();
    void PlaybackBox::ShowActionPopup(const ProgramInfo &pginfo) 
    32103213    m_popupMenu->AddItem(tr("Recording Options"), NULL, createRecordingMenu());
    32113214    m_popupMenu->AddItem(tr("Job Options"), NULL, createJobMenu());
    32123215
     3216    if (m_groupList->GetItemPos(m_groupList->GetItemCurrent()) == 0)
     3217        m_popupMenu->AddItem(tr("List Recorded Episodes"), SLOT(ShowRecordedEpisodes()));
     3218
    32133219    if (!sameProgram)
    32143220    {
    32153221        if (pginfo.GetRecordingGroup() == "Deleted")
    void PlaybackBox::Delete(DeleteFlags flags) 
    35103516    }
    35113517}
    35123518
     3519void PlaybackBox::ShowRecordedEpisodes(void)
     3520{
     3521    ProgramInfo *pginfo = CurrentItem();
     3522    if (pginfo) {
     3523        QString title = pginfo->GetTitle().toLower();
     3524        MythUIButtonListItem* group = m_groupList->GetItemByData(qVariantFromValue(title));
     3525        if (group)
     3526        {
     3527            m_groupList->SetItemCurrent(group);
     3528            // set focus back to previous item
     3529            MythUIButtonListItem *previousitem = m_recordingList->GetItemByData(qVariantFromValue(pginfo));
     3530            m_recordingList->SetItemCurrent(previousitem);
     3531        }
     3532    }
     3533}
     3534
    35133535ProgramInfo *PlaybackBox::FindProgramInUILists(const ProgramInfo &pginfo)
    35143536{
    35153537    return FindProgramInUILists(
    bool PlaybackBox::keyPressEvent(QKeyEvent *event) 
    38783900            if (!nextGroup.isEmpty())
    38793901                displayRecGroup(nextGroup);
    38803902        }
     3903        else if (action == "NEXTVIEW")
     3904        {
     3905            int curpos = m_groupList->GetItemPos(m_groupList->GetItemCurrent());
     3906            if(++curpos >= m_groupList->GetCount())
     3907                curpos = 0;
     3908            m_groupList->SetItemCurrent(curpos);
     3909        }
     3910        else if (action == "PREVVIEW")
     3911        {
     3912            int curpos = m_groupList->GetItemPos(m_groupList->GetItemCurrent());
     3913            if(--curpos < 0)
     3914                curpos = m_groupList->GetCount() - 1;
     3915            m_groupList->SetItemCurrent(curpos);
     3916        }
     3917        else if (action == ACTION_LISTRECORDEDEPISODES)
     3918        {
     3919            ShowRecordedEpisodes();
     3920        }
    38813921        else if (action == "CHANGERECGROUP")
    38823922            showGroupFilter();
    38833923        else if (action == "CHANGEGROUPVIEW")
  • mythtv/programs/mythfrontend/playbackbox.h

    diff --git a/mythtv/programs/mythfrontend/playbackbox.h b/mythtv/programs/mythfrontend/playbackbox.h
    index 0da39a4..bcd4893 100644
    a b class PlaybackBox : public ScheduleCommon 
    190190    void DeleteIgnoreAllRemaining(void)
    191191        { Delete((DeleteFlags)((int)kIgnore|(int)kAllRemaining)); }
    192192
     193    void ShowRecordedEpisodes(void);
     194
    193195    void toggleWatched();
    194196    void toggleAutoExpire();
    195197    void togglePreserveEpisode();