diff --git a/src/lib_gui/qt/graphics/QtGraphicsView.cpp b/src/lib_gui/qt/graphics/QtGraphicsView.cpp index 1bec4726..d97eaf44 100644 --- a/src/lib_gui/qt/graphics/QtGraphicsView.cpp +++ b/src/lib_gui/qt/graphics/QtGraphicsView.cpp @@ -92,6 +92,13 @@ void QtGraphicsView::setAppZoomFactor(float appZoomFactor) updateTransform(); } +void QtGraphicsView::setSceneRect(const QRectF& rect) +{ + QGraphicsView::setSceneRect(rect); + + scene()->setSceneRect(rect); +} + QtGraphNode* QtGraphicsView::getNodeAtCursorPosition() const { QtGraphNode* node = nullptr; @@ -409,11 +416,11 @@ void QtGraphicsView::stopTimer() void QtGraphicsView::exportGraph() { QString fileName = QtFileDialog::showSaveFileDialog( - this, "Save image", QDir::homePath(), "PNG (*.png);;JPEG (*.JPEG);;BMP Files (*.bmp)"); + nullptr, "Save image", QDir::homePath(), "PNG (*.png);;JPEG (*.JPEG);;BMP Files (*.bmp)"); if (!fileName.isNull()) { - QImage image(scene()->sceneRect().size().toSize(), QImage::Format_ARGB32); + QImage image(scene()->sceneRect().size().toSize() * 2, QImage::Format_ARGB32); image.fill(Qt::transparent); QPainter painter(&image); @@ -421,7 +428,7 @@ void QtGraphicsView::exportGraph() scene()->render(&painter); image.save(fileName); - // different approach + // different approach: only currently visible part // QPixmap pixMap = grab(); // pixMap.save(fileName); } diff --git a/src/lib_gui/qt/graphics/QtGraphicsView.h b/src/lib_gui/qt/graphics/QtGraphicsView.h index 6ae608d7..6dca13a2 100644 --- a/src/lib_gui/qt/graphics/QtGraphicsView.h +++ b/src/lib_gui/qt/graphics/QtGraphicsView.h @@ -22,6 +22,8 @@ public: float getZoomFactor() const; void setAppZoomFactor(float appZoomFactor); + void setSceneRect(const QRectF& rect); + QtGraphNode* getNodeAtCursorPosition() const; void ensureVisibleAnimated(const QRectF& rect, int xmargin = 50, int ymargin = 50); diff --git a/src/lib_gui/qt/utility/QtFileDialog.cpp b/src/lib_gui/qt/utility/QtFileDialog.cpp index 9ead6736..422d4450 100644 --- a/src/lib_gui/qt/utility/QtFileDialog.cpp +++ b/src/lib_gui/qt/utility/QtFileDialog.cpp @@ -51,7 +51,7 @@ QString QtFileDialog::getOpenFileName(QWidget* parent, const QString& caption, c QString QtFileDialog::showSaveFileDialog( QWidget *parent, const QString& title, const QString& directory, const QString& filter) { -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) return QFileDialog::getSaveFileName(parent, title, directory, filter); @@ -92,7 +92,7 @@ QString QtFileDialog::showSaveFileDialog( { return QString(); } -#endif // Q_WS_MAC || Q_WS_WIN +#endif // Q_OS_MAC || Q_OS_WIN } QString QtFileDialog::getDir(QString dir)