-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAxMenuMailBoxView.h
146 lines (123 loc) · 5.58 KB
/
AxMenuMailBoxView.h
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#ifndef __AxMenuMailBoxView_H__
#define __AxMenuMailBoxView_H__
//=============================================================================
/*
* See the file README in the main directory for a description of
* this software, copyright information, and how to reach the author.
*
* Author: alex
* Date: 17.11.2003
*
* Last modfied:
* $Author: alex $
* $Date: 2013-11-02 09:26:18 +0100 (Sa, 02 Nov 2013) $
*/
//=============================================================================
//=============================================================================
// includes
//=============================================================================
//----- qt --------------------------------------------------------------------
//----- CORBA -----------------------------------------------------------------
//----- C++ -------------------------------------------------------------------
//----- C ---------------------------------------------------------------------
//----- vdr -------------------------------------------------------------------
#include <vdr/osd.h>
//----- AxLib -----------------------------------------------------------------
#include <Ax/Mail/Globals.h>
#include <Ax/Vdr/OsdMenu.h>
//----- local -----------------------------------------------------------------
#include "AxPluginSetup.h"
//----- other includes --------------------------------------------------------
//=============================================================================
// forward declarations
//=============================================================================
class AxPluginMailBox;
namespace Ax {
namespace Mail {
class MailBox;
}
}
//=============================================================================
// class AxMenuMailBoxView
//=============================================================================
/** Menu to select a mail account and to call the mail-list-view.
*/
class AxMenuMailBoxView : public Ax::Vdr::OsdMenu
{
//-------------------------------------------------------------------------
// typedefs
//-------------------------------------------------------------------------
typedef Ax::Vdr::OsdMenu PARENT;
typedef AxMenuMailBoxView MYSELF;
protected:
//-------------------------------------------------------------------------
// enums
//-------------------------------------------------------------------------
enum AxEAction
{
A_FIRST = PARENT::A_LAST
, A_OPEN_MAILBOX = A_FIRST
, A_REFRESH_CURRENT
, A_REFRESH_ALL
, A_SHOW_LOG
, A_LAST
};
public:
//-------------------------------------------------------------------------
// AxMenuMailBoxView()
//-------------------------------------------------------------------------
/** Constructor
*
* VDR takes responsibility for the created items.
*/
AxMenuMailBoxView(AxPluginMailBox *thePlugin);
//-------------------------------------------------------------------------
// ~AxMenuMailBoxView()
//-------------------------------------------------------------------------
/** Destructor
*/
virtual ~AxMenuMailBoxView();
//-------------------------------------------------------------------------
// MenuKind()
//-------------------------------------------------------------------------
virtual const char* MenuKind() { return "MenuMailboxView"; }
//-------------------------------------------------------------------------
// processAction()
//-------------------------------------------------------------------------
virtual eOSState processAction(const Ax::Vdr::Action &theAction, eOSState = osUnknown);
//-------------------------------------------------------------------------
// doOpenCurrentMailBox()
//-------------------------------------------------------------------------
eOSState doOpenCurrentMailBox();
//-------------------------------------------------------------------------
// getCurrentMailBox()
//-------------------------------------------------------------------------
Ax::Mail::MailBox *getCurrentMailBox() const;
protected:
//-------------------------------------------------------------------------
// updateActions()
//-------------------------------------------------------------------------
void updateActions();
//-------------------------------------------------------------------------
// actionCheckMailBoxes()
//-------------------------------------------------------------------------
void checkMailBoxes();
//-------------------------------------------------------------------------
// informSubOSDClosed()
//-------------------------------------------------------------------------
virtual void informSubOSDClosed(const Ax::Vdr::Action &theAction, eKeys theKey);
//-------------------------------------------------------------------------
// informCurrentChanged()
//-------------------------------------------------------------------------
virtual void informCurrentChanged(int theOldCurrent);
private:
//-------------------------------------------------------------------------
// checkMailBox()
//-------------------------------------------------------------------------
void checkMailBox(int theIndex);
//-------------------------------------------------------------------------
// attributes
//-------------------------------------------------------------------------
AxPluginMailBox *myPlugin;
}; // class AxMenuMailBoxView
#endif