diff options
author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2020-01-06 12:51:49 +0100 |
---|---|---|
committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2020-01-06 15:14:45 +0100 |
commit | 6540e214440faef1c72057e1727991d88ae2c9e2 (patch) | |
tree | 8071504c4f309ccfa28df7e1a791401a5ee81dad /tvguideosd.c | |
parent | 2e4a43133e140eb5bd3344ef5486aca3dda41caf (diff) | |
download | vdr-plugin-tvguide-6540e214440faef1c72057e1727991d88ae2c9e2.tar.gz vdr-plugin-tvguide-6540e214440faef1c72057e1727991d88ae2c9e2.tar.bz2 |
Optimize TimeJump
Diffstat (limited to 'tvguideosd.c')
-rw-r--r-- | tvguideosd.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/tvguideosd.c b/tvguideosd.c index fc64eae..041e831 100644 --- a/tvguideosd.c +++ b/tvguideosd.c @@ -410,9 +410,7 @@ void cTvGuideOsd::timeBack() { } void cTvGuideOsd::ScrollBack() { - bool tooFarInPast = timeManager->DelStep(config.stepMinutes); - if (tooFarInPast) - return; + timeManager->DelStep(config.stepMinutes); if (config.useHWAccel) { drawGridsTimeJump(); timeLine->drawDateViewer(); @@ -640,24 +638,20 @@ void cTvGuideOsd::processNumKey(int numKey) { void cTvGuideOsd::TimeJump(int mode) { switch (mode) { case 1: { - bool tooFarInPast = timeManager->DelStep(config.bigStepHours*60); - if (tooFarInPast) - return; - } + timeManager->DelStep(config.bigStepHours * 60); + } break; case 3: { - timeManager->AddStep(config.bigStepHours*60); - } + timeManager->AddStep(config.bigStepHours * 60); + } break; case 4: { - bool tooFarInPast = timeManager->DelStep(config.hugeStepHours*60); - if (tooFarInPast) - return; - } + timeManager->DelStep(config.hugeStepHours * 60); + } break; case 6: { - timeManager->AddStep(config.hugeStepHours*60); - } + timeManager->AddStep(config.hugeStepHours * 60); + } break; case 7: { cTimeManager primeChecker; @@ -666,13 +660,13 @@ void cTvGuideOsd::TimeJump(int mode) { if (primeChecker.tooFarInPast(prevPrime)) return; timeManager->SetTime(prevPrime); - } + } break; case 9: { cTimeManager primeChecker; time_t nextPrime = primeChecker.getNextPrimetime(timeManager->GetStart()); timeManager->SetTime(nextPrime); - } + } break; default: return; @@ -783,8 +777,12 @@ eOSState cTvGuideOsd::ProcessKey(eKeys Key) { case kYellow: processKeyYellow(); break; case kBlue: state = processKeyBlue(&alreadyUnlocked); break; case kOk: state = processKeyOk(&alreadyUnlocked); break; - case kBack: state=osEnd; break; + case kBack: state = osEnd; break; case k0 ... k9: processNumKey(Key - k0); break; + case kFastRew: TimeJump(1); break; // Doesnt work, if used from timeshiftmode + case kFastFwd: TimeJump(3); break; + case kPrev: TimeJump(4); break; + case kNext: TimeJump(6); break; case kNone: if (channelJumper) CheckTimeout(); break; default: break; } |