summaryrefslogtreecommitdiff
path: root/menu.h
blob: c935a6fb406ea93121a85e4ea4830c12ac835845 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * menu.h: Menu implementation for duplicates plugin.
 *
 * The menu implementation is based on recordings menu in VDR.
 *
 * See the README file for copyright information and how to reach the author.
 *
 * $Id$
 */

#ifndef _DUPLICATES_MENU_H
#define _DUPLICATES_MENU_H

#include <vdr/osdbase.h>
#include <vdr/recording.h>
#include <vdr/menuitems.h>
#include <vdr/videodir.h>
#include "config.h"

// Define empty locking macros for backwards compatibility
#ifndef LOCK_TIMERS_WRITE
#define LOCK_TIMERS_WRITE
#endif

class cMenuSetupDuplicates;

// --- cMenuDuplicates -------------------------------------------------------

class cMenuDuplicates : public cOsdMenu {
  friend class cMenuSetupDuplicates;
private:
#if VDRVERSNUM >= 20301
  cStateKey recordingsStateKey;
#else
  int recordingsState;
#endif
  int helpKeys;
  void SetHelpKeys(void);
  void Set(bool Refresh = false);
  void SetCurrentIndex(int index);
  eOSState Play(void);
  eOSState Setup(void);
  eOSState Delete(void);
  eOSState Info(void);
  eOSState ToggleHidden(void);
public:
  cMenuDuplicates();
  ~cMenuDuplicates();
  virtual eOSState ProcessKey(eKeys Key);
};

// --- cMenuSetupDuplicates --------------------------------------------------

class cMenuSetupDuplicates : public cMenuSetupPage {
private:
  cMenuDuplicates *menuDuplicates;
protected:
  virtual void Store(void);
public:
  cMenuSetupDuplicates(cMenuDuplicates *menuDuplicates = NULL);
  void SetTitle(const char *Title);
};

#endif