00001 /* ============================================================ 00002 * File : mythflixbrowse.h 00003 * Author: John Petrocik <john@petrocik.net> 00004 * Date : 2005-10-28 00005 * Description : 00006 * 00007 * Copyright 2005 by John Petrocik 00008 00009 * This program is free software; you can redistribute it 00010 * and/or modify it under the terms of the GNU General 00011 * Public License as published bythe Free Software Foundation; 00012 * either version 2, or (at your option) 00013 * any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU General Public License for more details. 00019 * 00020 * ============================================================ */ 00021 00022 #ifndef MYTHFLIXQUEUE_H 00023 #define MYTHFLIXQUEUE_H 00024 00025 00026 #include <qhttp.h> 00027 #include <mythtv/uitypes.h> 00028 #include <mythtv/uilistbtntype.h> 00029 #include <mythtv/xmlparse.h> 00030 #include <mythtv/mythdialogs.h> 00031 00032 #include "newsengine.h" 00033 00034 class QTimer; 00035 class UIListBtnType; 00036 00037 class MythFlixQueue : public MythDialog 00038 { 00039 Q_OBJECT 00040 00041 public: 00042 00043 MythFlixQueue(MythMainWindow *parent, const char *name = 0, 00044 QString queueName = ""); 00045 ~MythFlixQueue(); 00046 00047 private: 00048 00049 void loadTheme(); 00050 void loadWindow(QDomElement &element); 00051 void paintEvent(QPaintEvent *e); 00052 00053 void updateBackground(); 00054 void updateSitesView(); 00055 void updateArticlesView(); 00056 void updateInfoView(); 00057 00058 void keyPressEvent(QKeyEvent *e); 00059 void cursorUp(bool page=false); 00060 void cursorDown(bool page=false); 00061 00062 void displayOptions(); 00063 00064 void cancelRetrieve(); 00065 void processAndShowNews(NewsSite *site); 00066 00067 QString executeExternal(const QStringList& args, const QString& purpose); 00068 00069 XMLParse *m_Theme; 00070 00071 QPixmap m_background; 00072 00073 UIListBtnType *m_UIArticles; 00074 QRect m_ArticlesRect; 00075 QRect m_InfoRect; 00076 MythPopupBox *popup; 00077 QString zoom; 00078 QString browser; 00079 NewsSite::List m_NewsSites; 00080 00081 QString m_queueName; 00082 00083 QHttp *http; 00084 00085 bool expectingPopup; 00086 00087 private slots: 00088 void slotViewArticle(); 00089 void slotRetrieveNews(); 00090 void slotNewsRetrieved(NewsSite* site); 00091 00092 void slotSiteSelected(NewsSite*); 00093 00094 void slotArticleSelected(UIListBtnTypeItem *item); 00095 00096 void slotMoveToTop(); 00097 void slotRemoveFromQueue(); 00098 void slotMoveToQueue(); 00099 void slotShowNetFlixPage(); 00100 void slotCancelPopup(); 00101 00102 }; 00103 00104 #endif /* MYTHFLIXQUEUE_H */ 00105
1.5.5