mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2025-10-08 21:53:14 +03:00
Print range from QPrinter fix
This commit is contained in:
@@ -208,7 +208,7 @@ void ReportEnginePrivate::printReport(ItemsReaderIntf::Ptr reader, QPrinter& pri
|
||||
}
|
||||
}
|
||||
|
||||
void ReportEnginePrivate::printReport(ReportPages pages, QPrinter &printer, const PrintRange& printRange)
|
||||
void ReportEnginePrivate::printReport(ReportPages pages, QPrinter &printer)
|
||||
{
|
||||
LimeReport::PageDesignIntf renderPage;
|
||||
renderPage.setItemMode(PrintMode);
|
||||
@@ -216,13 +216,13 @@ void ReportEnginePrivate::printReport(ReportPages pages, QPrinter &printer, cons
|
||||
|
||||
bool isFirst = true;
|
||||
int currenPage = 1;
|
||||
foreach(PageItemDesignIntf::Ptr page,pages){
|
||||
foreach(PageItemDesignIntf::Ptr page, pages){
|
||||
|
||||
if (
|
||||
(printRange.rangeType()==QPrintDialog::AllPages) ||
|
||||
( (printRange.rangeType()==QPrintDialog::PageRange) &&
|
||||
(currenPage>=printRange.fromPage()) &&
|
||||
(currenPage<=printRange.toPage())
|
||||
(printer.printRange() == QPrinter::AllPages) ||
|
||||
( (printer.printRange()==QPrinter::PageRange) &&
|
||||
(currenPage>=printer.fromPage()) &&
|
||||
(currenPage<=printer.toPage())
|
||||
)
|
||||
)
|
||||
{
|
||||
@@ -286,7 +286,7 @@ bool ReportEnginePrivate::printReport(QPrinter* printer)
|
||||
ReportPages pages = renderToPages();
|
||||
dataManager()->setDesignTime(true);
|
||||
if (pages.count()>0){
|
||||
printReport(pages,*printer,PrintRange());
|
||||
printReport(pages,*printer);
|
||||
}
|
||||
} catch(ReportError &exception){
|
||||
saveError(exception.what());
|
||||
@@ -295,18 +295,12 @@ bool ReportEnginePrivate::printReport(QPrinter* printer)
|
||||
} else return false;
|
||||
}
|
||||
|
||||
bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer, PrintRange printRange)
|
||||
bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer)
|
||||
{
|
||||
|
||||
if (!printer&&!m_printerSelected){
|
||||
QPrintDialog dialog(m_printer.data(),QApplication::activeWindow());
|
||||
m_printerSelected = dialog.exec()!=QDialog::Rejected;
|
||||
if (m_printerSelected){
|
||||
printRange.setRangeType(dialog.printRange());
|
||||
printRange.setFromPage(dialog.fromPage());
|
||||
printRange.setToPage(dialog.toPage());
|
||||
}
|
||||
|
||||
}
|
||||
if (!printer&&!m_printerSelected) return false;
|
||||
|
||||
@@ -316,8 +310,7 @@ bool ReportEnginePrivate::printPages(ReportPages pages, QPrinter *printer, Print
|
||||
if (pages.count()>0){
|
||||
printReport(
|
||||
pages,
|
||||
*printer,
|
||||
printRange
|
||||
*printer
|
||||
);
|
||||
}
|
||||
} catch(ReportError &exception){
|
||||
@@ -828,9 +821,9 @@ bool ReportEngine::printReport(QPrinter *printer)
|
||||
return d->printReport(printer);
|
||||
}
|
||||
|
||||
bool ReportEngine::printPages(ReportPages pages, QPrinter *printer, PrintRange printRange){
|
||||
bool ReportEngine::printPages(ReportPages pages, QPrinter *printer){
|
||||
Q_D(ReportEngine);
|
||||
return d->printPages(pages,printer, printRange);
|
||||
return d->printPages(pages,printer);
|
||||
}
|
||||
|
||||
void ReportEngine::printToFile(const QString &fileName)
|
||||
|
Reference in New Issue
Block a user