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);
 | 
			
		||||
    enum RenderPass {FirstPass, SecondPass};
 | 
			
		||||
    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{
 | 
			
		||||
    public:
 | 
			
		||||
        ReportError(const QString& message):std::runtime_error(message.toStdString()){}
 | 
			
		||||
@@ -104,6 +111,6 @@ namespace Const{
 | 
			
		||||
 | 
			
		||||
} // namespace LimeReport
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Q_DECLARE_OPERATORS_FOR_FLAGS(LimeReport::PreviewHints)
 | 
			
		||||
 | 
			
		||||
#endif // GLOBAL_H
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,7 @@ public:
 | 
			
		||||
    bool    printReport(QPrinter *printer=0);
 | 
			
		||||
    void    printToFile(const QString& fileName);
 | 
			
		||||
    bool    printToPDF(const QString& fileName);
 | 
			
		||||
    void    previewReport();
 | 
			
		||||
    void    previewReport(PreviewHints hints = ShowAllPreviewBars);
 | 
			
		||||
    void    designReport();
 | 
			
		||||
    void    setShowProgressDialog(bool value);
 | 
			
		||||
    IDataSourceManager* dataManager();
 | 
			
		||||
 
 | 
			
		||||
@@ -80,6 +80,13 @@ namespace Const{
 | 
			
		||||
    QString extractClassName(QString className);
 | 
			
		||||
    enum RenderPass {FirstPass, SecondPass};
 | 
			
		||||
    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{
 | 
			
		||||
    public:
 | 
			
		||||
        ReportError(const QString& message):std::runtime_error(message.toStdString()){}
 | 
			
		||||
@@ -104,6 +111,6 @@ namespace Const{
 | 
			
		||||
 | 
			
		||||
} // namespace LimeReport
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Q_DECLARE_OPERATORS_FOR_FLAGS(LimeReport::PreviewHints)
 | 
			
		||||
 | 
			
		||||
#endif // GLOBAL_H
 | 
			
		||||
 
 | 
			
		||||
@@ -136,6 +136,21 @@ void PreviewReportWindow::setErrorMessages(const QStringList &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()
 | 
			
		||||
{
 | 
			
		||||
    if (m_settings){
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,9 @@ public:
 | 
			
		||||
    void initPreview(int pagesCount);
 | 
			
		||||
    void setSettings(QSettings* value);
 | 
			
		||||
    void setErrorMessages(const QStringList& value);
 | 
			
		||||
    void setToolBarVisible(bool value);
 | 
			
		||||
    void setStatusBarVisible(bool value);
 | 
			
		||||
    void setMenuVisible(bool value);
 | 
			
		||||
    QSettings* settings();
 | 
			
		||||
protected:
 | 
			
		||||
    void writeSetting();
 | 
			
		||||
 
 | 
			
		||||
@@ -307,7 +307,7 @@ bool ReportEnginePrivate::printToPDF(const QString &fileName)
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ReportEnginePrivate::previewReport()
 | 
			
		||||
void ReportEnginePrivate::previewReport(PreviewHints hints)
 | 
			
		||||
{ 
 | 
			
		||||
    QTime start = QTime::currentTime();
 | 
			
		||||
    try{
 | 
			
		||||
@@ -327,6 +327,11 @@ void ReportEnginePrivate::previewReport()
 | 
			
		||||
            if (!dataManager()->errorsList().isEmpty()){
 | 
			
		||||
                w->setErrorMessages(dataManager()->errorsList());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            w->setMenuVisible(!hints.testFlag(HidePreviewMenuBar));
 | 
			
		||||
            w->setStatusBarVisible(!hints.testFlag(HidePreviewStatusBar));
 | 
			
		||||
            w->setToolBarVisible(!hints.testFlag(HidePreviewToolBar));
 | 
			
		||||
 | 
			
		||||
            m_activePreview = w;
 | 
			
		||||
            connect(w,SIGNAL(destroyed(QObject*)), this, SLOT(slotPreviewWindowDestroed(QObject*)));
 | 
			
		||||
            qDebug()<<"render time ="<<start.msecsTo(QTime::currentTime());
 | 
			
		||||
@@ -654,12 +659,12 @@ bool ReportEngine::printToPDF(const QString &fileName)
 | 
			
		||||
    return d->printToPDF(fileName);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ReportEngine::previewReport()
 | 
			
		||||
void ReportEngine::previewReport(PreviewHints hints)
 | 
			
		||||
{
 | 
			
		||||
    Q_D(ReportEngine);
 | 
			
		||||
    if (m_settings)
 | 
			
		||||
        d->setSettings(m_settings);
 | 
			
		||||
    d->previewReport();
 | 
			
		||||
    d->previewReport(hints);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ReportEngine::designReport()
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,7 @@ public:
 | 
			
		||||
    bool    printReport(QPrinter *printer=0);
 | 
			
		||||
    void    printToFile(const QString& fileName);
 | 
			
		||||
    bool    printToPDF(const QString& fileName);
 | 
			
		||||
    void    previewReport();
 | 
			
		||||
    void    previewReport(PreviewHints hints = ShowAllPreviewBars);
 | 
			
		||||
    void    designReport();
 | 
			
		||||
    void    setShowProgressDialog(bool value);
 | 
			
		||||
    IDataSourceManager* dataManager();
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ public:
 | 
			
		||||
    bool    printReport(QPrinter *printer=0);
 | 
			
		||||
    void    printToFile(const QString& fileName);
 | 
			
		||||
    bool    printToPDF(const QString& fileName);
 | 
			
		||||
    void    previewReport();
 | 
			
		||||
    void    previewReport(PreviewHints hints = ShowAllPreviewBars);
 | 
			
		||||
    void    designReport();
 | 
			
		||||
    void    setSettings(QSettings* value);
 | 
			
		||||
    void    setShowProgressDialog(bool value){m_showProgressDialog = value;}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user