mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 00:28:42 +00:00
Export Chart Image as SVG
Add .svg as an alternative format for high resolution printing. Fixes #3246
This commit is contained in:
committed by
Alejandro Martinez
parent
0009c280a8
commit
2cb9bc113e
@@ -41,6 +41,7 @@
|
||||
#include <QMouseEvent>
|
||||
#include <QFileDialog>
|
||||
#include <QGraphicsDropShadowEffect>
|
||||
#include <QSvgGenerator>
|
||||
|
||||
Q_DECLARE_METATYPE(QWidget*)
|
||||
|
||||
@@ -874,9 +875,9 @@ GcChartWindow::addHelper(QString name, QWidget *widget)
|
||||
void GcChartWindow:: saveImage()
|
||||
{
|
||||
QString fileName = title()+".png";
|
||||
fileName = QFileDialog::getSaveFileName(this, tr("Save Chart Image"), QString(), title()+".png (*.png)");
|
||||
fileName = QFileDialog::getSaveFileName(this, tr("Save Chart Image"), QString(), title()+".png (*.png)"+";;"+title()+".svg (*.svg)");
|
||||
|
||||
if (!fileName.isEmpty()) {
|
||||
if (!fileName.isEmpty() && fileName.endsWith(".png")) {
|
||||
|
||||
QPixmap picture;
|
||||
menuButton->hide();
|
||||
@@ -886,6 +887,14 @@ void GcChartWindow:: saveImage()
|
||||
picture = QPixmap::grabWidget (this);
|
||||
#endif
|
||||
picture.save(fileName);
|
||||
} else if (!fileName.isEmpty() && fileName.endsWith(".svg")) {
|
||||
|
||||
QSvgGenerator generator;
|
||||
generator.setFileName(fileName);
|
||||
generator.setSize(size());
|
||||
generator.setViewBox(rect());
|
||||
generator.setTitle(title());
|
||||
render(&generator);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user