#ifndef QMREPORTWINDOW_H #define QMREPORTWINDOW_H #include #include #include #include #include #include class QWidget; class QPrinter; class QmWebView; class QPrintPreviewDialog; class QmReportWindow : public QWidget { Q_OBJECT public: explicit QmReportWindow(QWidget *parent = 0); ~QmReportWindow(); void addReport(const QString &report, const QString &name); private: QTabWidget *tabWidget; QLineEdit *tabPath; QAction *pb_original; QAction *pb_back; QAction *pb_forward; QAction *pb_print; QmWebView *currentWebView; QPrintPreviewDialog *printPreviewDialog; private slots: void deleteTab(int tab); void tabChanged(int tab); void back(void); void forward(void); void home(void); void print(void); void printPreview(QPrinter * printer); }; class QmWebView : public QWebView { public: QmWebView(QWidget * parent = 0 ) : QWebView(parent) {} void setUrl(const QString &url) { homeUrl = url; QWebView::setUrl(QUrl(url,QUrl::TolerantMode)); } void home(void) { QWebView::setUrl(QUrl(homeUrl,QUrl::TolerantMode)); } QString homeUrl; }; #endif // QMREPORTWINDOW_H