diff --git a/sources/exportdialog.cpp b/sources/exportdialog.cpp index 10696d736..36f930c62 100644 --- a/sources/exportdialog.cpp +++ b/sources/exportdialog.cpp @@ -422,7 +422,8 @@ void ExportDialog::generateDxf(Diagram *diagram, int width, int height, bool kee QStringList lines = dti -> toPlainText().split('\n'); y += (fontSize/2) * (lines.count()-1); foreach (QString line, lines) { - Createdxf::drawText(file_path, line, x, y, fontSize, dti -> rotationAngle(), 0 ); + if (line.size() > 0) + Createdxf::drawText(file_path, line, x, y, fontSize, dti -> rotationAngle(), 0 ); y -= fontSize*1.06; } @@ -486,7 +487,10 @@ void ExportDialog::generateDxf(Diagram *diagram, int width, int height, bool kee qreal center_y = y - w/2; qreal radius = (w+h)/4; qreal endAngle = startAngle + spanAngle; - Createdxf::drawArc(file_path, center_x, center_y, radius, endAngle, startAngle, 0); + if (startAngle == 0 && spanAngle == 360) + Createdxf::drawCircle(file_path, radius, center_x, center_y, 0); + else + Createdxf::drawArc(file_path, center_x, center_y, radius, endAngle, startAngle, 0); } } diff --git a/sources/qetgraphicsitem/customelement.cpp b/sources/qetgraphicsitem/customelement.cpp index 2bb659ac9..42998b38a 100644 --- a/sources/qetgraphicsitem/customelement.cpp +++ b/sources/qetgraphicsitem/customelement.cpp @@ -634,6 +634,18 @@ bool CustomElement::parseText(QDomElement &e, QPainter &qp) { QTextDocument text_document; text_document.setDefaultFont(used_font); text_document.setPlainText(e.attribute("text")); + + //Add element to list of texts. + ElementTextItem *eti = new ElementTextItem(e.attribute("text")); + eti -> setFont(QETApp::diagramTextsFont(size)); + eti -> setOriginalPos(QPointF(pos_x, pos_y)); + eti -> setPos(pos_x, pos_y); + qreal original_rotation_angle = 0.0; + QET::attributeIsAReal(e, "rotation", &original_rotation_angle); + eti -> setOriginalRotationAngle(original_rotation_angle); + eti -> setRotationAngle(original_rotation_angle); + eti -> setFollowParentRotations(e.attribute("rotate") == "true"); + list_texts_ << eti; // Se positionne aux coordonnees indiquees dans la description du texte qp.setTransform(QTransform(), false); @@ -669,7 +681,7 @@ bool CustomElement::parseText(QDomElement &e, QPainter &qp) { QAbstractTextDocumentLayout::PaintContext ctx; ctx.palette.setColor(QPalette::Text, text_color); text_document.documentLayout() -> draw(&qp, ctx); - + qp.restore(); return(true); }