summaryrefslogtreecommitdiff
path: root/mymenusetup.h
diff options
context:
space:
mode:
Diffstat (limited to 'mymenusetup.h')
-rw-r--r--mymenusetup.h84
1 files changed, 75 insertions, 9 deletions
diff --git a/mymenusetup.h b/mymenusetup.h
index 7861155..ec8e7a4 100644
--- a/mymenusetup.h
+++ b/mymenusetup.h
@@ -6,20 +6,64 @@ extern cNestedItemList RecordingDirCommands;
extern cCommands RecordingDirCommands;
#endif
+#define STRN0CPY(dst, src) \
+ do { \
+ strn0cpy(dst, src, sizeof(dst)); \
+ } while(0)
+/*
+#define STRN0CPYLOG(dst, src, Name) \
+ do { \
+ strn0cpy(dst, src, sizeof(dst)); \
+ if(strlen(src) >= sizeof(dst)) \
+ LOGMSG("WARNING: Setting %s truncated to %s !", Name, dst); \
+ } while(0)
+*/
+
+#define MAX_RECLIST_COLUMNS 4
+
+#define COLTYPE_NONE 0
+#define COLTYPE_BLANK 1
+#define COLTYPE_DATE 2
+#define COLTYPE_TIME 3
+#define COLTYPE_DATETIME 4
+#define COLTYPE_LENGTH 5
+#define COLTYPE_RATING 6
+#define COLTYPE_FILE 7
+#define COLTYPE_FILETHENCOMMAND 8
+#define MAX_COLTYPES 9
+
+
+
+static const char * const RecsPerDir_texts[] = {
+ trNOOP("0-9"),
+ trNOOP("0-99"),
+ trNOOP("0-999"),
+ trNOOP("0-9999"),
+ trNOOP("0-99999"),
+ NULL};
+
+
+typedef struct {
+ int Type;
+ char Name[64];
+ int Width;
+ int Align;
+ char Op1[1024];
+ char Op2[1024];
+} RecListColumnType;
+
+
class mySetup
{
public:
mySetup();
- int ShowRecDate;
- int ShowRecTime;
- int ShowRecLength;
- int ShowRecRating;
+ RecListColumnType RecListColumn[MAX_RECLIST_COLUMNS];
int HideMainMenuEntry;
int ReplaceOrgRecMenu;
int PatchNew;
- int ShowOnlyRecs;
int ShowNewRecs;
+ int RecsPerDir;
int DescendSorting;
int GoLastReplayed;
int ReturnToPlugin;
@@ -36,14 +80,12 @@ class myMenuSetup:public cMenuSetupPage
{
private:
const char *sortingtypetexts[2];
- int showrecdate;
- int showrectime;
- int showreclength;
- int showrecrating;
+ RecListColumnType reclistcolumn[MAX_RECLIST_COLUMNS];
int hidemainmenuentry;
int replaceorgrecmenu;
int patchnew;
int shownewrecs;
+ int recsperdir;
int descendsorting;
int golastreplayed;
int returntoplugin;
@@ -56,4 +98,28 @@ class myMenuSetup:public cMenuSetupPage
virtual void Store();
public:
myMenuSetup();
+// virtual ~myMenuSetup();
+ virtual eOSState ProcessKey(eKeys Key);
+};
+
+class myMenuSetupColumns:public cOsdMenu
+{
+ private:
+ RecListColumnType * preclistcolumns;
+ const char* ColumnType_descriptions[9];
+ const char* AlignmentType_names[3];
+ public:
+ myMenuSetupColumns(RecListColumnType *prlcs);
+// virtual ~myMenuSetupColumns();
+ virtual void Set();
+ virtual eOSState ProcessKey(eKeys Key);
};
+
+char* IndentMenuItem(const char*, int indentions=1);
+
+static inline cString Label_SubMenu(const char *Label) {
+ return cString::sprintf("%s ...", Label);
+}
+static inline cOsdItem *SubMenuItem(const char *Label, eOSState state) {
+ return new cOsdItem(Label_SubMenu(Label), state);
+}