diff --git a/limereport/lrpreviewreportwidget.cpp b/limereport/lrpreviewreportwidget.cpp index 5443adf..5ef2693 100644 --- a/limereport/lrpreviewreportwidget.cpp +++ b/limereport/lrpreviewreportwidget.cpp @@ -200,6 +200,7 @@ void PreviewReportWidget::printToPDF() foreach(PageItemDesignIntf::Ptr pageItem, d_ptr->m_reportPages){ d_ptr->m_previewPage->reactivatePageItem(pageItem); } + d_ptr->m_report->emitPrintedToPDF(fileName); } } diff --git a/limereport/lrreportengine.cpp b/limereport/lrreportengine.cpp index 53056db..8c6c3f9 100644 --- a/limereport/lrreportengine.cpp +++ b/limereport/lrreportengine.cpp @@ -484,7 +484,9 @@ bool ReportEnginePrivate::printToPDF(const QString &fileName) QPrinter printer; printer.setOutputFileName(fn); printer.setOutputFormat(QPrinter::PdfFormat); - return printReport(&printer); + bool success = printReport(&printer); + if(success) emitPrintedToPDF(fileName); + return success; } return false; } @@ -600,6 +602,11 @@ void ReportEnginePrivate::emitSaveFinished() emit saveFinished(); } +void ReportEnginePrivate::emitPrintedToPDF(QString fileName) +{ + emit printedToPDF(fileName); +} + bool ReportEnginePrivate::isSaved() { foreach (PageDesignIntf* page, m_pages) { @@ -1159,7 +1166,9 @@ ReportEngine::ReportEngine(QObject *parent) connect(d, SIGNAL(onSave()), this, SIGNAL(onSave())); connect(d, SIGNAL(onLoad(bool&)), this, SIGNAL(onLoad(bool&))); connect(d, SIGNAL(saveFinished()), this, SIGNAL(saveFinished())); - connect(d, SIGNAL(loaded()), this, SIGNAL(loaded())); + + connect(d, SIGNAL(loaded()), this, SIGNAL(loaded())); + connect(d, SIGNAL(printedToPDF(QString)), this, SIGNAL(printedToPDF(QString))); connect(d, SIGNAL(getAviableLanguages(QList*)), this, SIGNAL(getAviableLanguages(QList*))); diff --git a/limereport/lrreportengine.h b/limereport/lrreportengine.h index 6eed25a..a4c1158 100644 --- a/limereport/lrreportengine.h +++ b/limereport/lrreportengine.h @@ -122,10 +122,14 @@ signals: void onLoad(bool& loaded); void onSave(); void saveFinished(); - void loaded(); + + void loaded(); + void printedToPDF(QString fileName); + void getAviableLanguages(QList* languages); void currentDefaulLanguageChanged(QLocale::Language); QLocale::Language getCurrentDefaultLanguage(); + public slots: void cancelRender(); protected: diff --git a/limereport/lrreportengine_p.h b/limereport/lrreportengine_p.h index b3280d8..a5c7fb4 100644 --- a/limereport/lrreportengine_p.h +++ b/limereport/lrreportengine_p.h @@ -151,6 +151,7 @@ public: void emitSaveReport(); bool emitLoadReport(); void emitSaveFinished(); + void emitPrintedToPDF(QString fileName); bool isSaved(); void setCurrentReportsDir(const QString& dirName); QString currentReportsDir(){ return m_reportsDir;} @@ -195,10 +196,14 @@ signals: void onLoad(bool& loaded); void onSave(); void saveFinished(); - void loaded(); + + void loaded(); + void printedToPDF(QString fileName); + void getAviableLanguages(QList* languages); void currentDefaulLanguageChanged(QLocale::Language); QLocale::Language getCurrentDefaultLanguage(); + public slots: bool slotLoadFromFile(const QString& fileName); void cancelRender();