summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranbr <vdr07@deltab.de>2012-06-07 17:54:04 +0200
committeranbr <vdr07@deltab.de>2012-06-07 17:54:04 +0200
commitad2769a298840b7742b0b1cc4f9be89fa42b1062 (patch)
treeb097f227814df05785111cfbb60eaad095b63062
parent2bbaf47b339e6ca452f2624be7be9e3e5ca6cf11 (diff)
downloadvdr-plugin-dvdswitch-ad2769a298840b7742b0b1cc4f9be89fa42b1062.tar.gz
vdr-plugin-dvdswitch-ad2769a298840b7742b0b1cc4f9be89fa42b1062.tar.bz2
Create image - show wrong selected sub folder
-rw-r--r--commands.c11
-rw-r--r--commands.h10
2 files changed, 11 insertions, 10 deletions
diff --git a/commands.c b/commands.c
index 542647b..db3c6dc 100644
--- a/commands.c
+++ b/commands.c
@@ -167,7 +167,7 @@ eOSState cCMDMenu::ProcessKey(eKeys Key)
// --- cCMDDir ------------------------------------------------------------
-cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char *buffer)
+cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char *lastdir)
: cOsdMenu(tr("Directory Management"))
, ImageList(imagelist)
{
@@ -178,7 +178,7 @@ cCMDDir::cCMDDir(cImageList &imagelist, cMainMenu *osdobject, bool select, char
State = csNone;
OsdObject = osdobject;
Select = select;
- Buffer = buffer;
+ LastDir = lastdir;
SetDir();
if(Select)
@@ -211,7 +211,7 @@ void cCMDDir::SetHelp(void)
}
}
-void cCMDDir::Build(char *dir)
+void cCMDDir::Build(const char *dir)
{
if(!dir)
dir = CurrentDir();
@@ -319,7 +319,8 @@ eOSState cCMDDir::ProcessKey(eKeys Key)
seldir++;
if(seldir[0] == '/')
seldir++;
- strn0cpy(Buffer, seldir, memberof(Buffer));
+ if(LastDir)
+ strn0cpy(LastDir, seldir, memberof(Dir));
cRemote::Put(kBack);
}
DELETENULL(info);
@@ -546,7 +547,7 @@ void cCMDMove::SetHelp(void)
cOsdMenu::SetHelp(NULL, NULL, NULL , tr("Insert"));
}
-void cCMDMove::Build(char *dir)
+void cCMDMove::Build(const char *dir)
{
if(!dir)
dir = CurrentDir();
diff --git a/commands.h b/commands.h
index e7d402f..2ddc376 100644
--- a/commands.h
+++ b/commands.h
@@ -58,11 +58,11 @@ class cCMDDir : public cOsdMenu, private cDirHandlingOpt
char Dir[MaxFileName];
cMainMenu *OsdObject;
bool Select;
- char *Buffer;
+ char *LastDir;
cImageList &ImageList;
- void Build(char *dir = NULL);
- void SetDir(char *value = NULL)
+ void Build(const char *dir = NULL);
+ void SetDir(const char *value = NULL)
{
if(value)
strn0cpy(Dir, value, MaxFileName);
@@ -75,7 +75,7 @@ class cCMDDir : public cOsdMenu, private cDirHandlingOpt
eOSState Edit(cMainMenuItem *mItem);
eOSState Edit(eKeys Key);
public:
- cCMDDir(cImageList &ImageList, cMainMenu *osdobject = NULL, bool select = false, char *buffer = NULL);
+ cCMDDir(cImageList &ImageList, cMainMenu *osdobject = NULL, bool select = false, char *lastdir = NULL);
virtual eOSState ProcessKey(eKeys Key);
void SetHelp(void);
@@ -90,7 +90,7 @@ class cCMDMove : public cOsdMenu, private cDirHandlingOpt
bool Direct;
cImageList &ImageList;
- void Build(char *dir = NULL);
+ void Build(const char *dir = NULL);
public:
cCMDMove(cImageList &ImageList, const char *file, cMainMenu *osdobject, bool dir = true, bool direct = false);
~cCMDMove(void) { free(File); }