[vdr] [RFC] plugins replacing main menu entries 1-4
Andreas Brugger
brougs78 at gmx.net
Fri Mar 3 16:18:34 CET 2006
Hi!
Udo Richter schrieb:
> Christian Wieninger wrote:
>
>> A real replacement currently can only be done when patching VDR, so
>> what do you think about the following change of the MenuMain
>> constructor in menu.c? :
>>
>> ...
>> cPlugin *p = NULL;
>> switch (State) {
>> case osSchedule: p = CallFirstService("schedule");
>> AddSubMenu(p?(cOsdMenu *)p->MainMenuAction():new cMenuSchedule);
>> break;
>
>
> The Service() interface is probably the wrong interface for such
> things. VDR shouldn't rely on this interface, its primarily for
> non-standard communication.
>
> Also, your suggestion will call MainMenuAction for each menu entry,
> how should the plugin know which one was called?
>
> On the other hand, the current menu scheme needs an overhaul anyway,
> as the main menu is flooded with plugin entries. Such a customized
> main menu could easily hide the schedule/channels/timers/recordings
> menu, or move the default entries somewhere else. Plugin main menu
> entries could take over their place.
>
> What about this one: Add an interface that allows a plugin to catch this:
>
> Menu = new cMenuMain;
>
> ... and either create an own main menu, or modify the existing one.
> (several plugins should be able to do some modifications one after the
> other)
A customizable menu would be the nicest feature for that, but I think an
easy solution would be to search plugins with the name "schedule",
"timers", "recordings" and so on and if it exists it should replace the
main-menu-entry vdr provides.
Just my 2ct. Bye,
Andreas Brugger
More information about the vdr
mailing list