#ifndef WIDGET_H #define WIDGET_H #include <DSpinner> #include <DGuiApplicationHelper> #include <QWidget> #include <QWebEnginePage> #include <QStackedLayout> DWIDGET_USE_NAMESPACE DGUI_USE_NAMESPACE class WebEngineView; class Widget : public QWidget { Q_OBJECT public: explicit Widget(QString szUrl = nullptr, QWidget *parent = nullptr, QString szTitle = nullptr); ~Widget(); QWebEnginePage *getPage(); void goBack(); void goForward(); void refresh(); private: void initUI(); void initConnections(); void updateLayout(); signals: void sigLoadErrorOccurred(); private slots: void slotLoadStarted(); void slotLoadProgress(int value); void slotLoadFinished(int status); void slotPaletteTypeChanged(DGuiApplicationHelper::ColorType paletteType); private: WebEngineView *m_webEngineView = nullptr; DSpinner *m_spinner = nullptr; QStackedLayout *mainLayout = nullptr; QString m_szUrl; QString m_szTitle; }; #endif // WIDGET_H