Merge pull request #582 from DieterMayerOSS/pr/font-legacy-format

Write font descriptions in a version-stable format (#553)
This commit is contained in:
Laurent Trinques
2026-07-31 10:30:49 +02:00
committed by GitHub
13 changed files with 178 additions and 27 deletions
@@ -22,6 +22,7 @@
#include "../../qetinformation.h"
#include "../../qetproject.h"
#include "../../qetxml.h"
#include "../../utils/qetutils.h"
#include <QSqlError>
#include <QSqlRecord>
@@ -252,7 +253,7 @@ QDomElement ProjectDBModel::toXml(QDomDocument &document) const
//Add index 0,0 data
auto index_00 = document.createElement("index00");
index_00.setAttribute("font", m_index_0_0_data.value(Qt::FontRole).toString());
index_00.setAttribute("font", QETUtils::fontToString(m_index_0_0_data.value(Qt::FontRole).value<QFont>()));
auto me = QMetaEnum::fromType<Qt::Alignment>();
index_00.setAttribute("alignment", me.valueToKey(m_index_0_0_data.value(Qt::TextAlignmentRole).toInt()));
dom_element.appendChild(index_00);
@@ -290,7 +291,7 @@ void ProjectDBModel::fromXml(const QDomElement &element)
//Index 0,0
auto index_00 = element.firstChildElement("index00");
QFont font_;
font_.fromString(index_00.attribute("font"));
QETUtils::fontFromString(font_, index_00.attribute("font"));
m_index_0_0_data.insert(Qt::FontRole, font_);
auto me = QMetaEnum::fromType<Qt::Alignment>();
m_index_0_0_data.insert(Qt::TextAlignmentRole, me.keyToValue(index_00.attribute("alignment").toStdString().data()));
@@ -23,6 +23,7 @@
#include "../qetgraphicsitem/conductor.h"
#include "../qetgraphicsitem/terminal.h"
#include "../qetinformation.h"
#include "../utils/qetutils.h"
#include "crossrefitem.h"
#include "element.h"
#include "elementtextitemgroup.h"
@@ -96,7 +97,7 @@ QDomElement DynamicElementTextItem::toXml(QDomDocument &dom_doc) const
root_element.setAttribute("uuid", m_uuid.toString());
root_element.setAttribute("frame", m_frame? "true" : "false");
root_element.setAttribute("text_width", QString::number(m_text_width));
root_element.setAttribute("font", font().toString());
root_element.setAttribute("font", QETUtils::fontToString(font()));
root_element.setAttribute("keep_visual_rotation", m_keep_visual_rotation ? "true" : "false");
QMetaEnum me = textFromMetaEnum();
@@ -167,7 +168,7 @@ void DynamicElementTextItem::fromXml(const QDomElement &dom_elmt)
if (dom_elmt.hasAttribute("font"))
{
QFont font;
font.fromString(dom_elmt.attribute("font"));
QETUtils::fontFromString(font, dom_elmt.attribute("font"));
setFont(font);
}
else //Retrocompatibility during the 0.7 dev because the font property was added lately. TODO remove this part in futur
@@ -21,6 +21,7 @@
#include "../diagramcommands.h"
#include "../qet.h"
#include "../qetapp.h"
#include "../utils/qetutils.h"
#include <QDomElement>
#include <QSettings>
@@ -64,7 +65,7 @@ void IndependentTextItem::fromXml(const QDomElement &e) {
if (e.hasAttribute("font"))
{
QFont font;
font.fromString(e.attribute("font"));
QETUtils::fontFromString(font, e.attribute("font"));
setFont(font);
}
}
@@ -80,7 +81,7 @@ QDomElement IndependentTextItem::toXml(QDomDocument &document) const
result.setAttribute("y", QString("%1").arg(pos().y()));
result.setAttribute("text", toHtml());
result.setAttribute("rotation", QString::number(QET::correctAngle(rotation())));
result.setAttribute("font", font().toString());
result.setAttribute("font", QETUtils::fontToString(font()));
return(result);
}