1*4882a593Smuzhiyun #ifndef BROWSERWINDOW_H 2*4882a593Smuzhiyun #define BROWSERWINDOW_H 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include <QMainWindow> 5*4882a593Smuzhiyun #include <QTime> 6*4882a593Smuzhiyun #include <QWebEnginePage> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun QT_BEGIN_NAMESPACE 9*4882a593Smuzhiyun class QLineEdit; 10*4882a593Smuzhiyun class QProgressBar; 11*4882a593Smuzhiyun QT_END_NAMESPACE 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun class Browser; 14*4882a593Smuzhiyun class TabWidget; 15*4882a593Smuzhiyun class WebView; 16*4882a593Smuzhiyun #include "iwidget.h" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun class BrowserWindow : public IWidget 19*4882a593Smuzhiyun { 20*4882a593Smuzhiyun Q_OBJECT 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "brower.json") 23*4882a593Smuzhiyun public: 24*4882a593Smuzhiyun BrowserWindow(Browser *browser, QWebEngineProfile *profile); 25*4882a593Smuzhiyun QSize sizeHint() const override; 26*4882a593Smuzhiyun TabWidget *tabWidget() const; 27*4882a593Smuzhiyun WebView *currentTab() const; browser()28*4882a593Smuzhiyun Browser *browser() { return m_browser; } 29*4882a593Smuzhiyun QString id(); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun protected: 32*4882a593Smuzhiyun void closeEvent(QCloseEvent *event) override; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun private slots: 35*4882a593Smuzhiyun void handleNewWindowTriggered(); 36*4882a593Smuzhiyun void handleNewIncognitoWindowTriggered(); 37*4882a593Smuzhiyun void handleFileOpenTriggered(); 38*4882a593Smuzhiyun void handleFindActionTriggered(); 39*4882a593Smuzhiyun void handleShowWindowTriggered(); 40*4882a593Smuzhiyun void handleWebViewLoadProgress(int); 41*4882a593Smuzhiyun void handleWebViewTitleChanged(const QString &title); 42*4882a593Smuzhiyun void handleWebActionEnabledChanged(QWebEnginePage::WebAction action, bool enabled); 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun private: 45*4882a593Smuzhiyun QMenu *createFileMenu(TabWidget *tabWidget); 46*4882a593Smuzhiyun QMenu *createEditMenu(); 47*4882a593Smuzhiyun QMenu *createViewMenu(QToolBar *toolBar); 48*4882a593Smuzhiyun QMenu *createWindowMenu(TabWidget *tabWidget); 49*4882a593Smuzhiyun QMenu *createHelpMenu(); 50*4882a593Smuzhiyun QToolBar *createToolBar(); 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun private: 53*4882a593Smuzhiyun Browser *m_browser; 54*4882a593Smuzhiyun QWebEngineProfile *m_profile; 55*4882a593Smuzhiyun TabWidget *m_tabWidget; 56*4882a593Smuzhiyun QProgressBar *m_progressBar; 57*4882a593Smuzhiyun QAction *m_historyBackAction; 58*4882a593Smuzhiyun QAction *m_historyForwardAction; 59*4882a593Smuzhiyun QAction *m_stopAction; 60*4882a593Smuzhiyun QAction *m_reloadAction; 61*4882a593Smuzhiyun QAction *m_stopReloadAction; 62*4882a593Smuzhiyun QLineEdit *m_urlLineEdit; 63*4882a593Smuzhiyun QAction *m_favAction; 64*4882a593Smuzhiyun QString m_lastSearch; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun #endif // BROWSERWINDOW_H 68