From 52d99697c9865ea094b76cf5f644538875a9406b Mon Sep 17 00:00:00 2001 From: Lukáš Lalinský Date: Mon, 8 Dec 2008 23:18:01 +0100 Subject: Don't export/print the grid or the selection status --- src/diagramdocument.cpp | 18 ++++++++++++++++-- src/diagramdocument.h | 3 +++ src/items/database/databasetable.cpp | 2 +- src/mainwindow.cpp | 4 ++++ 4 files changed, 24 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/diagramdocument.cpp b/src/diagramdocument.cpp index 7ed2418..32b492e 100644 --- a/src/diagramdocument.cpp +++ b/src/diagramdocument.cpp @@ -36,11 +36,13 @@ public: DiagramDocumentPrivate() : gridSize(10), gridVisible(true), - gridPen(QColor(185, 185, 185), 0) + gridPen(QColor(185, 185, 185), 0), + printing(false) {} int gridSize; bool gridVisible; QPen gridPen; + bool printing; }; DiagramDocument::DiagramDocument(QObject *parent) @@ -91,7 +93,7 @@ DiagramDocument::setGridColor(const QColor &color) void DiagramDocument::drawBackground(QPainter *painter, const QRectF &rect) { - if (d->gridVisible) { + if (!d->printing && d->gridVisible) { qreal gridSize = d->gridSize; qreal x0 = gridSize * floor(rect.left() / gridSize); qreal y0 = gridSize * floor(rect.top() / gridSize); @@ -108,6 +110,18 @@ DiagramDocument::drawBackground(QPainter *painter, const QRectF &rect) } } +bool +DiagramDocument::isPrinting() const +{ + return d->printing; +} + +void +DiagramDocument::setPrinting(bool printing) +{ + d->printing = printing; +} + DiagramDocument::Mode DiagramDocument::mode() { diff --git a/src/diagramdocument.h b/src/diagramdocument.h index a02ef09..eb7aeba 100644 --- a/src/diagramdocument.h +++ b/src/diagramdocument.h @@ -78,6 +78,9 @@ public: QColor gridColor() const; void setGridColor(const QColor &color); + bool isPrinting() const; + void setPrinting(bool printing); + signals: void modeChanged(DiagramDocument::Mode mode); diff --git a/src/items/database/databasetable.cpp b/src/items/database/databasetable.cpp index 911457f..1460cd8 100644 --- a/src/items/database/databasetable.cpp +++ b/src/items/database/databasetable.cpp @@ -61,7 +61,7 @@ DatabaseTable::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QPen pen(QPen(QColor(0, 0, 0))); pen.setJoinStyle(Qt::MiterJoin); QPen borderPen(pen); - if (isSelected()) { + if (!model()->isPrinting() && isSelected()) { borderPen.setColor(QColor(0, 96, 255)); borderPen.setWidth(2); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 867bdbf..0a8a160 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -438,14 +438,18 @@ MainWindow::exportPNG() generator.setFileName(fileName); QPainter painter(&generator); 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); painter.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::Antialiasing); painter.fillRect(image.rect(), Qt::white); + m_model->setPrinting(true); m_model->render(&painter, image.rect(), boundingRect); + m_model->setPrinting(false); if (true) image.convertToFormat(QImage::Format_Indexed8).save(fileName, "PNG"); else -- cgit v1.2.3-54-g00ecf