MythTV master
progfind.h
Go to the documentation of this file.
1#ifndef PROGFIND_H_
2#define PROGFIND_H_
3
4// Qt
5#include <QDateTime>
6#include <QEvent>
7
8// MythTV
13
14// MythFrontend
15#include "schedulecommon.h"
16
17class TV;
18class MythUIText;
20
21void RunProgramFinder(TV *player = nullptr, bool embedVideo = false, bool allowEPG = true);
22
24{
25 Q_OBJECT
26 public:
27 explicit ProgFinder(MythScreenStack *parentStack, bool allowEPG = true,
28 TV *player = nullptr, bool embedVideo = false);
29 ~ProgFinder() override;
30
31 bool Create(void) override; // MythScreenType
32 bool keyPressEvent(QKeyEvent *event) override; // MythScreenType
33
34 private slots:
36 void showListTakeFocus(void);
37 void timesListTakeFocus(void);
38 void timesListLosingFocus(void);
39
40 void ShowGuide() const override; // ScheduleCommon
41 void select();
42
43 void customEvent(QEvent *e) override; // ScheduleCommon
44 void updateInfo(void);
45
46 protected:
47 using ShowName = QMap<QString,QString>;
48
49 void Init(void) override; // MythScreenType
50
51 virtual void initAlphabetList(void);
52 virtual bool formatSelectedData(QString &data);
53 virtual bool formatSelectedData(QString &data, int charNum);
54 virtual void restoreSelectedData(QString &data);
55 virtual void whereClauseGetSearchData(QString &where, MSqlBindings &bindings);
56 ProgramInfo *GetCurrentProgram(void) const override; // ScheduleCommon
57
58 void ShowMenu(void) override; // MythScreenType
59 void getShowNames(void);
60 void updateShowList();
61 void updateTimesList();
62 void selectShowData(QString progTitle, int newCurShow);
63
65
66 QString m_searchStr;
68
69 TV *m_player {nullptr};
70 bool m_embedVideo {false};
71 bool m_allowEPG {true};
72 bool m_allowKeypress {true};
73
76
78
82
87};
88
90{
91 public:
92 explicit JaProgFinder(MythScreenStack *parentStack, bool gg = false,
93 TV *player = nullptr, bool embedVideo = false)
94 : ProgFinder(parentStack, gg, player, embedVideo) {}
95
96 protected:
97 void initAlphabetList() override; // ProgFinder
98 bool formatSelectedData(QString &data) override; // ProgFinder
99 bool formatSelectedData(QString &data, int charNum) override; // ProgFinder
100 void restoreSelectedData(QString &data) override; // ProgFinder
101 void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override; // ProgFinder
102
103 private:
104 static const std::vector<QChar> kSearchChars;
105};
106
108{
109 public:
110 explicit HeProgFinder(MythScreenStack *parentStack, bool gg = false,
111 TV *player = nullptr, bool embedVideo = false)
112 : ProgFinder(parentStack, gg, player, embedVideo) {}
113
114 protected:
115 void initAlphabetList() override; // ProgFinder
116 bool formatSelectedData(QString &data) override; // ProgFinder
117 bool formatSelectedData(QString &data, int charNum) override; // ProgFinder
118 void restoreSelectedData(QString &data) override; // ProgFinder
119 void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override; // ProgFinder
120
121 private:
122 static const std::vector<QChar> kSearchChars;
123};
126{
127 public:
128 explicit RuProgFinder(MythScreenStack *parentStack, bool gg = false,
129 TV *player = nullptr, bool embedVideo = false)
130 : ProgFinder(parentStack, gg, player, embedVideo) {}
131
132 protected:
133 void initAlphabetList() override; // ProgFinder
134 bool formatSelectedData(QString &data) override; // ProgFinder
135 bool formatSelectedData(QString &data, int charNum) override; // ProgFinder
136 void restoreSelectedData(QString &data) override; // ProgFinder
137 void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override; // ProgFinder
138
139 private:
140 static const std::vector<QChar> kSearchChars;
141};
143
145{
146 Q_OBJECT
147
148 public:
149 SearchInputDialog(MythScreenStack *parent, const QString &defaultValue)
150 : MythTextInputDialog(parent, "", FilterNone, false, defaultValue) {}
151
152 bool Create(void) override; // MythTextInputDialog
153
154 signals:
155 void valueChanged(QString);
156
157 private slots:
158 void editChanged(void);
159};
160
161#endif
void initAlphabetList() override
Definition: progfind.cpp:852
bool formatSelectedData(QString &data) override
Definition: progfind.cpp:902
HeProgFinder(MythScreenStack *parentStack, bool gg=false, TV *player=nullptr, bool embedVideo=false)
Definition: progfind.h:110
static const std::vector< QChar > kSearchChars
Definition: progfind.h:122
void restoreSelectedData(QString &data) override
Definition: progfind.cpp:913
void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override
Definition: progfind.cpp:862
void restoreSelectedData(QString &data) override
Definition: progfind.cpp:829
void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override
Definition: progfind.cpp:756
void initAlphabetList() override
Definition: progfind.cpp:744
JaProgFinder(MythScreenStack *parentStack, bool gg=false, TV *player=nullptr, bool embedVideo=false)
Definition: progfind.h:92
bool formatSelectedData(QString &data) override
Definition: progfind.cpp:818
static const std::vector< QChar > kSearchChars
Definition: progfind.h:104
Dialog prompting the user to enter a text string.
List widget, displays list items in a variety of themeable arrangements and can trigger signals when ...
All purpose text widget, displays a text string.
Definition: mythuitext.h:29
ProgramList m_schedList
Definition: progfind.h:75
void updateInfo(void)
Definition: progfind.cpp:352
InfoMap m_infoMap
Definition: progfind.h:77
bool m_embedVideo
Definition: progfind.h:70
void updateTimesList()
Definition: progfind.cpp:450
bool m_allowEPG
Definition: progfind.h:71
void select()
Definition: progfind.cpp:440
~ProgFinder() override
Definition: progfind.cpp:124
MythUIButtonList * m_showList
Definition: progfind.h:80
MythUIText * m_help1Text
Definition: progfind.h:85
bool Create(void) override
Definition: progfind.cpp:63
void ShowGuide() const override
Definition: progfind.cpp:417
bool m_allowKeypress
Definition: progfind.h:72
MythUIButtonList * m_timesList
Definition: progfind.h:81
void timesListTakeFocus(void)
Definition: progfind.cpp:159
void timesListLosingFocus(void)
Definition: progfind.cpp:149
virtual void whereClauseGetSearchData(QString &where, MSqlBindings &bindings)
Definition: progfind.cpp:561
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: progfind.cpp:165
ProgramInfo * GetCurrentProgram(void) const override
Definition: progfind.cpp:1045
void selectShowData(QString progTitle, int newCurShow)
Definition: progfind.cpp:524
QString m_currentLetter
Definition: progfind.h:67
MythUIText * m_help2Text
Definition: progfind.h:86
QString m_searchStr
Definition: progfind.h:66
MythUIText * m_searchText
Definition: progfind.h:83
virtual void initAlphabetList(void)
Definition: progfind.cpp:548
void ShowMenu(void) override
Definition: progfind.cpp:224
ProgFinder(MythScreenStack *parentStack, bool allowEPG=true, TV *player=nullptr, bool embedVideo=false)
Definition: progfind.cpp:52
virtual bool formatSelectedData(QString &data)
Definition: progfind.cpp:623
ProgramList m_showData
Definition: progfind.h:74
void alphabetListItemSelected(MythUIButtonListItem *item)
Definition: progfind.cpp:138
void getShowNames(void)
Definition: progfind.cpp:478
void customEvent(QEvent *e) override
Definition: progfind.cpp:258
ShowName m_showNames
Definition: progfind.h:64
virtual void restoreSelectedData(QString &data)
Definition: progfind.cpp:722
MythUIText * m_groupByText
Definition: progfind.h:84
void showListTakeFocus(void)
Definition: progfind.cpp:154
TV * m_player
Definition: progfind.h:69
MythUIButtonList * m_alphabetList
Definition: progfind.h:79
void updateShowList()
Definition: progfind.cpp:506
void Init(void) override
Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in...
Definition: progfind.cpp:97
QMap< QString, QString > ShowName
Definition: progfind.h:47
Holds information on recordings and videos.
Definition: programinfo.h:68
RuProgFinder(MythScreenStack *parentStack, bool gg=false, TV *player=nullptr, bool embedVideo=false)
Definition: progfind.h:128
void whereClauseGetSearchData(QString &where, MSqlBindings &bindings) override
Definition: progfind.cpp:962
static const std::vector< QChar > kSearchChars
Definition: progfind.h:140
void restoreSelectedData(QString &data) override
Definition: progfind.cpp:1041
void initAlphabetList() override
Definition: progfind.cpp:952
bool formatSelectedData(QString &data) override
Definition: progfind.cpp:1030
void valueChanged(QString)
SearchInputDialog(MythScreenStack *parent, const QString &defaultValue)
Definition: progfind.h:149
void editChanged(void)
Definition: progfind.cpp:1088
bool Create(void) override
Definition: progfind.cpp:1053
Control TV playback.
Definition: tv_play.h:156
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
Definition: mythdbcon.h:100
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15
@ FilterNone
void RunProgramFinder(TV *player=nullptr, bool embedVideo=false, bool allowEPG=true)
Definition: progfind.cpp:32
VERBOSE_PREAMBLE false
Definition: verbosedefs.h:89