From 987b4932e62882643110b81182265b89dab8f506 Mon Sep 17 00:00:00 2001 From: Lukáš Lalinský Date: Thu, 9 Jul 2009 09:33:18 +0200 Subject: PDF export --- src/mainwindow.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fd7d9ee..eda1e14 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -482,6 +483,7 @@ MainWindow::exportPNG() { QStringList filters; filters << "Portable Network Graphics (*.png)"; + filters << "Portable Document Format (*.pdf)"; filters << "Scalable Vector Graphics (*.svg)"; QString fileName = QFileDialog::getSaveFileName(this, QString(), QString(), filters.join(";;")); if (!fileName.isNull()) { @@ -497,6 +499,16 @@ MainWindow::exportPNG() m_model->render(&painter, QRectF(), boundingRect); m_model->setPrinting(false); } + else if (fileName.endsWith(".pdf", Qt::CaseInsensitive)) { + QPrinter printer; + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setOutputFileName(fileName); + QPainter painter(&printer); + painter.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::Antialiasing); + m_model->setPrinting(true); + m_model->render(&painter, QRectF(), boundingRect); + m_model->setPrinting(false); + } else if (fileName.endsWith(".png", Qt::CaseInsensitive)) { QImage image(size, QImage::Format_RGB32); QPainter painter(&image); -- cgit v1.2.3-54-g00ecf