summaryrefslogtreecommitdiff
path: root/plugin/menu.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-05-15 21:37:48 +0200
committerJochen Dolze <vdr@dolze.de>2010-05-15 21:37:48 +0200
commit9aa6949e5f98e580f91320bb7255f985b5bd6103 (patch)
treef27c7c6f06d662f755a2f04066f0c2844199c46d /plugin/menu.cpp
parent45a400d45adb2314952eb23dd3a7feb6c4b9526c (diff)
downloadvdr-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.cpp14
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;