In status.h steht:
Code
virtual void OsdCurrentItem(const char *Text) {}
// The OSD displays the given single line Text as the current menu item.
Das ist etwas kurz, ich würde folgendes schreiben:
Code
OsdCurrentItem is called in 2 cases:
1) an item in the current list is selected
see osdbase.c: cOsdMenu::Display(), cOsdMenu::DisplayCurrent(bool Current), cOsdMenu::DisplayItem(cOsdItem *Item)
2) a text of a line item is changed (more precise: value of setting is changed)
see menuitems.c -> void cMenuEditItem::SetValue(const char *Value)
Note for 2): Again 2 Options:
2a) The changed line item is currently displayed: User changed value of a setting
2b) The changed line item is currently NOT displayed: user selected a new submenu,
which is created and OsdCurrentItem is called for the items of the new (not yet displayed) submenu
To distinguish 2a) from 2b), you can compare the first part of Text (before the first tab) with
the first part of the currently selected line item (before the first tab):
If these are equal, it is 2a). Otherwise, 2b)
Display More