summaryrefslogtreecommitdiff
path: root/tvguidengosd.c
diff options
context:
space:
mode:
Diffstat (limited to 'tvguidengosd.c')
-rw-r--r--tvguidengosd.c53
1 files changed, 52 insertions, 1 deletions
diff --git a/tvguidengosd.c b/tvguidengosd.c
index 7e521d9..a59e092 100644
--- a/tvguidengosd.c
+++ b/tvguidengosd.c
@@ -260,7 +260,15 @@ void cTVGuideOSD::ChannelsBack(void) {
void cTVGuideOSD::NumericKey(int key) {
if (config.numKeyMode == eTimeJump) {
- NumericKeyTimeJump(key);
+ if (key == 2) {
+ CreateInstantTimer();
+ } else if (key == 5) {
+ DisplaySearchRecordings();
+ } else if (key == 8) {
+ DisplaySearchEPG();
+ } else {
+ NumericKeyTimeJump(key);
+ }
} else if (config.numKeyMode == eChannelJump) {
NumericKeyChannelJump(key);
}
@@ -447,6 +455,8 @@ eOSState cTVGuideOSD::ChannelSwitch(const cEvent *e) {
void cTVGuideOSD::CreateSwitchTimer(const cEvent *e) {
if (!e)
return;
+ if (SwitchTimers.EventInSwitchList(e))
+ return;
cSwitchTimer st;
st.switchMinsBefore = 2;
st.announceOnly = 0;
@@ -501,3 +511,44 @@ void cTVGuideOSD::Favorites(void) {
recMenuView->DisplayFavorites();
recMenuView->Flush();
}
+
+void cTVGuideOSD::CreateInstantTimer(void) {
+ const cEvent *e = epgGrid->GetCurrentEvent();
+ if (!e)
+ return;
+ cRecManager recManager;
+ recManager.SetEPGSearchPlugin();
+ if (!e->HasTimer())
+ recManager.createTimer(e, "");
+ else
+ recManager.DeleteTimer(e);
+ epgGrid->SetTimers();
+ epgGrid->DrawGrid();
+ epgGrid->Flush();
+}
+
+void cTVGuideOSD::DisplaySearchRecordings(void) {
+ const cEvent *e = epgGrid->GetCurrentEvent();
+ if (!e)
+ return;
+ epgGrid->Deactivate(false);
+ skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu);
+ skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu);
+ skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu);
+ recMenuView->Init(recView, recViewBuffer, recViewBuffer2);
+ recMenuView->DisplayRecSearch(e);
+ recMenuView->Flush();
+}
+
+void cTVGuideOSD::DisplaySearchEPG(void) {
+ const cEvent *e = epgGrid->GetCurrentEvent();
+ if (!e)
+ return;
+ epgGrid->Deactivate(false);
+ skindesignerapi::cOsdView *recView = GetOsdView(viRootView, viRecMenu);
+ skindesignerapi::cOsdView *recViewBuffer = GetOsdView(viRootView, viRecMenu);
+ skindesignerapi::cOsdView *recViewBuffer2 = GetOsdView(viRootView, viRecMenu);
+ recMenuView->Init(recView, recViewBuffer, recViewBuffer2);
+ recMenuView->DisplaySearchEPG(e);
+ recMenuView->Flush();
+}