mirror of
				https://github.com/fralx/LimeReport.git
				synced 2025-11-04 15:11:26 +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){
 | 
				
			||||||
@@ -312,4 +327,4 @@ void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
 | 
				
			|||||||
   m_previewReportWidget->setErrorsMesagesVisible(value);
 | 
					   m_previewReportWidget->setErrorsMesagesVisible(value);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}// namespace LimeReport
 | 
					}// namespace LimeReport
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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