From ad2769a298840b7742b0b1cc4f9be89fa42b1062 Mon Sep 17 00:00:00 2001 From: anbr Date: Thu, 7 Jun 2012 17:54:04 +0200 Subject: Create image - show wrong selected sub folder --- commands.c | 11 ++++++----- commands.h | 10 +++++----- 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); } -- cgit v1.2.3