diff options
author | Martin Prochnow <nordlicht@martins-kabuff.de> | 2007-10-08 20:36:03 +0200 |
---|---|---|
committer | Andreas Mair <andreas@vdr-developer.org> | 2007-10-08 20:36:03 +0200 |
commit | 57e0533f20b14e208e41e56f80fd15b3d18f90f1 (patch) | |
tree | 2e75d86377b4fbc29c9fd76fabd2a5e291a9f204 /extrecmenu.c | |
parent | 8adfaaf81b104b8e981026da593e40f9d780c251 (diff) | |
download | vdr-plugin-extrecmenu-57e0533f20b14e208e41e56f80fd15b3d18f90f1.tar.gz vdr-plugin-extrecmenu-57e0533f20b14e208e41e56f80fd15b3d18f90f1.tar.bz2 |
Version 1.0v1.0
- it is now possible to cancel a moving-between-filesystems-process
- applied changes for MainMenuHooksPatch
- added MainMenuHooksPatch to contrib/-dir; removed old one, which is now obsolete
- free disk space is shown for the filesystem of the current directory (can be switched of in plugin's setup menu)
- added support for hidding PIN-protected recordings in co-work with PIN-Plugin
- added queue for moving recordings between filesystems
- added cutter queue
- added #ifdef's to switch of font patching for vdr >= 1.5.3
- added setup option to switch of font patching
Diffstat (limited to 'extrecmenu.c')
-rw-r--r-- | extrecmenu.c | 149 |
1 files changed, 82 insertions, 67 deletions
diff --git a/extrecmenu.c b/extrecmenu.c index 0b900a8..ebaf3b8 100644 --- a/extrecmenu.c +++ b/extrecmenu.c @@ -11,35 +11,33 @@ using namespace std; -static const char *VERSION = "0.13"; +static const char *VERSION = "1.0"; static const char *DESCRIPTION = "Extended recordings menu"; static const char *MAINMENUENTRY = "ExtRecMenu"; -SortList *mySortList; - // --- cPluginExtrecmenu ------------------------------------------------------ class cPluginExtrecmenu:public cPlugin { - private: - public: - cPluginExtrecmenu(void); - virtual ~cPluginExtrecmenu(); - virtual const char *Version(void){return VERSION;} - virtual const char *Description(void){return tr(DESCRIPTION);} - virtual const char *CommandLineHelp(void); - virtual bool ProcessArgs(int argc,char *argv[]); - virtual bool Initialize(void); - virtual bool Start(void); - virtual void Stop(void); - virtual void Housekeeping(void); - virtual cString Active(void); - virtual const char *MainMenuEntry(void){return mysetup.HideMainMenuEntry?NULL:MAINMENUENTRY;} - virtual cOsdObject *MainMenuAction(void); - virtual cMenuSetupPage *SetupMenu(void); - virtual bool SetupParse(const char *Name,const char *Value); - virtual bool Service(const char *Id,void *Data = NULL); - virtual const char **SVDRPHelpPages(void); - virtual cString SVDRPCommand(const char *Command,const char *Option,int &ReplyCode); + private: + public: + cPluginExtrecmenu(void); + virtual ~cPluginExtrecmenu(); + virtual const char *Version(void){return VERSION;} + virtual const char *Description(void){return tr(DESCRIPTION);} + virtual const char *CommandLineHelp(void); + virtual bool ProcessArgs(int argc,char *argv[]); + virtual bool Initialize(void); + virtual bool Start(void); + virtual void Stop(void); + virtual void Housekeeping(void); + virtual cString Active(void); + virtual const char *MainMenuEntry(void){return mysetup.HideMainMenuEntry?NULL:MAINMENUENTRY;} + virtual cOsdObject *MainMenuAction(void); + virtual cMenuSetupPage *SetupMenu(void); + virtual bool SetupParse(const char *Name,const char *Value); + virtual bool Service(const char *Id,void *Data = NULL); + virtual const char **SVDRPHelpPages(void); + virtual cString SVDRPCommand(const char *Command,const char *Option,int &ReplyCode); }; cPluginExtrecmenu::cPluginExtrecmenu(void) @@ -52,32 +50,35 @@ cPluginExtrecmenu::~cPluginExtrecmenu() const char *cPluginExtrecmenu::CommandLineHelp(void) { - return NULL; + return NULL; } bool cPluginExtrecmenu::ProcessArgs(int argc,char *argv[]) { - return true; + return true; } bool cPluginExtrecmenu::Initialize(void) { - RegisterI18n(Phrases); + RegisterI18n(Phrases); - return true; + return true; } bool cPluginExtrecmenu::Start(void) { - mySortList=new SortList; - mySortList->ReadConfigFile(); + mySortList=new SortList; + mySortList->ReadConfigFile(); + + MoveCutterThread=new WorkerThread(); - return true; + return true; } void cPluginExtrecmenu::Stop(void) { - delete mySortList; + delete mySortList; + delete MoveCutterThread; } void cPluginExtrecmenu::Housekeeping(void) @@ -86,58 +87,71 @@ void cPluginExtrecmenu::Housekeeping(void) cString cPluginExtrecmenu::Active(void) { - if(MoveThread.Active()) - return tr("Move recordings in progress"); - return NULL; + return MoveCutterThread->Working(); } cOsdObject *cPluginExtrecmenu::MainMenuAction(void) { - return new myMenuRecordings(); + return new myMenuRecordings(); } cMenuSetupPage *cPluginExtrecmenu::SetupMenu(void) { - return new myMenuSetup(); + return new myMenuSetup(); } bool cPluginExtrecmenu::SetupParse(const char *Name,const char *Value) { - if(!strcasecmp(Name,"IsOrgRecMenu")) - return (mysetup.ReplaceOrgRecMenu==false); // vdr-replace patch - - if(!strcasecmp(Name,"ShowRecDate")) - mysetup.ShowRecDate=atoi(Value); - else if(!strcasecmp(Name,"ShowRecTime")) - mysetup.ShowRecTime=atoi(Value); - else if(!strcasecmp(Name,"ShowRecLength")) - mysetup.ShowRecLength=atoi(Value); - else if(!strcasecmp(Name,"HideMainMenuEntry")) - mysetup.HideMainMenuEntry=atoi(Value); - else if(!strcasecmp(Name,"ReplaceOrgRecMenu")) - mysetup.ReplaceOrgRecMenu=atoi(Value); - else if(!strcasecmp(Name,"PatchNew")) - mysetup.PatchNew=atoi(Value); - else if(!strcasecmp(Name,"ShowNewRecs")) - mysetup.ShowNewRecs=atoi(Value); - else if(!strcasecmp(Name,"DescendSorting")) - mysetup.DescendSorting=atoi(Value); - else if(!strcasecmp(Name,"GoLastReplayed")) - mysetup.GoLastReplayed=atoi(Value); - else if(!strcasecmp(Name,"ReturnToPlugin")) - mysetup.ReturnToPlugin=atoi(Value); - else if(!strcasecmp(Name,"LimitBandwidth")) - mysetup.LimitBandwidth=atoi(Value); - else if(!strcasecmp(Name,"UseVDRsRecInfoMenu")) - mysetup.UseVDRsRecInfoMenu=atoi(Value); - else - return false; - return true; + if(!strcasecmp(Name,"IsOrgRecMenu")) + return (mysetup.ReplaceOrgRecMenu==false); // vdr-replace patch + + if(!strcasecmp(Name,"ShowRecDate")) + mysetup.ShowRecDate=atoi(Value); + else if(!strcasecmp(Name,"ShowRecTime")) + mysetup.ShowRecTime=atoi(Value); + else if(!strcasecmp(Name,"ShowRecLength")) + mysetup.ShowRecLength=atoi(Value); + else if(!strcasecmp(Name,"HideMainMenuEntry")) + mysetup.HideMainMenuEntry=atoi(Value); + else if(!strcasecmp(Name,"ReplaceOrgRecMenu")) + mysetup.ReplaceOrgRecMenu=atoi(Value); + else if(!strcasecmp(Name,"PatchNew")) + mysetup.PatchNew=atoi(Value); + else if(!strcasecmp(Name,"ShowNewRecs")) + mysetup.ShowNewRecs=atoi(Value); + else if(!strcasecmp(Name,"DescendSorting")) + mysetup.DescendSorting=atoi(Value); + else if(!strcasecmp(Name,"GoLastReplayed")) + mysetup.GoLastReplayed=atoi(Value); + else if(!strcasecmp(Name,"ReturnToPlugin")) + mysetup.ReturnToPlugin=atoi(Value); + else if(!strcasecmp(Name,"LimitBandwidth")) + mysetup.LimitBandwidth=atoi(Value); + else if(!strcasecmp(Name,"UseVDRsRecInfoMenu")) + mysetup.UseVDRsRecInfoMenu=atoi(Value); + else if(!strcasecmp(Name,"PatchFont")) + mysetup.PatchFont=atoi(Value); + else if(!strcasecmp(Name,"FileSystemFreeMB")) + mysetup.FileSystemFreeMB=atoi(Value); + else + return false; + return true; } bool cPluginExtrecmenu::Service(const char *Id,void *Data) { - return false; + if(!Data) + return true; + + cOsdMenu **menu=(cOsdMenu**)Data; + if(mysetup.ReplaceOrgRecMenu && strcmp(Id,"MainMenuHooksPatch-v1.0::osRecordings")==0) + { + if(menu) + *menu=(cOsdMenu*)MainMenuAction(); + + return true; + } + return false; } const char **cPluginExtrecmenu::SVDRPHelpPages(void) @@ -151,3 +165,4 @@ cString cPluginExtrecmenu::SVDRPCommand(const char *Command,const char *Option,i } VDRPLUGINCREATOR(cPluginExtrecmenu); // Don't touch this! + |