diff options
author | anbr <vdr07@deltab.de> | 2012-06-07 17:54:04 +0200 |
---|---|---|
committer | anbr <vdr07@deltab.de> | 2012-06-07 17:54:04 +0200 |
commit | ad2769a298840b7742b0b1cc4f9be89fa42b1062 (patch) | |
tree | b097f227814df05785111cfbb60eaad095b63062 | |
parent | 2bbaf47b339e6ca452f2624be7be9e3e5ca6cf11 (diff) | |
download | vdr-plugin-dvdswitch-ad2769a298840b7742b0b1cc4f9be89fa42b1062.tar.gz vdr-plugin-dvdswitch-ad2769a298840b7742b0b1cc4f9be89fa42b1062.tar.bz2 |
Create image - show wrong selected sub folder
-rw-r--r-- | commands.c | 11 | ||||
-rw-r--r-- | commands.h | 10 |
2 files changed, 11 insertions, 10 deletions
@@ -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(); @@ -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); } |