diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-05-15 21:37:48 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-05-15 21:37:48 +0200 |
commit | 9aa6949e5f98e580f91320bb7255f985b5bd6103 (patch) | |
tree | f27c7c6f06d662f755a2f04066f0c2844199c46d /plugin/menu.cpp | |
parent | 45a400d45adb2314952eb23dd3a7feb6c4b9526c (diff) | |
download | vdr-plugin-markad-9aa6949e5f98e580f91320bb7255f985b5bd6103.tar.gz vdr-plugin-markad-9aa6949e5f98e580f91320bb7255f985b5bd6103.tar.bz2 |
Fixed various things
Diffstat (limited to 'plugin/menu.cpp')
-rw-r--r-- | plugin/menu.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/plugin/menu.cpp b/plugin/menu.cpp index 2d7c9a7..3269fda 100644 --- a/plugin/menu.cpp +++ b/plugin/menu.cpp @@ -80,6 +80,7 @@ cMenuMarkAd::cMenuMarkAd(cStatusMarkAd *Status):cOsdMenu(tr("markad status"),15) { SetHelpText(NULL); } + lastpos=0; } @@ -87,7 +88,7 @@ bool cMenuMarkAd::write() { Clear(); - bool header=false,first=true; + bool header=false; struct recs *Entry=NULL; status->ResetActPos(); do @@ -100,8 +101,12 @@ bool cMenuMarkAd::write() header=true; Add(new cOsdItem(tr("Recording\t Status"),osUnknown,false)); } - Add(new cOsdMarkAd(Entry)); - first=false; + cOsdMarkAd *osd = new cOsdMarkAd(Entry); + if (osd) + { + Add(osd); + if (osd->Index()==lastpos) SetCurrent(osd); + } } } while (Entry); @@ -109,6 +114,7 @@ bool cMenuMarkAd::write() if (!header) { Add(new cOsdItem(tr("no running markad found"),osUnknown,false),true); + lastpos=NULL; } Display(); return header; @@ -185,6 +191,7 @@ eOSState cMenuMarkAd::ProcessKey(eKeys Key) if ((osd) && (osd->Selectable())) { SetHelpText(osd->GetEntry()); + lastpos=Current(); } break; @@ -194,6 +201,7 @@ eOSState cMenuMarkAd::ProcessKey(eKeys Key) if ((osd) && (osd->Selectable())) { SetHelpText(osd->GetEntry()); + lastpos=Current(); } break; |