diff options
Diffstat (limited to 'patches/vdr.epgsearch-exttimeredit-0.0.2.diff')
-rw-r--r-- | patches/vdr.epgsearch-exttimeredit-0.0.2.diff | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/patches/vdr.epgsearch-exttimeredit-0.0.2.diff b/patches/vdr.epgsearch-exttimeredit-0.0.2.diff deleted file mode 100644 index c92ff8c..0000000 --- a/patches/vdr.epgsearch-exttimeredit-0.0.2.diff +++ /dev/null @@ -1,110 +0,0 @@ ---- menu.c.orig 2009-04-11 14:47:08.000000000 +0200 -+++ menu.c 2009-04-17 13:53:05.000000000 +0200 -@@ -853,6 +853,7 @@ eOSState cMenuEditTimer::ProcessKey(eKey - class cMenuTimerItem : public cOsdItem { - private: - cTimer *timer; -+ void DoSet(void); - public: - cMenuTimerItem(cTimer *Timer); - virtual int Compare(const cListObject &ListObject) const; -@@ -863,7 +864,7 @@ public: - cMenuTimerItem::cMenuTimerItem(cTimer *Timer) - { - timer = Timer; -- Set(); -+ DoSet(); - } - - int cMenuTimerItem::Compare(const cListObject &ListObject) const -@@ -873,6 +874,18 @@ int cMenuTimerItem::Compare(const cListO - - void cMenuTimerItem::Set(void) - { -+ // check for deleted timer -+ for (cTimer *t = Timers.First(); ; t = Timers.Next(t)) { -+ if (t == timer) -+ break; // timer still there -+ if (t == NULL) -+ return; // no matching timer found -+ } -+ DoSet(); -+} -+ -+void cMenuTimerItem::DoSet(void) -+{ - cString day, name(""); - if (timer->WeekDays()) - day = timer->PrintDay(0, timer->WeekDays(), false); -@@ -906,8 +919,7 @@ void cMenuTimerItem::Set(void) - class cMenuTimers : public cOsdMenu { - private: - int helpKeys; -- eOSState Edit(void); -- eOSState New(void); -+ eOSState Edit(bool New = false); - eOSState Delete(void); - eOSState OnOff(void); - eOSState Info(void); -@@ -980,19 +992,30 @@ eOSState cMenuTimers::OnOff(void) - return osContinue; - } - --eOSState cMenuTimers::Edit(void) -+eOSState cMenuTimers::Edit(bool New) - { -- if (HasSubMenu() || Count() == 0) -+ if (HasSubMenu() || (Count() == 0 && !New)) - return osContinue; -- isyslog("editing timer %s", *CurrentTimer()->ToDescr()); -- return AddSubMenu(new cMenuEditTimer(CurrentTimer())); --} -+ if (!New) -+ isyslog("editing timer %s", *CurrentTimer()->ToDescr()); - --eOSState cMenuTimers::New(void) --{ -- if (HasSubMenu()) -- return osContinue; -- return AddSubMenu(new cMenuEditTimer(new cTimer, true)); -+ // Data structure for service "Epgsearch-exttimeredit-v1.0" -+ struct Epgsearch_exttimeredit_v1_0 -+ { -+ // in -+ cTimer* timer; // pointer to the timer to edit -+ bool bNew; // flag that indicates, if this is a new timer or an existing one -+ const cEvent* event; // pointer to the event corresponding to this timer (may be NULL) -+ // out -+ cOsdMenu* pTimerMenu; // pointer to the menu of results -+ } exttimeredit; -+ exttimeredit.timer = New ? (new cTimer) : CurrentTimer(); -+ exttimeredit.bNew = New; -+ exttimeredit.event = exttimeredit.timer->Event(); -+ if (cPluginManager::CallFirstService("Epgsearch-exttimeredit-v1.0", &exttimeredit)) -+ return AddSubMenu(exttimeredit.pTimerMenu); -+ -+ return AddSubMenu(new cMenuEditTimer(exttimeredit.timer, New)); - } - - eOSState cMenuTimers::Delete(void) -@@ -1038,7 +1061,7 @@ eOSState cMenuTimers::ProcessKey(eKeys K - switch (Key) { - case kOk: return Edit(); - case kRed: state = OnOff(); break; // must go through SetHelpKeys()! -- case kGreen: return New(); -+ case kGreen: return Edit(true); - case kYellow: state = Delete(); break; - case kInfo: - case kBlue: return Info(); -@@ -1051,6 +1074,11 @@ eOSState cMenuTimers::ProcessKey(eKeys K - Add(new cMenuTimerItem(Timers.Get(TimerNumber)), true); - Display(); - } -+ if (!HasSubMenu() && Timers.Count()<Count()) { -+ // timer was deleted -+ cOsdMenu::Del(Current()); -+ Display(); -+ } - if (Key != kNone) - SetHelpKeys(); - return state; |