Add new entry if the main QElectroTech dialog conf, to set a defaut font and rotation of independent text item.

Revamp some GUI


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5767 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun 2019-03-08 20:07:00 +00:00
parent a58cecc22a
commit 32db96c623
7 changed files with 347 additions and 156 deletions

View File

@ -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

View File

@ -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<QETDiagramEditor *> diagramEditors();

View File

@ -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

View File

@ -19,7 +19,10 @@
#include "qet.h"
#include "diagram.h"
#include "diagramcommands.h"
#include "qetapp.h"
#include <QDomElement>
#include <QSettings>
/**
Constructeur
@ -27,7 +30,11 @@
*/
IndependentTextItem::IndependentTextItem() :
DiagramTextItem(nullptr)
{}
{
setFont(QETApp::indiTextsItemFont());
QSettings settings;
setRotation(settings.value("diagrameditor/independent_text_rotation", 0).toInt());
}
/**
Constructeur

View File

@ -22,6 +22,7 @@
#include <QSettings>
#include <QFontDialog>
#include <QFileDialog>
/**
* @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 <QFileDialog>
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);
}
}

View File

@ -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();

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>893</width>
<height>481</height>
<width>689</width>
<height>484</height>
</rect>
</property>
<property name="windowTitle">
@ -62,14 +62,14 @@
<item>
<widget class="QRadioButton" name="m_use_windows_mode_rb">
<property name="text">
<string>Utiliser des fenêtres (appliqué au prochain lancement de &amp;QElectroTech)</string>
<string>Utiliser des fen&amp;êtres (appliqué au prochain lancement de QElectroTech)</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="m_use_tab_mode_rb">
<property name="text">
<string>Utiliser des onglets (appliqué au proc&amp;hain lancement de QElectroTech)</string>
<string>Utiliser des onglets (appliqué au prochain lance&amp;ment de QElectroTech)</string>
</property>
</widget>
</item>
@ -93,6 +93,13 @@
<string>Projets</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<widget class="QCheckBox" name="m_export_terminal">
<property name="text">
<string>Exporter les bornes dans la nomenclature</string>
</property>
</widget>
</item>
<item row="4" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
@ -106,48 +113,6 @@
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="m_use_folio_label">
<property name="text">
<string>Utiliser les numéros de folio à la place de leur position dans le projet</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="m_border_0">
<property name="text">
<string extracomment="Choix de l'increment de depart 1 ou 0">Numéroter les colonnes de cartouche à partir de 0 (1 sinon)</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="m_save_label_paste">
<property name="text">
<string>Ne pas conserver les labels des éléments lors des copier coller</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Police des champs textes des pages sommaires</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="m_folio_list_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="m_font_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label">
<property name="text">
@ -155,17 +120,10 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="m_export_terminal">
<item row="3" column="0">
<widget class="QCheckBox" name="m_border_0">
<property name="text">
<string>Exporter les bornes dans la nomenclature</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Police des champs de texte</string>
<string extracomment="Choix de l'increment de depart 1 ou 0">Numéroter les colonnes de cartouche à partir de 0 (1 sinon)</string>
</property>
</widget>
</item>
@ -182,7 +140,21 @@
</property>
</widget>
</item>
<item row="7" column="0">
<item row="0" column="0">
<widget class="QCheckBox" name="m_save_label_paste">
<property name="text">
<string>Ne pas conserver les labels des éléments lors des copier coller</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="m_use_folio_label">
<property name="text">
<string>Utiliser les numéros de folio à la place de leur position dans le projet</string>
</property>
</widget>
</item>
<item row="5" column="0">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -309,6 +281,12 @@
<string>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 :</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
@ -371,48 +349,215 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
</widget>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Textes dynamiques</string>
<string>Textes</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_15">
<property name="text">
<string>Rotation des textes dynamiques</string>
<string>Vous pouvez définire ici l'apparence par defaut des differents textes de QElectroTech</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Longueur des textes</string>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QSpinBox" name="m_text_width_sb">
<property name="minimum">
<number>-1</number>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Textes d'éléments</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="2" column="2">
<widget class="QSpinBox" name="m_dyn_text_width_sb">
<property name="minimum">
<number>-1</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Police :</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="m_dyn_text_rotation_sb">
<property name="wrapping">
<bool>true</bool>
</property>
<property name="suffix">
<string>°</string>
</property>
<property name="maximum">
<number>360</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Longueur :</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="m_dyn_text_font_pb"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Rotation :</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="m_rotation">
<property name="maximum">
<number>360</number>
<item>
<widget class="QGroupBox" name="groupBox_7">
<property name="title">
<string>Textes indépendants</string>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Rotation :</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Police :</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="m_indi_text_rotation_sb">
<property name="suffix">
<string>°</string>
</property>
<property name="maximum">
<number>360</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="m_indi_text_font_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Police des textes dynamiques</string>
<item>
<widget class="QGroupBox" name="groupBox_8">
<property name="title">
<string>Pages de sommaire</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_16">
<property name="text">
<string>Police :</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="m_folio_list_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="m_dynamic_font_pb"/>
<item>
<widget class="QGroupBox" name="groupBox_9">
<property name="title">
<string>Autres textes</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Police :</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="m_font_pb">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -425,19 +570,6 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
</property>
</spacer>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="GrilleClavier">
@ -725,9 +857,9 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
<tabstop>m_highlight_integrated_elements</tabstop>
<tabstop>m_default_elements_info</tabstop>
<tabstop>m_lang_cb</tabstop>
<tabstop>m_dynamic_font_pb</tabstop>
<tabstop>m_rotation</tabstop>
<tabstop>m_text_width_sb</tabstop>
<tabstop>m_dyn_text_font_pb</tabstop>
<tabstop>m_dyn_text_rotation_sb</tabstop>
<tabstop>m_dyn_text_width_sb</tabstop>
</tabstops>
<resources/>
<connections/>