diff --git a/sources/qetapp.cpp b/sources/qetapp.cpp index 2a9449ee1..d9c5a956b 100644 --- a/sources/qetapp.cpp +++ b/sources/qetapp.cpp @@ -958,42 +958,30 @@ QFont QETApp::diagramTextsItemFont(qreal size) } /** * @brief QETApp::dynamicTextsFont - * the font for to use when add a dynamic texte + * the defaukt font of dynamic element text item * @param size * @return */ - - QFont QETApp::dynamicTextsItemFont(qreal size) { QSettings settings; - //Font to use - QString dynamic_texts_item_family = settings.value("font_family", "Sans Serif").toString(); - qreal dynamic_texts_item_size = settings.value("dynamicitemsize", 9.0).toDouble(); - qreal dynamic_texts_item_weight = settings.value("dynamicitemweight").toDouble(); - QString dynamic_texts_item_style = settings.value("dynamicitemstyle", "normal").toString(); - - if (size != -1.0) { - dynamic_texts_item_size = size; + QFont font_ = diagramTextsItemFont(); + if (settings.contains("diagrameditor/dynamic_text_font")) { + font_.fromString(settings.value("diagrameditor/dynamic_text_font").toString()); } - QFont dynamic_texts_item_font = QFont(dynamic_texts_item_family); - dynamic_texts_item_font.setPointSizeF(dynamic_texts_item_size); - dynamic_texts_item_font.setWeight(dynamic_texts_item_weight); - dynamic_texts_item_font.setStyleName(dynamic_texts_item_style); - if (dynamic_texts_item_size <= 4.0) { - dynamic_texts_item_font.setWeight(QFont::Light); + if (size > 0) { + font_.setPointSizeF(size); } - return(dynamic_texts_item_font); + return(font_); } + /** * @brief QETApp::foliolistTextsFont * the font for to use in summary pages * @param size * @return */ - - QFont QETApp::foliolistTextsFont(qreal size) { QSettings settings; @@ -1013,6 +1001,26 @@ QFont QETApp::foliolistTextsFont(qreal size) return(foliolist_texts_font); } +/** + * @brief QETApp::indiTextsItemFont + * The default font to use for independent text item + * @param size + * @return + */ +QFont QETApp::indiTextsItemFont(qreal size) +{ + QSettings settings; + //Font to use + QFont font_ = diagramTextsItemFont(); + if (settings.contains("diagrameditor/independent_text_font")) { + font_.fromString(settings.value("diagrameditor/independent_text_font").toString()); + } + if (size > 0) { + font_.setPointSizeF(size); + } + return(font_); +} + /** @return les editeurs de schemas diff --git a/sources/qetapp.h b/sources/qetapp.h index f56858867..92e060d25 100644 --- a/sources/qetapp.h +++ b/sources/qetapp.h @@ -136,6 +136,7 @@ class QETApp : public QObject static QFont diagramTextsItemFont(qreal = -1.0); static QFont dynamicTextsItemFont(qreal = -1.0); static QFont foliolistTextsFont(qreal = -1.0); + static QFont indiTextsItemFont (qreal = -1.0); static QETDiagramEditor *diagramEditorForFile(const QString &); static QETDiagramEditor *diagramEditorAncestorOf (const QWidget *child); static QList diagramEditors(); diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index 1c7a84638..d0a956cdc 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -43,8 +43,8 @@ DynamicElementTextItem::DynamicElementTextItem(Element *parent_element) : setText(tr("Texte")); setParentItem(parent_element); QSettings settings; - setRotation(settings.value("dynamic_rotation", 0).toInt()); - setTextWidth(settings.value("dynamic_with", -1).toInt()); + setRotation(settings.value("dynamic_text_rotation", 0).toInt()); + setTextWidth(settings.value("dynamic_text_widht", -1).toInt()); connect(this, &DynamicElementTextItem::textEdited, [this](const QString &old_str, const QString &new_str) { if(this->m_parent_element && this->m_parent_element->diagram()) @@ -53,7 +53,6 @@ DynamicElementTextItem::DynamicElementTextItem(Element *parent_element) : undo->setText(tr("Éditer un texte d'élément")); this->m_parent_element->diagram()->undoStack().push(undo); } - }); //Option when text is displayed in multiple line diff --git a/sources/qetgraphicsitem/independenttextitem.cpp b/sources/qetgraphicsitem/independenttextitem.cpp index 6356c38ca..d5562abda 100644 --- a/sources/qetgraphicsitem/independenttextitem.cpp +++ b/sources/qetgraphicsitem/independenttextitem.cpp @@ -19,7 +19,10 @@ #include "qet.h" #include "diagram.h" #include "diagramcommands.h" +#include "qetapp.h" + #include +#include /** Constructeur @@ -27,7 +30,11 @@ */ IndependentTextItem::IndependentTextItem() : DiagramTextItem(nullptr) -{} +{ + setFont(QETApp::indiTextsItemFont()); + QSettings settings; + setRotation(settings.value("diagrameditor/independent_text_rotation", 0).toInt()); +} /** Constructeur diff --git a/sources/ui/configpage/generalconfigurationpage.cpp b/sources/ui/configpage/generalconfigurationpage.cpp index 1ed97fe12..80cbafc91 100644 --- a/sources/ui/configpage/generalconfigurationpage.cpp +++ b/sources/ui/configpage/generalconfigurationpage.cpp @@ -22,6 +22,7 @@ #include #include +#include /** * @brief GeneralConfigurationPage::GeneralConfigurationPage @@ -59,19 +60,40 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : settings.value("diagramitemsize").toString() + " (" + settings.value("diagramitemstyle").toString() + ")"; ui->m_font_pb->setText(fontInfos); - - QString dynamicfontInfos = settings.value("font_family").toString() + " " + - settings.value("dynamicitemsize").toString() + " (" + - settings.value("dynamicitemstyle").toString() + ")"; - ui->m_dynamic_font_pb->setText(dynamicfontInfos); + QString foliolistfontInfos = settings.value("foliolistfont").toString() + " " + settings.value("foliolistsize").toString() + " (" + settings.value("folioliststyle").toString() + ")"; ui->m_folio_list_pb->setText(foliolistfontInfos); - ui->m_rotation->setValue(settings.value("dynamic_rotation", 0).toInt()); - ui->m_text_width_sb->setValue(settings.value("dynamic_with", -1).toInt()); + + //Dynamic element text item + ui->m_dyn_text_rotation_sb->setValue(settings.value("diagrameditor/dynamic_text_rotation", 0).toInt()); + ui->m_dyn_text_width_sb->setValue(settings.value("diagrameditor/dynamic_text_width", -1).toInt()); + if (settings.contains("diagrameditor/dynamic_text_font")) + { + QFont font; + font.fromString(settings.value("diagrameditor/dynamic_text_font").toString()); + + QString fontInfos = font.family() + " " + + QString::number(font.pointSize()) + " (" + + font.styleName() + ")"; + ui->m_dyn_text_font_pb->setText(fontInfos); + } + + //Independent text item + ui->m_indi_text_rotation_sb->setValue(settings.value("diagrameditor/independent_text_rotation",0).toInt()); + if (settings.contains("diagrameditor/independent_text_font")) + { + QFont font; + font.fromString(settings.value("diagrameditor/independent_text_font").toString()); + + QString fontInfos = font.family() + " " + + QString::number(font.pointSize()) + " (" + + font.styleName() + ")"; + ui->m_indi_text_font_pb->setText(fontInfos); + } ui->m_highlight_integrated_elements->setChecked(settings.value("diagrameditor/highlight-integrated-elements", true).toBool()); ui->m_default_elements_info->setPlainText(settings.value("elementeditor/default-informations", "").toString()); @@ -120,36 +142,52 @@ void GeneralConfigurationPage::applyConf() { QSettings settings; + //GLOBAL bool was_using_system_colors = settings.value("usesystemcolors", "true").toBool(); bool must_use_system_colors = ui->m_use_system_color_cb->isChecked(); settings.setValue("usesystemcolors", must_use_system_colors); if (was_using_system_colors != must_use_system_colors) { QETApp::instance()->useSystemPalette(must_use_system_colors); } - + settings.setValue("border-columns_0",ui->m_border_0->isChecked()); settings.setValue("lang", ui->m_lang_cb->itemData(ui->m_lang_cb->currentIndex()).toString()); + + //ELEMENT EDITOR + settings.setValue("elementeditor/default-informations", ui->m_default_elements_info->toPlainText()); + + //DIAGRAM VIEW + settings.setValue("diagramview/gestures", ui->m_use_gesture_trackpad->isChecked()); + + //DIAGRAM COMMAND + settings.setValue("diagramcommands/erase-label-on-copy", ui->m_save_label_paste->isChecked()); + + //GENERIC PANEL + settings.setValue("genericpanel/folio",ui->m_use_folio_label->isChecked()); + + //NOMENCLATURE + settings.setValue("nomenclature/terminal-exportlist",ui->m_export_terminal->isChecked()); + + //DIAGRAM EDITOR QString view_mode = ui->m_use_tab_mode_rb->isChecked() ? "tabbed" : "windowed"; settings.setValue("diagrameditor/viewmode", view_mode) ; - settings.setValue("diagrameditor/highlight-integrated-elements", ui->m_highlight_integrated_elements->isChecked()); - settings.setValue("elementeditor/default-informations", ui->m_default_elements_info->toPlainText()); - settings.setValue("diagramview/gestures", ui->m_use_gesture_trackpad->isChecked()); - settings.setValue("diagramcommands/erase-label-on-copy", ui->m_save_label_paste->isChecked()); settings.setValue("diagrameditor/zoom-out-beyond-of-folio", ui->m_zoom_out_beyond_folio->isChecked()); - settings.setValue("genericpanel/folio",ui->m_use_folio_label->isChecked()); - settings.setValue("nomenclature/terminal-exportlist",ui->m_export_terminal->isChecked()); - settings.setValue("border-columns_0",ui->m_border_0->isChecked()); settings.setValue("diagrameditor/autosave-interval", ui->m_autosave_sb->value()); - settings.setValue("dynamic_rotation", ui->m_rotation->value()); - settings.setValue("dynamic_with", ui->m_text_width_sb->value()); + //Grid step and key navigation settings.setValue("diagrameditor/Xgrid", ui->DiagramEditor_xGrid_sb->value()); settings.setValue("diagrameditor/Ygrid", ui->DiagramEditor_yGrid_sb->value()); settings.setValue("diagrameditor/key_Xgrid", ui->DiagramEditor_xKeyGrid_sb->value()); settings.setValue("diagrameditor/key_Ygrid", ui->DiagramEditor_yKeyGrid_sb->value()); settings.setValue("diagrameditor/key_fine_Xgrid", ui->DiagramEditor_xKeyGridFine_sb->value()); settings.setValue("diagrameditor/key_fine_Ygrid", ui->DiagramEditor_yKeyGridFine_sb->value()); + //Dynamic text item + settings.setValue("diagrameditor/dynamic_text_rotation", ui->m_dyn_text_rotation_sb->value()); + settings.setValue("diagrameditor/dynamic_text_width", ui->m_dyn_text_width_sb->value()); + //Independent text item + settings.setValue("diagrameditor/independent_text_rotation", ui->m_indi_text_rotation_sb->value()); + //ELEMENTS COLLECTION QString path = settings.value("elements-collections/common-collection-path").toString(); if (ui->m_common_elmt_path_cb->currentIndex() == 1) { @@ -281,24 +319,21 @@ void GeneralConfigurationPage::on_m_font_pb_clicked() } /** - * @brief GeneralConfigurationPage::m_dynamic_font_pb_clicked + * @brief GeneralConfigurationPage::m_dyn_text_font_pb_clicked * Apply font to config */ -void GeneralConfigurationPage::on_m_dynamic_font_pb_clicked() +void GeneralConfigurationPage::on_m_dyn_text_font_pb_clicked() { bool ok; QSettings settings; QFont font = QFontDialog::getFont(&ok, QFont("Sans Serif", 9), this); if (ok) { - settings.setValue("font_family", font.family()); - settings.setValue("dynamicitemsize", font.pointSize()); - settings.setValue("dynamicitemweight", font.weight()); - settings.setValue("dynamicitemstyle", font.styleName()); - QString fontInfos = settings.value("font_family").toString() + " " + - settings.value("dynamicitemsize").toString() + " (" + - settings.value("dynamicitemstyle").toString() + ")"; - ui->m_dynamic_font_pb->setText(fontInfos); + settings.setValue("diagrameditor/dynamic_text_font", font.toString()); + QString fontInfos = font.family() + " " + + QString::number(font.pointSize()) + " (" + + font.styleName() + ")"; + ui->m_dyn_text_font_pb->setText(fontInfos); } } @@ -325,7 +360,6 @@ void GeneralConfigurationPage::on_m_folio_list_pb_clicked() } } -#include void GeneralConfigurationPage::on_m_common_elmt_path_cb_currentIndexChanged(int index) { if (index == 1) @@ -369,3 +403,17 @@ void GeneralConfigurationPage::on_m_custom_tbt_path_cb_currentIndexChanged(int i } +void GeneralConfigurationPage::on_m_indi_text_font_pb_clicked() +{ + bool ok; + QSettings settings; + QFont font = QFontDialog::getFont(&ok, QFont("Sans Serif", 9), this); + if (ok) + { + settings.setValue("diagrameditor/independent_text_font", font.toString()); + QString fontInfos = font.family() + " " + + QString::number(font.pointSize()) + " (" + + font.styleName() + ")"; + ui->m_indi_text_font_pb->setText(fontInfos); + } +} diff --git a/sources/ui/configpage/generalconfigurationpage.h b/sources/ui/configpage/generalconfigurationpage.h index 162355358..67e5122b9 100644 --- a/sources/ui/configpage/generalconfigurationpage.h +++ b/sources/ui/configpage/generalconfigurationpage.h @@ -39,17 +39,13 @@ class GeneralConfigurationPage : public ConfigPage private slots: void on_m_font_pb_clicked(); - void on_m_dynamic_font_pb_clicked(); + void on_m_dyn_text_font_pb_clicked(); void on_m_folio_list_pb_clicked(); void on_m_common_elmt_path_cb_currentIndexChanged(int index); void on_m_custom_elmt_path_cb_currentIndexChanged(int index); void on_m_custom_tbt_path_cb_currentIndexChanged(int index); - - - - - - + void on_m_indi_text_font_pb_clicked(); + private: void fillLang(); diff --git a/sources/ui/configpage/generalconfigurationpage.ui b/sources/ui/configpage/generalconfigurationpage.ui index ee868823e..5751cc4ee 100644 --- a/sources/ui/configpage/generalconfigurationpage.ui +++ b/sources/ui/configpage/generalconfigurationpage.ui @@ -6,8 +6,8 @@ 0 0 - 893 - 481 + 689 + 484 @@ -62,14 +62,14 @@ - Utiliser des fenêtres (appliqué au prochain lancement de &QElectroTech) + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - Utiliser des onglets (appliqué au proc&hain lancement de QElectroTech) + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) @@ -93,6 +93,13 @@ Projets + + + + Exporter les bornes dans la nomenclature + + + @@ -106,48 +113,6 @@ - - - - Utiliser les numéros de folio à la place de leur position dans le projet - - - - - - - Numéroter les colonnes de cartouche à partir de 0 (1 sinon) - - - - - - - Ne pas conserver les labels des éléments lors des copier coller - - - - - - - Police des champs textes des pages sommaires - - - - - - - - - - - - - - - - - @@ -155,17 +120,10 @@ - - + + - Exporter les bornes dans la nomenclature - - - - - - - Police des champs de texte + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) @@ -182,7 +140,21 @@ - + + + + Ne pas conserver les labels des éléments lors des copier coller + + + + + + + Utiliser les numéros de folio à la place de leur position dans le projet + + + + Qt::Vertical @@ -309,6 +281,12 @@ Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : + + false + + + true + @@ -371,48 +349,215 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - Textes dynamiques + Textes - - - + + + - Rotation des textes dynamiques + Vous pouvez définire ici l'apparence par defaut des differents textes de QElectroTech - - - - Longueur des textes + + + + Qt::Horizontal - - - - -1 + + + + Textes d'éléments + + + + + -1 + + + + + + + Police : + + + + + + + true + + + ° + + + 360 + + + + + + + Longueur : + + + + + + + + + + Rotation : + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - 360 + + + + Textes indépendants + + + + + Rotation : + + + + + + + Police : + + + + + + + ° + + + 360 + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - - - Police des textes dynamiques + + + + Pages de sommaire + + + + + Police : + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + - - + + + + Autres textes + + + + + + Police : + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + - + Qt::Vertical @@ -425,19 +570,6 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -725,9 +857,9 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments m_highlight_integrated_elements m_default_elements_info m_lang_cb - m_dynamic_font_pb - m_rotation - m_text_width_sb + m_dyn_text_font_pb + m_dyn_text_rotation_sb + m_dyn_text_width_sb