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

Report Engine:

changed onSave() -> onSave(bool&)
rename 'loaded' signal to 'loadFinshed' to be consistent with 'saveFinished' signal
added signal 'onSaveAs' and corresponding
added functions:  'emitSaveReportAs', 'emitLoadFinished'

DesignWidget:
add boolean functions checking whether emitSaveReport and emitSaveReportAs completed.

DesignWindow:
save / saveas / load functions are interceptable by reportengine signals
This commit is contained in:
James
2018-05-23 12:01:30 -04:00
parent 56e78f86ba
commit afd4944506
9 changed files with 108 additions and 71 deletions

View File

@@ -79,7 +79,7 @@ ReportDesignWidget::ReportDesignWidget(ReportEnginePrivateInterface* report, QMa
connect(dynamic_cast<QObject*>(m_report), SIGNAL(pagesLoadFinished()),this,SLOT(slotPagesLoadFinished()));
connect(dynamic_cast<QObject*>(m_report), SIGNAL(cleared()), this, SIGNAL(cleared()));
connect(dynamic_cast<QObject*>(m_report), SIGNAL(loaded()), this, SLOT(slotReportLoaded()));
connect(dynamic_cast<QObject*>(m_report), SIGNAL(loadFinished()), this, SLOT(slotReportLoaded()));
connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabChanged(int)));
#ifdef HAVE_UI_LOADER
@@ -432,14 +432,15 @@ bool ReportDesignWidget::save()
bool result = false;
if (!m_report->reportFileName().isEmpty()){
if (emitSaveReport()) {
result = true; // saved via signal
}
else if (!m_report->reportFileName().isEmpty()){
if (m_report->saveToFile()){
m_report->emitSaveFinished();
result = true;
}
}
else {
m_report->emitSaveReport();
} else {
if (m_report->isSaved()) {
m_report->emitSaveFinished();
result = true;
@@ -449,6 +450,7 @@ bool ReportDesignWidget::save()
result = true;
};
}
#ifdef HAVE_QTDESIGNER_INTEGRATION
if (result){
m_dialogChanged = false;
@@ -494,6 +496,16 @@ bool ReportDesignWidget::isNeedToSave()
return false;
}
bool ReportDesignWidget::emitSaveReport()
{
return m_report->emitSaveReport();
}
bool ReportDesignWidget::emitSaveReportAs()
{
return m_report->emitSaveReportAs();
}
bool ReportDesignWidget::emitLoadReport()
{
return m_report->emitLoadReport();