Ticket #1492: ticket_1492_proposed_final.patch
File ticket_1492_proposed_final.patch, 4.7 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/tv_play.cpp
2249 2249 .arg(handled).arg(i).arg(actions[i])); 2250 2250 #endif // DEBUG_ACTIONS 2251 2251 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 2252 2279 if (handled) 2253 2280 return; 2254 2281 … … 2257 2284 QString action = actions[i]; 2258 2285 handled = true; 2259 2286 2260 if (action == "SKIPCOMMERCIAL" )2287 if (action == "SKIPCOMMERCIAL" && !prbuffer->isDVD()) 2261 2288 DoSkipCommercials(1); 2262 else if (action == "SKIPCOMMBACK" )2289 else if (action == "SKIPCOMMBACK" && !prbuffer->isDVD()) 2263 2290 DoSkipCommercials(-1); 2264 else if (action == "QUEUETRANSCODE" )2291 else if (action == "QUEUETRANSCODE" && !prbuffer->isDVD()) 2265 2292 DoQueueTranscode("Default"); 2266 2293 else if (action == "QUEUETRANSCODE_AUTO") 2267 2294 DoQueueTranscode("Autodetect"); … … 2275 2302 DoPlay(); 2276 2303 else if (action == "PAUSE") 2277 2304 DoPause(); 2278 else if (action == "SPEEDINC" )2305 else if (action == "SPEEDINC" && !prbuffer->InDVDMenuOrStillFrame()) 2279 2306 ChangeSpeed(1); 2280 else if (action == "SPEEDDEC" )2307 else if (action == "SPEEDDEC" && !prbuffer->InDVDMenuOrStillFrame()) 2281 2308 ChangeSpeed(-1); 2282 2309 else if (action == "ADJUSTSTRETCH") 2283 2310 ChangeTimeStretch(0); // just display … … 2428 2455 DoSeek(jumptime * 60, tr("Jump Ahead")); 2429 2456 } 2430 2457 } 2431 else if (action == "JUMPBKMRK" )2458 else if (action == "JUMPBKMRK" && !prbuffer->isDVD()) 2432 2459 { 2433 2460 int bookmark = activenvp->GetBookmark(); 2434 2461 if (bookmark > frameRate) … … 2736 2763 QString action = actions[i]; 2737 2764 handled = true; 2738 2765 2739 if ( prbuffer->InDVDMenuOrStillFrame())2766 if (action == "DELETE" && !prbuffer->isDVD()) 2740 2767 { 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 {2758 2768 NormalSpeed(); 2759 2769 StopFFRew(); 2760 2770 nvp->SetBookmark(); … … 2765 2775 } 2766 2776 else if (action == "JUMPTODVDROOTMENU") 2767 2777 nvp->GoToDVDMenu("menu"); 2768 else if (action == "GUIDE" )2778 else if (action == "GUIDE" && !prbuffer->isDVD()) 2769 2779 EditSchedule(kScheduleProgramGuide); 2770 else if (action == "FINDER" )2780 else if (action == "FINDER" && !prbuffer->isDVD()) 2771 2781 EditSchedule(kScheduleProgramFinder); 2772 else if (action == "TOGGLEEDIT" )2782 else if (action == "TOGGLEEDIT" && !prbuffer->isDVD()) 2773 2783 StartProgramEditMode(); 2774 else if (action == "TOGGLEBROWSE" )2784 else if (action == "TOGGLEBROWSE" && !prbuffer->isDVD()) 2775 2785 ShowOSDTreeMenu(); 2776 2786 else if (action == "CHANNELUP") 2777 2787 {