1 /*************************************************************************** 2 * Copyright (C) 2004-2021 by Pere Constans 3 * constans@molspaces.com 4 * 5 * See the LICENSE file that comes with this distribution. 6 ***************************************************************************/ 7 #ifndef C2BWEBBROWSER_H 8 #define C2BWEBBROWSER_H 9 10 #include <QMenu> 11 #include <qwebview.h> 12 13 14 class c2bWebBrowser : public QWebView 15 { 16 17 Q_OBJECT 18 19 public: 20 explicit c2bWebBrowser(QWidget* parentw = 0); 21 virtual ~c2bWebBrowser(); 22 23 QAction* viewBackwardAction; 24 QAction* viewForwardAction; 25 QAction* viewHomeAction; 26 QAction* viewReloadAction; 27 QAction* viewZoomInAction; 28 QAction* viewZoomOutAction; 29 30 31 signals: 32 void statusMessage(const QString ms); 33 34 35 public slots: 36 void loadPage(const QString& p_url); 37 void setFixedFont(const QFont& qfont); 38 void setFont(const QFont& qfont); 39 void setHomePage(const QString& hp_url); 40 41 42 protected: 43 virtual QWebView* createWindow(QWebPage::WebWindowType type); 44 virtual void mousePressEvent(QMouseEvent* qevent); 45 46 47 protected slots: 48 void copy(); 49 void home(); 50 void zoomIn(); 51 void zoomOut(); 52 53 54 private: 55 QString _home_page; 56 QString _hovered_link; 57 58 59 private slots: 60 void _set_window_title(const QString& pagetitle); 61 void linkHovered(const QString& link); 62 }; 63 64 #endif