Ticket #1492: ticket_1492_proposed_final.patch

File ticket_1492_proposed_final.patch, 4.7 KB (added by skamithi, 18 years ago)

mesh of pete's patch and my patch.

  • libs/libmythtv/tv_play.cpp

     
    22492249                .arg(handled).arg(i).arg(actions[i]));
    22502250#endif // DEBUG_ACTIONS
    22512251
     2252    if (prbuffer->isDVD() && prbuffer->DVD()->IsInMenu())
     2253    {
     2254        for (unsigned int i = 0; i < actions.size(); i++)
     2255        {
     2256            QString action = actions[i];
     2257            int nb_buttons = prbuffer->DVD()->NumMenuButtons();
     2258            if (nb_buttons > 0)
     2259            {
     2260                handled = true;
     2261                if (action == "UP" || action == "CHANNELUP")
     2262                    prbuffer->DVD()->MoveButtonUp();
     2263                else if (action == "DOWN" || action == "CHANNELDOWN")
     2264                    prbuffer->DVD()->MoveButtonDown();
     2265                else if (action == "LEFT" || action == "SEEKRWND")
     2266                    prbuffer->DVD()->MoveButtonLeft();
     2267                else if (action == "RIGHT" || action == "SEEKFFWD")
     2268                    prbuffer->DVD()->MoveButtonRight();
     2269                else if (action == "SELECT")
     2270                    nvp->ActivateDVDButton();
     2271                else
     2272                    handled = false;
     2273            }
     2274            if (handled)
     2275                return;
     2276       }
     2277    }
     2278             
    22522279    if (handled)
    22532280        return;
    22542281
     
    22572284        QString action = actions[i];
    22582285        handled = true;
    22592286
    2260         if (action == "SKIPCOMMERCIAL")
     2287        if (action == "SKIPCOMMERCIAL" && !prbuffer->isDVD())
    22612288            DoSkipCommercials(1);
    2262         else if (action == "SKIPCOMMBACK")
     2289        else if (action == "SKIPCOMMBACK" && !prbuffer->isDVD())
    22632290            DoSkipCommercials(-1);
    2264         else if (action == "QUEUETRANSCODE")
     2291        else if (action == "QUEUETRANSCODE" && !prbuffer->isDVD())
    22652292            DoQueueTranscode("Default");
    22662293        else if (action == "QUEUETRANSCODE_AUTO")
    22672294            DoQueueTranscode("Autodetect");
     
    22752302            DoPlay();
    22762303        else if (action == "PAUSE")
    22772304            DoPause();
    2278         else if (action == "SPEEDINC")
     2305        else if (action == "SPEEDINC" && !prbuffer->InDVDMenuOrStillFrame())
    22792306            ChangeSpeed(1);
    2280         else if (action == "SPEEDDEC")
     2307        else if (action == "SPEEDDEC" && !prbuffer->InDVDMenuOrStillFrame())
    22812308            ChangeSpeed(-1);
    22822309        else if (action == "ADJUSTSTRETCH")
    22832310            ChangeTimeStretch(0);   // just display
     
    24282455                DoSeek(jumptime * 60, tr("Jump Ahead"));
    24292456            }
    24302457        }
    2431         else if (action == "JUMPBKMRK")
     2458        else if (action == "JUMPBKMRK" && !prbuffer->isDVD())
    24322459        {
    24332460            int bookmark = activenvp->GetBookmark();
    24342461            if (bookmark > frameRate)
     
    27362763            QString action = actions[i];
    27372764            handled = true;
    27382765
    2739             if (prbuffer->InDVDMenuOrStillFrame())
     2766            if (action == "DELETE" && !prbuffer->isDVD())
    27402767            {
    2741                 int nb_buttons = prbuffer->DVD()->NumMenuButtons();
    2742                 if (nb_buttons > 0)
    2743                 {
    2744                     if (action == "UP" || action == "CHANNELUP")
    2745                         prbuffer->DVD()->MoveButtonUp();
    2746                     else if (action == "DOWN" || action == "CHANNELDOWN")
    2747                         prbuffer->DVD()->MoveButtonDown();
    2748                     else if (action == "LEFT" || action == "SEEKRWND")
    2749                         prbuffer->DVD()->MoveButtonLeft();
    2750                     else if (action == "RIGHT" || action == "SEEKFFWD")
    2751                         prbuffer->DVD()->MoveButtonRight();
    2752                     else if (action == "SELECT")
    2753                         nvp->ActivateDVDButton();
    2754                 }
    2755             }
    2756             else if (action == "DELETE")
    2757             {
    27582768                NormalSpeed();
    27592769                StopFFRew();
    27602770                nvp->SetBookmark();
     
    27652775            }
    27662776            else if (action == "JUMPTODVDROOTMENU")
    27672777                nvp->GoToDVDMenu("menu");
    2768             else if (action == "GUIDE")
     2778            else if (action == "GUIDE" && !prbuffer->isDVD())
    27692779                EditSchedule(kScheduleProgramGuide);
    2770             else if (action == "FINDER")
     2780            else if (action == "FINDER" && !prbuffer->isDVD())
    27712781                EditSchedule(kScheduleProgramFinder);
    2772             else if (action == "TOGGLEEDIT")
     2782            else if (action == "TOGGLEEDIT" && !prbuffer->isDVD())
    27732783                StartProgramEditMode();
    2774             else if (action == "TOGGLEBROWSE")
     2784            else if (action == "TOGGLEBROWSE" && !prbuffer->isDVD())
    27752785                ShowOSDTreeMenu();
    27762786            else if (action == "CHANNELUP")
    27772787            {