void RenderWindow::print(bool showPreview) { ORPreRender pre; pre.setDom(_doc); pre.setParamList(getParameterList()); ORODocument * doc = pre.generate(); if(doc) { QPrinter printer(QPrinter::HighResolution); if(!_printerName.isEmpty()) { printer.setPrinterName(_printerName); _printerName = QString::null; } if(showPreview) { PreviewDialog preview (doc, &printer, this); if (preview.exec() == QDialog::Rejected) return; } ORPrintRender render; render.setupPrinter(doc, &printer); QPrintDialog pd(&printer); pd.setMinMax(1, doc->pages()); if(pd.exec() == QDialog::Accepted) { render.setPrinter(&printer); render.render(doc); } } }
void RenderWindow::print(bool showPreview, int numCopies ) { ORPreRender pre; pre.setDom(_doc); pre.setParamList(getParameterList()); ORODocument * doc = pre.generate(); if(doc) { QPrinter printer(QPrinter::HighResolution); #if QT_VERSION < 0x040700 // if qt < 4.7.0 then use the old function call. printer.setNumCopies( numCopies ); #else printer.setCopyCount( numCopies ); #endif if(!_printerName.isEmpty()) { printer.setPrinterName(_printerName); _printerName = QString::null; } ORPrintRender render; render.setupPrinter(doc, &printer); if(showPreview) { if(printer.printerName().isEmpty()) { QPrintDialog pd(&printer); if(pd.exec() != QDialog::Accepted) { return; // no printer, can't preview } } PreviewDialog preview (doc, &printer, this); if (preview.exec() == QDialog::Rejected) return; } if(_autoPrint) { render.setPrinter(&printer); render.render(doc); } else { QPrintDialog pd(&printer); pd.setMinMax(1, doc->pages()); if(pd.exec() == QDialog::Accepted) { render.setPrinter(&printer); render.render(doc); } } delete doc; } }
void displayPrivate::print(ParameterList pParams, bool showPreview, bool forceSetParams) { int numCopies = 1; ParameterList params = pParams; if (forceSetParams || !params.count()) { if(!_parent->setParams(params)) return; } params.append("isReport", true); XSqlQuery report; report.prepare("SELECT report_grade, report_source " " FROM report " " WHERE (report_name=:report_name)" " ORDER BY report_grade DESC LIMIT 1"); report.bindValue(":report_name", reportName); report.exec(); QDomDocument _doc; if (report.first()) { QString errorMessage; int errorLine; if (!_doc.setContent(report.value("report_source").toString(), &errorMessage, &errorLine)) { QMessageBox::critical(_parent, ::display::tr("Error Parsing Report"), ::display::tr("There was an error Parsing the report definition. %1 %2").arg(errorMessage).arg(errorLine)); return; } } else { QMessageBox::critical(_parent, ::display::tr("Report Not Found"), ::display::tr("The report %1 does not exist.").arg(reportName)); return; } ORPreRender pre; pre.setDom(_doc); pre.setParamList(params); ORODocument * doc = pre.generate(); if(doc) { ReportPrinter printer(QPrinter::HighResolution); printer.setNumCopies( numCopies ); ORPrintRender render; render.setupPrinter(doc, &printer); if(showPreview) { QPrinter * tPrinter = &printer; QPrinter pdfPrinter(QPrinter::HighResolution); if(!printer.isValid()) { render.setupPrinter(doc, &pdfPrinter); pdfPrinter.setOutputFormat(QPrinter::PdfFormat); tPrinter = &pdfPrinter; } PreviewDialog preview (doc, tPrinter, _parent); if (preview.exec() == QDialog::Rejected) return; } QPrintDialog pd(&printer); pd.setMinMax(1, doc->pages()); if(pd.exec() == QDialog::Accepted) { render.render(doc, &printer); } delete doc; } }
void CSSConfig::slotPreview() { QStyleSheetItem *h1 = new QStyleSheetItem(QStyleSheet::defaultSheet(), "h1"); QStyleSheetItem *h2 = new QStyleSheetItem(QStyleSheet::defaultSheet(), "h2"); QStyleSheetItem *h3 = new QStyleSheetItem(QStyleSheet::defaultSheet(), "h3"); QStyleSheetItem *text = new QStyleSheetItem(QStyleSheet::defaultSheet(), "p"); // Fontsize int bfs = customDialog->basefontsize->currentText().toInt(); text->setFontSize(bfs); if (customDialog->dontScale->isChecked()) { h1->setFontSize(bfs); h2->setFontSize(bfs); h3->setFontSize(bfs); } else { h1->setFontSize(static_cast<int>(bfs * 1.8)); h2->setFontSize(static_cast<int>(bfs * 1.6)); h3->setFontSize(static_cast<int>(bfs * 1.4)); } // Colors QColor back, fore; if (customDialog->blackOnWhite->isChecked()) { back = Qt::white; fore = Qt::black; } else if (customDialog->whiteOnBlack->isChecked()) { back = Qt::black; fore = Qt::white; } else { back = customDialog->backgroundColor->color(); fore = customDialog->foregroundColor->color(); } h1->setColor(fore); h2->setColor(fore); h3->setColor(fore); text->setColor(fore); // Fonts h1->setFontFamily(customDialog->fontFamily->currentText()); h2->setFontFamily(customDialog->fontFamily->currentText()); h3->setFontFamily(customDialog->fontFamily->currentText()); text->setFontFamily(customDialog->fontFamily->currentText()); // Show the preview PreviewDialog *dlg = new PreviewDialog(this, 0, true); dlg->preview->setPaper(back); dlg->preview->viewport()->setFont(QFont(KGlobalSettings::generalFont().family(), bfs)); dlg->exec(); delete dlg; }