mirror of
				https://github.com/python-LimeReport/LimeReport.git
				synced 2025-10-30 21:37:14 +03:00 
			
		
		
		
	Fix #46 Allow to customize the Preview dialog
hints (ShowAllPreviewBars, HidePreviewToolBar, HidePreviewMenuBar, HidePreviewStatusBar, HideAllPreviewBar) have been added to preview method
This commit is contained in:
		| @@ -80,6 +80,13 @@ namespace Const{ | |||||||
|     QString extractClassName(QString className); |     QString extractClassName(QString className); | ||||||
|     enum RenderPass {FirstPass, SecondPass}; |     enum RenderPass {FirstPass, SecondPass}; | ||||||
|     enum ArrangeType {AsNeeded, Force}; |     enum ArrangeType {AsNeeded, Force}; | ||||||
|  |     enum PreviewHint{ShowAllPreviewBars=0, | ||||||
|  |                      HidePreviewToolBar=1, | ||||||
|  |                      HidePreviewMenuBar=2, | ||||||
|  |                      HidePreviewStatusBar=4, | ||||||
|  |                      HideAllPreviewBar=7}; | ||||||
|  |     Q_DECLARE_FLAGS(PreviewHints, PreviewHint) | ||||||
|  |  | ||||||
|     class ReportError : public std::runtime_error{ |     class ReportError : public std::runtime_error{ | ||||||
|     public: |     public: | ||||||
|         ReportError(const QString& message):std::runtime_error(message.toStdString()){} |         ReportError(const QString& message):std::runtime_error(message.toStdString()){} | ||||||
| @@ -104,6 +111,6 @@ namespace Const{ | |||||||
|  |  | ||||||
| } // namespace LimeReport | } // namespace LimeReport | ||||||
|  |  | ||||||
|  | Q_DECLARE_OPERATORS_FOR_FLAGS(LimeReport::PreviewHints) | ||||||
|  |  | ||||||
| #endif // GLOBAL_H | #endif // GLOBAL_H | ||||||
|   | |||||||
| @@ -71,7 +71,7 @@ public: | |||||||
|     bool    printReport(QPrinter *printer=0); |     bool    printReport(QPrinter *printer=0); | ||||||
|     void    printToFile(const QString& fileName); |     void    printToFile(const QString& fileName); | ||||||
|     bool    printToPDF(const QString& fileName); |     bool    printToPDF(const QString& fileName); | ||||||
|     void    previewReport(); |     void    previewReport(PreviewHints hints = ShowAllPreviewBars); | ||||||
|     void    designReport(); |     void    designReport(); | ||||||
|     void    setShowProgressDialog(bool value); |     void    setShowProgressDialog(bool value); | ||||||
|     IDataSourceManager* dataManager(); |     IDataSourceManager* dataManager(); | ||||||
|   | |||||||
| @@ -80,6 +80,13 @@ namespace Const{ | |||||||
|     QString extractClassName(QString className); |     QString extractClassName(QString className); | ||||||
|     enum RenderPass {FirstPass, SecondPass}; |     enum RenderPass {FirstPass, SecondPass}; | ||||||
|     enum ArrangeType {AsNeeded, Force}; |     enum ArrangeType {AsNeeded, Force}; | ||||||
|  |     enum PreviewHint{ShowAllPreviewBars=0, | ||||||
|  |                      HidePreviewToolBar=1, | ||||||
|  |                      HidePreviewMenuBar=2, | ||||||
|  |                      HidePreviewStatusBar=4, | ||||||
|  |                      HideAllPreviewBar=7}; | ||||||
|  |     Q_DECLARE_FLAGS(PreviewHints, PreviewHint) | ||||||
|  |  | ||||||
|     class ReportError : public std::runtime_error{ |     class ReportError : public std::runtime_error{ | ||||||
|     public: |     public: | ||||||
|         ReportError(const QString& message):std::runtime_error(message.toStdString()){} |         ReportError(const QString& message):std::runtime_error(message.toStdString()){} | ||||||
| @@ -104,6 +111,6 @@ namespace Const{ | |||||||
|  |  | ||||||
| } // namespace LimeReport | } // namespace LimeReport | ||||||
|  |  | ||||||
|  | Q_DECLARE_OPERATORS_FOR_FLAGS(LimeReport::PreviewHints) | ||||||
|  |  | ||||||
| #endif // GLOBAL_H | #endif // GLOBAL_H | ||||||
|   | |||||||
| @@ -136,6 +136,21 @@ void PreviewReportWindow::setErrorMessages(const QStringList &value){ | |||||||
|     m_previewReportWidget->setErrorMessages(value); |     m_previewReportWidget->setErrorMessages(value); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void PreviewReportWindow::setToolBarVisible(bool value) | ||||||
|  | { | ||||||
|  |     ui->toolBar->setVisible(value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void PreviewReportWindow::setStatusBarVisible(bool value) | ||||||
|  | { | ||||||
|  |     ui->statusbar->setVisible(value); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void PreviewReportWindow::setMenuVisible(bool value) | ||||||
|  | { | ||||||
|  |     ui->menubar->setVisible(value); | ||||||
|  | } | ||||||
|  |  | ||||||
| QSettings*PreviewReportWindow::settings() | QSettings*PreviewReportWindow::settings() | ||||||
| { | { | ||||||
|     if (m_settings){ |     if (m_settings){ | ||||||
|   | |||||||
| @@ -59,6 +59,9 @@ public: | |||||||
|     void initPreview(int pagesCount); |     void initPreview(int pagesCount); | ||||||
|     void setSettings(QSettings* value); |     void setSettings(QSettings* value); | ||||||
|     void setErrorMessages(const QStringList& value); |     void setErrorMessages(const QStringList& value); | ||||||
|  |     void setToolBarVisible(bool value); | ||||||
|  |     void setStatusBarVisible(bool value); | ||||||
|  |     void setMenuVisible(bool value); | ||||||
|     QSettings* settings(); |     QSettings* settings(); | ||||||
| protected: | protected: | ||||||
|     void writeSetting(); |     void writeSetting(); | ||||||
|   | |||||||
| @@ -307,7 +307,7 @@ bool ReportEnginePrivate::printToPDF(const QString &fileName) | |||||||
|     return false; |     return false; | ||||||
| } | } | ||||||
|  |  | ||||||
| void ReportEnginePrivate::previewReport() | void ReportEnginePrivate::previewReport(PreviewHints hints) | ||||||
| {  | {  | ||||||
|     QTime start = QTime::currentTime(); |     QTime start = QTime::currentTime(); | ||||||
|     try{ |     try{ | ||||||
| @@ -327,6 +327,11 @@ void ReportEnginePrivate::previewReport() | |||||||
|             if (!dataManager()->errorsList().isEmpty()){ |             if (!dataManager()->errorsList().isEmpty()){ | ||||||
|                 w->setErrorMessages(dataManager()->errorsList()); |                 w->setErrorMessages(dataManager()->errorsList()); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             w->setMenuVisible(!hints.testFlag(HidePreviewMenuBar)); | ||||||
|  |             w->setStatusBarVisible(!hints.testFlag(HidePreviewStatusBar)); | ||||||
|  |             w->setToolBarVisible(!hints.testFlag(HidePreviewToolBar)); | ||||||
|  |  | ||||||
|             m_activePreview = w; |             m_activePreview = w; | ||||||
|             connect(w,SIGNAL(destroyed(QObject*)), this, SLOT(slotPreviewWindowDestroed(QObject*))); |             connect(w,SIGNAL(destroyed(QObject*)), this, SLOT(slotPreviewWindowDestroed(QObject*))); | ||||||
|             qDebug()<<"render time ="<<start.msecsTo(QTime::currentTime()); |             qDebug()<<"render time ="<<start.msecsTo(QTime::currentTime()); | ||||||
| @@ -654,12 +659,12 @@ bool ReportEngine::printToPDF(const QString &fileName) | |||||||
|     return d->printToPDF(fileName); |     return d->printToPDF(fileName); | ||||||
| } | } | ||||||
|  |  | ||||||
| void ReportEngine::previewReport() | void ReportEngine::previewReport(PreviewHints hints) | ||||||
| { | { | ||||||
|     Q_D(ReportEngine); |     Q_D(ReportEngine); | ||||||
|     if (m_settings) |     if (m_settings) | ||||||
|         d->setSettings(m_settings); |         d->setSettings(m_settings); | ||||||
|     d->previewReport(); |     d->previewReport(hints); | ||||||
| } | } | ||||||
|  |  | ||||||
| void ReportEngine::designReport() | void ReportEngine::designReport() | ||||||
|   | |||||||
| @@ -71,7 +71,7 @@ public: | |||||||
|     bool    printReport(QPrinter *printer=0); |     bool    printReport(QPrinter *printer=0); | ||||||
|     void    printToFile(const QString& fileName); |     void    printToFile(const QString& fileName); | ||||||
|     bool    printToPDF(const QString& fileName); |     bool    printToPDF(const QString& fileName); | ||||||
|     void    previewReport(); |     void    previewReport(PreviewHints hints = ShowAllPreviewBars); | ||||||
|     void    designReport(); |     void    designReport(); | ||||||
|     void    setShowProgressDialog(bool value); |     void    setShowProgressDialog(bool value); | ||||||
|     IDataSourceManager* dataManager(); |     IDataSourceManager* dataManager(); | ||||||
|   | |||||||
| @@ -80,7 +80,7 @@ public: | |||||||
|     bool    printReport(QPrinter *printer=0); |     bool    printReport(QPrinter *printer=0); | ||||||
|     void    printToFile(const QString& fileName); |     void    printToFile(const QString& fileName); | ||||||
|     bool    printToPDF(const QString& fileName); |     bool    printToPDF(const QString& fileName); | ||||||
|     void    previewReport(); |     void    previewReport(PreviewHints hints = ShowAllPreviewBars); | ||||||
|     void    designReport(); |     void    designReport(); | ||||||
|     void    setSettings(QSettings* value); |     void    setSettings(QSettings* value); | ||||||
|     void    setShowProgressDialog(bool value){m_showProgressDialog = value;} |     void    setShowProgressDialog(bool value){m_showProgressDialog = value;} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user