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

Finish 1.4.132

# Conflicts:
#	include/lrpreviewreportwidget.h
#	include/lrreportengine.h
#	limereport/limereport.pri
#	limereport/limereport.pro
#	limereport/lrpreviewreportwidget.h
#	limereport/lrpreviewreportwindow.h
#	limereport/lrreportengine.cpp
#	limereport/lrreportengine.h
#	limereport/lrreportengine_p.h
This commit is contained in:
Arin Alexander
2019-05-29 18:10:26 +03:00
15 changed files with 188 additions and 131 deletions

View File

@@ -66,6 +66,7 @@
# define EASY_BLOCK(...)
# define EASY_END_BLOCK
#endif
#include "lrpreparedpages.h"
#ifdef HAVE_STATIC_BUILD
#include "lrfactoryinitializer.h"
@@ -76,7 +77,7 @@ namespace LimeReport{
QSettings* ReportEngine::m_settings = 0;
ReportEnginePrivate::ReportEnginePrivate(QObject *parent) :
QObject(parent), m_preparedPagesManager(PreparedPages(&m_preparedPages)), m_fileName(""), m_settings(0), m_ownedSettings(false),
QObject(parent), m_preparedPagesManager(new PreparedPages(&m_preparedPages)), m_fileName(""), m_settings(0), m_ownedSettings(false),
m_printer(new QPrinter(QPrinter::HighResolution)), m_printerSelected(false),
m_showProgressDialog(true), m_reportName(""), m_activePreview(0),
m_previewWindowIcon(":/report/images/logo32"), m_previewWindowTitle(tr("Preview")),
@@ -146,6 +147,7 @@ ReportEnginePrivate::~ReportEnginePrivate()
m_translations.clear();
if (m_ownedSettings&&m_settings) delete m_settings;
delete m_preparedPagesManager;
}
QObject* ReportEnginePrivate::createElement(const QString &, const QString &)
@@ -534,6 +536,8 @@ bool ReportEnginePrivate::showPreviewWindow(ReportPages pages, PreviewHints hint
w->setPreviewScaleType(m_previewScaleType, m_previewScalePercent);
connect(w,SIGNAL(destroyed(QObject*)), this, SLOT(slotPreviewWindowDestroyed(QObject*)));
connect(w, SIGNAL(onSave(bool&, LimeReport::IPreparedPages*)),
this, SIGNAL(onSavePreview(bool&, LimeReport::IPreparedPages*)));
w->exec();
return true;
}
@@ -969,6 +973,10 @@ PageItemDesignIntf* ReportEnginePrivate::getPageByName(const QString& pageName)
return 0;
}
IPreparedPages *ReportEnginePrivate::preparedPages(){
return m_preparedPagesManager;
}
bool ReportEnginePrivate::showPreparedPages(PreviewHints hints)
{
return showPreviewWindow(m_preparedPages, hints);
@@ -1383,7 +1391,8 @@ ReportEngine::ReportEngine(QObject *parent)
connect(d, SIGNAL(externalPaint(const QString&, QPainter*, const QStyleOptionGraphicsItem*)),
this, SIGNAL(externalPaint(const QString&, QPainter*, const QStyleOptionGraphicsItem*)));
connect(d, SIGNAL(onSavePreview(bool&, LimeReport::IPreparedPages*)),
this, SIGNAL(onSavePreview(bool&, LimeReport::IPreparedPages*)));
}
ReportEngine::~ReportEngine()
@@ -1788,80 +1797,6 @@ bool PrintProcessor::printPage(PageItemDesignIntf::Ptr page)
return true;
}
IPreparedPages::~IPreparedPages(){}
bool PreparedPages::loadFromFile(const QString &fileName)
{
ItemsReaderIntf::Ptr reader = FileXMLReader::create(fileName);
return readPages(reader);
}
bool PreparedPages::loadFromString(const QString data)
{
ItemsReaderIntf::Ptr reader = StringXMLreader::create(data);
return readPages(reader);
}
bool PreparedPages::loadFromByteArray(QByteArray *data)
{
ItemsReaderIntf::Ptr reader = ByteArrayXMLReader::create(data);
return readPages(reader);
}
bool PreparedPages::saveToFile(const QString &fileName)
{
if (!fileName.isEmpty()){
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
foreach (PageItemDesignIntf::Ptr page, *m_pages){
writer->putItem(page.data());
}
return writer->saveToFile(fileName);
}
return false;
}
QString PreparedPages::saveToString()
{
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
foreach (PageItemDesignIntf::Ptr page, *m_pages){
writer->putItem(page.data());
}
return writer->saveToString();
}
QByteArray PreparedPages::saveToByteArray()
{
QScopedPointer< ItemsWriterIntf > writer(new XMLWriter());
foreach (PageItemDesignIntf::Ptr page, *m_pages){
writer->putItem(page.data());
}
return writer->saveToByteArray();
}
bool PreparedPages::readPages(ItemsReaderIntf::Ptr reader)
{
if (reader->first()){
PageItemDesignIntf::Ptr page = PageItemDesignIntf::create(0);
if (!reader->readItem(page.data()))
return false;
else {
m_pages->append(page);
while (reader->next()){
page = PageItemDesignIntf::create(0);
if (!reader->readItem(page.data())){
m_pages->clear();
return false;
} else {
m_pages->append(page);
}
}
}
return true;
}
return false;
}
void PrintProcessor::initPrinter(PageItemDesignIntf* page)
{
if (page->oldPrintMode()){