00001 #ifndef MYTHBROWSER_H 00002 #define MYTHBROWSER_H 00003 00004 #include <QUrl> 00005 00006 #include <mythuiwebbrowser.h> 00007 #include <mythuibuttonlist.h> 00008 #include <mythscreentype.h> 00009 #include <mythdialogbox.h> 00010 #include <mythuiprogressbar.h> 00011 00012 #include "bookmarkmanager.h" 00013 00014 class WebPage; 00015 00016 class MythBrowser : public MythScreenType 00017 { 00018 Q_OBJECT 00019 00020 public: 00021 MythBrowser(MythScreenStack *parent, 00022 QStringList &urlList, float zoom); 00023 ~MythBrowser(); 00024 00025 bool Create(void); 00026 bool keyPressEvent(QKeyEvent *); 00027 00028 void setDefaultSaveDirectory(const QString saveDir) { m_defaultSaveDir = saveDir; } 00029 void setDefaultSaveFilename(const QString saveFile) { m_defaultSaveFilename = saveFile; } 00030 MythImage* getDefaultFavIcon(void) { return m_defaultFavIcon; } 00031 00032 public slots: 00033 void slotOpenURL(const QString &url); 00034 00035 protected slots: 00036 void slotZoomIn(); 00037 void slotZoomOut(); 00038 00039 void slotBack(); 00040 void slotForward(); 00041 00042 void slotEnterURL(void); 00043 00044 void slotAddTab(const QString &url = "", bool doSwitch = true); 00045 void slotDeleteTab(void); 00046 00047 void slotAddBookmark(void); 00048 00049 void slotLoadStarted(void); 00050 void slotLoadFinished(bool OK); 00051 void slotLoadProgress(int progress); 00052 void slotTitleChanged(const QString &title); 00053 void slotStatusBarMessage(const QString &text); 00054 void slotTabSelected(MythUIButtonListItem *item); 00055 void slotTabLosingFocus(void); 00056 00057 private: 00058 MythUIWebBrowser* activeBrowser(void); 00059 00060 void switchTab(int newTab); 00061 00062 QStringList m_urlList; 00063 00064 MythUIButtonList *m_pageList; 00065 QList<WebPage*> m_browserList; 00066 MythUIProgressBar *m_progressBar; 00067 MythUIText *m_titleText; 00068 MythUIText *m_statusText; 00069 00070 int m_currentBrowser; 00071 QUrl m_url; 00072 float m_zoom; 00073 QString m_defaultSaveDir; 00074 QString m_defaultSaveFilename; 00075 00076 Bookmark m_editBookmark; 00077 00078 MythDialogBox *m_menuPopup; 00079 00080 MythImage *m_defaultFavIcon; 00081 00082 friend class WebPage; 00083 }; 00084 00085 #endif
1.6.3