0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-11-25 00:18:06 +03:00

Prepared pages processing has been refactored

This commit is contained in:
Arin Alexander
2019-05-29 16:32:58 +03:00
parent fc04af2c89
commit 536a409393
15 changed files with 186 additions and 128 deletions

View File

@@ -11,6 +11,7 @@
#include "lrreportengine_p.h"
#include "lrpreviewreportwidget_p.h"
#include "serializators/lrxmlwriter.h"
#include "lrpreparedpages.h"
namespace LimeReport {
@@ -207,13 +208,18 @@ void PreviewReportWidget::pageNavigatorChanged(int value)
void PreviewReportWidget::saveToFile()
{
QString fileName = QFileDialog::getSaveFileName(this,tr("Report file name"));
if (!fileName.isEmpty()){
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
foreach (PageItemDesignIntf::Ptr page, d_ptr->m_reportPages){
writer->putItem(page.data());
bool saved = false;
PreparedPages pagesManager = PreparedPages(&d_ptr->m_reportPages);
emit onSave(saved, &pagesManager);
if (!saved){
QString fileName = QFileDialog::getSaveFileName(this,tr("Report file name"));
if (!fileName.isEmpty()){
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
foreach (PageItemDesignIntf::Ptr page, d_ptr->m_reportPages){
writer->putItem(page.data());
}
writer->saveToFile(fileName);
}
writer->saveToFile(fileName);
}
}