mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 08:34:38 +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:
parent
c52a0240c6
commit
7ce974090e
@ -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){
|
||||
@ -312,4 +327,4 @@ void PreviewReportWindow::on_actionShowMessages_toggled(bool value)
|
||||
m_previewReportWidget->setErrorsMesagesVisible(value);
|
||||
}
|
||||
|
||||
}// namespace LimeReport
|
||||
}// namespace LimeReport
|
||||
|
@ -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;}
|
||||
|
Loading…
Reference in New Issue
Block a user