00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef PROGFIND_H_
00013 #define PROGFIND_H_
00014
00015 #include <qdatetime.h>
00016
00017 #include "libmyth/uitypes.h"
00018 #include "libmyth/xmlparse.h"
00019 #include "libmyth/mythwidgets.h"
00020 #include "programinfo.h"
00021
00022 class QListView;
00023 class ProgramInfo;
00024 class QWidget;
00025 class TV;
00026
00027 MPUBLIC void RunProgramFind(bool thread = false, bool ggActive = false);
00028
00029 class ProgFinder : public MythDialog
00030 {
00031 Q_OBJECT
00032 public:
00033 ProgFinder(MythMainWindow *parent, const char *name = 0, bool gg = false);
00034 virtual ~ProgFinder();
00035
00036 void Initialize(void);
00037
00038 private slots:
00039 void update_timeout();
00040 void escape();
00041 void cursorLeft();
00042 void cursorRight();
00043 void cursorDown();
00044 void cursorUp();
00045 void getInfo(bool toggle = false);
00046 void showGuide();
00047 void pageUp();
00048 void pageDown();
00049 void pageMiddle();
00050 void select();
00051 void customEdit();
00052 void upcoming();
00053 void details();
00054 void quickRecord();
00055 void customEvent(QCustomEvent *e);
00056
00057 protected:
00058 void paintEvent(QPaintEvent *e);
00059 void keyPressEvent(QKeyEvent *e);
00060
00061 virtual void fillSearchData(void);
00062 virtual void getAllProgramData(void);
00063 virtual bool formatSelectedData(QString &data);
00064 virtual bool formatSelectedData(QString &data, int charNum);
00065 virtual void restoreSelectedData(QString &data);
00066 virtual void whereClauseGetSearchData(int canNum, QString &where,
00067 MSqlBindings &bindings);
00068
00069 void LoadWindow(QDomElement &);
00070 void parseContainer(QDomElement &);
00071 XMLParse *theme;
00072 QDomElement xmldata;
00073
00074 void updateBackground();
00075 void updateList(QPainter *);
00076 void updateInfo(QPainter *);
00077
00078 int showsPerListing;
00079 int curSearch;
00080 int curProgram;
00081 int curShow;
00082 int searchCount;
00083 int listCount;
00084 int showCount;
00085 int inSearch;
00086 bool showInfo;
00087 bool pastInitial;
00088 bool running;
00089 int *gotInitData;
00090 bool ggActive;
00091 bool arrowAccel;
00092
00093 QTimer *update_Timer;
00094
00095 ProgramList showData;
00096 ProgramList schedList;
00097
00098 TV *m_player;
00099
00100 QString baseDir;
00101 QString *searchData;
00102 QString *initData;
00103 QString *progData;
00104
00105 void showSearchList();
00106 void showProgramList();
00107 void showShowingList();
00108 void clearProgramList();
00109 void clearShowData();
00110 void selectSearchData();
00111 void selectShowData(QString, int);
00112 void getSearchData(int);
00113 void getInitialProgramData();
00114
00115 QRect listRect;
00116 QRect infoRect;
00117
00118 QString dateFormat;
00119 QString timeFormat;
00120 QString channelFormat;
00121
00122 bool allowkeypress;
00123 bool inFill;
00124 bool needFill;
00125 };
00126
00127 class JaProgFinder : public ProgFinder
00128 {
00129 public:
00130 JaProgFinder(MythMainWindow *parent, const char *name = 0, bool gg=false);
00131
00132 protected:
00133 virtual void fillSearchData();
00134 virtual void getAllProgramData();
00135 virtual bool formatSelectedData(QString &data);
00136 virtual bool formatSelectedData(QString &data, int charNum);
00137 virtual void restoreSelectedData(QString &data);
00138 virtual void whereClauseGetSearchData(int canNum, QString &where,
00139 MSqlBindings &bindings);
00140
00141 private:
00142 static const char* searchChars[];
00143 int numberOfSearchChars;
00144 };
00145
00146 class HeProgFinder : public ProgFinder
00147 {
00148 public:
00149 HeProgFinder(MythMainWindow *parent, const char *name = 0, bool gg=false);
00150
00151 protected:
00152 virtual void fillSearchData();
00153 virtual void getAllProgramData();
00154 virtual bool formatSelectedData(QString &data);
00155 virtual bool formatSelectedData(QString &data, int charNum);
00156 virtual void restoreSelectedData(QString &data);
00157 virtual void whereClauseGetSearchData(int canNum, QString &where,
00158 MSqlBindings &bindings);
00159
00160 private:
00161 static const char* searchChars[];
00162 int numberOfSearchChars;
00163 };
00164
00165 #endif