diff --git a/customelement.cpp b/customelement.cpp index 3de795f38..a261f6d72 100644 --- a/customelement.cpp +++ b/customelement.cpp @@ -18,6 +18,7 @@ #include "customelement.h" #include "elementtextitem.h" #include "diagram.h" +#include "qetapp.h" #include /** Constructeur de la classe ElementPerso. Permet d'instancier un element @@ -389,7 +390,7 @@ bool CustomElement::parseText(QDomElement &e, QPainter &qp) { qp.save(); setPainterStyle(e, qp); - qp.setFont(QFont(QString("Sans Serif"), size)); + qp.setFont(QFont(QString(QETApp::diagramTextsFont()), size)); qp.drawText(QPointF(pos_x, pos_y), e.attribute("text")); qp.restore(); return(true); @@ -417,7 +418,7 @@ bool CustomElement::parseInput(QDomElement &e) { ) return(false); ElementTextItem *eti = new ElementTextItem(e.attribute("text"), this); - eti -> setFont(QFont("Sans Serif", size)); + eti -> setFont(QFont(QETApp::diagramTextsFont(), size)); eti -> setPos(pos_x, pos_y); if (e.attribute("rotate") == "true") eti -> setFollowParentRotations(true); return(true); diff --git a/editor/parttext.cpp b/editor/parttext.cpp index 89dd7f79b..a7f180b77 100644 --- a/editor/parttext.cpp +++ b/editor/parttext.cpp @@ -18,6 +18,7 @@ #include "parttext.h" #include "texteditor.h" #include "elementscene.h" +#include "qetapp.h" /** Constructeur @@ -51,7 +52,7 @@ void PartText::fromXml(const QDomElement &xml_element) { int font_size = xml_element.attribute("size").toInt(&ok); if (!ok || font_size < 1) font_size = 20; - setFont(QFont(QString("Sans Serif"), font_size)); + setFont(QFont(QString(QETApp::diagramTextsFont()), font_size)); setPlainText(xml_element.attribute("text")); setPos( xml_element.attribute("x").toDouble(), diff --git a/editor/parttextfield.cpp b/editor/parttextfield.cpp index b15fa2f18..2b1d342ce 100644 --- a/editor/parttextfield.cpp +++ b/editor/parttextfield.cpp @@ -17,6 +17,7 @@ */ #include "parttextfield.h" #include "textfieldeditor.h" +#include "qetapp.h" /** Constructeur @@ -50,7 +51,7 @@ void PartTextField::fromXml(const QDomElement &xml_element) { int font_size = xml_element.attribute("size").toInt(&ok); if (!ok || font_size < 1) font_size = 20; - setFont(QFont(QString("Sans Serif"), font_size)); + setFont(QFont(QString(QETApp::diagramTextsFont()), font_size)); setPlainText(xml_element.attribute("text")); setPos( xml_element.attribute("x").toDouble(), diff --git a/qetapp.cpp b/qetapp.cpp index 330c28801..a3b6bcf7a 100644 --- a/qetapp.cpp +++ b/qetapp.cpp @@ -24,6 +24,7 @@ QString QETApp::common_elements_dir = QString(); QString QETApp::config_dir = QString(); +QString QETApp::diagram_texts_font = QString(); /** Constructeur @@ -121,6 +122,9 @@ QETApp::QETApp(int &argc, char **argv) : QApplication(argc, argv) { // lit le fichier de configuration qet_settings = new QSettings(configDir() + "qelectrotech.conf", QSettings::IniFormat, this); + // police a utiliser pour le rendu de texte + diagram_texts_font = qet_settings -> value("diagramfont", "Sans Serif").toString(); + // Creation et affichage d'un editeur de schema QStringList files; foreach(QString argument, arguments()) { @@ -140,7 +144,7 @@ QETApp::~QETApp() { @param desired_language langage voulu */ void QETApp::setLanguage(const QString &desired_language) { - QString languages_path = QETApp::languagesPath(); + QString languages_path = languagesPath(); // charge les eventuelles traductions pour la lib Qt qtTranslator.load("qt_" + desired_language, languages_path); @@ -247,7 +251,7 @@ QString QETApp::commonElementsDir() { @return Le chemin du dossier des elements persos */ QString QETApp::customElementsDir() { - return(QETApp::configDir() + "elements/"); + return(configDir() + "elements/"); } /** @@ -370,6 +374,10 @@ bool QETApp::closeEveryEditor() { return(every_window_closed); } +QString QETApp::diagramTextsFont() { + return(diagram_texts_font); +} + /** Nettoie certaines choses avant que l'application ne quitte */ diff --git a/qetapp.h b/qetapp.h index 299c93a09..a52aba7cb 100644 --- a/qetapp.h +++ b/qetapp.h @@ -62,6 +62,8 @@ class QETApp : public QApplication { private: static QString config_dir; ///< Dossier contenant la configuration et la collection d'elements de l'utilisateur #endif + public: + static QString diagramTextsFont(); protected: bool event(QEvent *); @@ -90,6 +92,7 @@ class QETApp : public QApplication { bool every_element_visible; QSignalMapper signal_map; QSettings *qet_settings; + static QString diagram_texts_font; public slots: void systray(QSystemTrayIcon::ActivationReason);