summaryrefslogtreecommitdiff
path: root/extrecmenu.c
diff options
context:
space:
mode:
authorMartin Prochnow <nordlicht@martins-kabuff.de>2007-10-08 20:36:03 +0200
committerAndreas Mair <andreas@vdr-developer.org>2007-10-08 20:36:03 +0200
commit57e0533f20b14e208e41e56f80fd15b3d18f90f1 (patch)
tree2e75d86377b4fbc29c9fd76fabd2a5e291a9f204 /extrecmenu.c
parent8adfaaf81b104b8e981026da593e40f9d780c251 (diff)
downloadvdr-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.c149
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!
+