/* * See the README file for copyright information and how to reach the author. */ #include #include #include "mymenusetup.h" typedef struct { int Width; int Align; } RecListDefaultType; RecListDefaultType recListDefaultValues[MAX_COLTYPES] = { { 0,0}, { 5,0}, { 8,0}, { 5,0}, {14,0}, { 4,2}, { 7,0}, { 5,0}, { 5,0} }; #if VDRVERSNUM > 10713 cNestedItemList RecordingDirCommands; #else cCommands RecordingDirCommands; #endif mySetup::mySetup() { mysetup.HideMainMenuEntry=0; mysetup.PatchNew=1; mysetup.ReplaceOrgRecMenu=0; mysetup.RecListColumn[0].Type = COLTYPE_DATETIME; STRN0CPY(mysetup.RecListColumn[0].Name, ""); mysetup.RecListColumn[0].Width = 14; // DD.MM.YY HH:MM mysetup.RecListColumn[0].Align = 0; STRN0CPY(mysetup.RecListColumn[0].Op1, ""); STRN0CPY(mysetup.RecListColumn[0].Op2, ""); mysetup.RecListColumn[1].Type = COLTYPE_LENGTH; STRN0CPY(mysetup.RecListColumn[1].Name, ""); mysetup.RecListColumn[1].Width = 4; // use 3 digits + '. eg: 123' mysetup.RecListColumn[1].Align = 2; STRN0CPY(mysetup.RecListColumn[1].Op1, ""); STRN0CPY(mysetup.RecListColumn[1].Op2, ""); mysetup.RecListColumn[2].Type = COLTYPE_RATING; STRN0CPY(mysetup.RecListColumn[2].Name, ""); mysetup.RecListColumn[2].Width = 7; // use 7 instead of 5, because Star (1825) is wider than FixedBlank (1300) => 5*1825 / 1300 = 7.01 mysetup.RecListColumn[2].Align = 0; STRN0CPY(mysetup.RecListColumn[2].Op1, ""); STRN0CPY(mysetup.RecListColumn[2].Op2, ""); mysetup.RecListColumn[3].Type = COLTYPE_FILETHENCOMMAND; STRN0CPY(mysetup.RecListColumn[3].Name, "Country"); mysetup.RecListColumn[3].Width = 5; mysetup.RecListColumn[3].Align = 0; STRN0CPY(mysetup.RecListColumn[3].Op1, "country.vdr"); STRN0CPY(mysetup.RecListColumn[3].Op2, "/usr/local/bin/vdr-getcountryfrominfo.sh"); // mysetup.RecListColumn[4].Type = COLTYPE_FILETHENCOMMAND; // STRN0CPY(mysetup.RecListColumn[4].Name, "Year"); // mysetup.RecListColumn[4].Width = 4; // mysetup.RecListColumn[4].Align = 0; // STRN0CPY(mysetup.RecListColumn[4].Op1, "year.vdr"); // STRN0CPY(mysetup.RecListColumn[4].Op2, "/usr/local/bin/vdr-getyearfrominfo.sh"); mysetup.ShowNewRecs=1; mysetup.RecsPerDir=2; mysetup.DescendSorting=0; mysetup.GoLastReplayed=0; mysetup.ReturnToPlugin=1; mysetup.LimitBandwidth=0; mysetup.UseVDRsRecInfoMenu=0; mysetup.PatchFont=1; mysetup.FileSystemFreeMB=1; mysetup.UseCutterQueue=1; } mySetup mysetup; /******************** myMenuSetup ********************/ myMenuSetup::myMenuSetup() { SetCols(45); hidemainmenuentry=mysetup.HideMainMenuEntry; patchnew=mysetup.PatchNew; replaceorgrecmenu=mysetup.ReplaceOrgRecMenu; for(int i=0; iSetSelectable(false); Add(sItem); // build up setup menu for(int i=0; iSetSelectable(false); Add(sItem); // restore current position SetCurrent(Get(current)); } eOSState myMenuSetupColumns::ProcessKey(eKeys Key) { int iTemp_type [4], i; for (i=0; i= 0) { preclistcolumns[iChanged].Width = recListDefaultValues[preclistcolumns[iChanged].Type].Width; preclistcolumns[iChanged].Align = recListDefaultValues[preclistcolumns[iChanged].Type].Align; Set(); Display(); } if (state == osUnknown) { if (HasSubMenu()) return osContinue; /* switch (Key) { case kOk: return osBack; default: break; } */ } return state; } int msprintf(char **strp, const char *fmt, ...) { va_list ap; va_start (ap, fmt); int res=vasprintf (strp, fmt, ap); va_end (ap); return res; } char* IndentMenuItem(const char* szString, int indentions) { char* szIndented = NULL; msprintf(&szIndented, "%*s", strlen(szString)+indentions*2, szString); return szIndented; }