Add a button in config page for open a new Qfontdialog widget and choose

font for summarry pages (foliolist)


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5189 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
scorpio810 2017-12-17 14:43:39 +00:00
parent 9d555c0da2
commit e9e83e81ce
5 changed files with 67 additions and 6 deletions

View File

@ -261,6 +261,13 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
fontButton = new QPushButton(fontInfos);
fontButton->setMinimumHeight(28);
QString foliolistfontInfos = settings.value("foliolistfont").toString() + " " +
settings.value("foliolistsize").toString() + " (" +
settings.value("folioliststyle").toString() + ")";
foliolist_font_label = new QLabel(tr("Police des champs des pages sommaires"));
foliolist_fontButton = new QPushButton(foliolistfontInfos);
foliolist_fontButton->setMinimumHeight(28);
elements_management_ = new QGroupBox(tr("Gestion des éléments"), this);
highlight_integrated_elements_ = new QCheckBox(tr("Mettre en valeur dans le panel les éléments fraîchement intégrés", "configuration option"));
default_element_infos_label_ = new QLabel(
@ -297,6 +304,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout;
QHBoxLayout *font_view_layout = new QHBoxLayout;
QHBoxLayout *foliolist_font_view_layout = new QHBoxLayout;
projects_view_mode_layout -> addWidget(windowed_mode_);
projects_view_mode_layout -> addWidget(tabbed_mode_);
projects_view_mode_layout -> addWidget(m_zoom_out_beyond_folio);
@ -305,11 +313,17 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
projects_view_mode_layout -> addWidget(folio_panel_);
projects_view_mode_layout -> addWidget(terminal_exportlist_);
font_view_layout->addWidget(font_label, 1);
font_view_layout->addWidget(fontButton, 0);
font_view_layout->addWidget(fontButton, 0);
foliolist_font_view_layout->addWidget(foliolist_font_label, 1);
foliolist_font_view_layout->addWidget(foliolist_fontButton, 0);
projects_view_mode_layout-> addLayout(font_view_layout);
projects_view_mode_layout-> addLayout(foliolist_font_view_layout);
projects_view_mode_ -> setLayout(projects_view_mode_layout);
connect(fontButton, SIGNAL(clicked()), this, SLOT(setFont()));
connect(foliolist_fontButton, SIGNAL(clicked()), this, SLOT(setFoliolistFont()));
QVBoxLayout *elements_management_layout = new QVBoxLayout();
@ -550,4 +564,23 @@ void GeneralConfigurationPage::setFont()
fontButton->setText(fontInfos);
}
}
/**
* @brief GeneralConfigurationPage::setFoliolistFont
* * Apply font to summary pages
*/
void GeneralConfigurationPage::setFoliolistFont()
{
bool ok;
QSettings settings;
QFont font = QFontDialog::getFont(&ok, QFont(), this);
if (ok) {
settings.setValue("foliolistfont", font.family());
settings.setValue("foliolistsize", font.pointSize());
settings.setValue("foliolistweight", font.weight());
settings.setValue("folioliststyle", font.styleName());
QString fontInfos = settings.value("foliolistfont").toString() + " " +
settings.value("foliolistsize").toString() + " (" +
settings.value("folioliststyle").toString() + ")";
foliolist_fontButton->setText(fontInfos);
}
}

View File

@ -93,6 +93,7 @@ class GeneralConfigurationPage : public ConfigPage {
public slots:
void setFont();
void setFoliolistFont();
// attributes
private:
@ -116,8 +117,10 @@ public slots:
QGroupBox *lang_group_box;
QComboBox *lang_combo_box;
QLabel *lang_label;
QLabel *font_label;
QLabel *font_label;
QPushButton *fontButton;
QLabel *foliolist_font_label;
QPushButton *foliolist_fontButton;
};
/**

View File

@ -127,9 +127,9 @@ void DiagramFolioList::fillRow(QPainter *qp, const QRectF &row_rect, QString aut
QSettings settings;
QFontMetrics origFontMetrics(QETApp::diagramTextsFont());
qreal origFontSize = QETApp::diagramTextsFont().pointSizeF();
QFont workingFont(QETApp::diagramTextsFont());
QFontMetrics origFontMetrics(QETApp::foliolistTextsFont());
qreal origFontSize = QETApp::foliolistTextsFont().pointSizeF();
QFont workingFont(QETApp::foliolistTextsFont());
if (settings.value("genericpanel/folio", true).toBool()){
// reduce the font size if the text entry is long

View File

@ -806,6 +806,30 @@ QFont QETApp::diagramTextsItemFont(qreal size)
}
return(diagram_texts_item_font);
}
/**
* @brief QETApp::foliolistTextsFont
* the font for to use in summary pages
* @param size
* @return
*/
QFont QETApp::foliolistTextsFont(qreal size)
{
QSettings settings;
//Font to use
QString foliolist_texts_family = settings.value("foliolistfont", "Sans Serif").toString();
qreal foliolist_texts_size = settings.value("foliolistsize", 9.0).toDouble();
if (size != -1.0) {
foliolist_texts_size = size;
}
QFont foliolist_texts_font = QFont(foliolist_texts_family);
foliolist_texts_font.setPointSizeF(foliolist_texts_size);
if (foliolist_texts_size <= 4.0) {
foliolist_texts_font.setWeight(QFont::Light);
}
return(foliolist_texts_font);
}
/**

View File

@ -123,6 +123,7 @@ class QETApp : public QETSingleApplication {
static QString lang_dir; ///< Directory containing localization files.
static QFont diagramTextsFont(qreal = -1.0);
static QFont diagramTextsItemFont(qreal = -1.0);
static QFont foliolistTextsFont(qreal = -1.0);
static QETDiagramEditor *diagramEditorForFile(const QString &);
static QETDiagramEditor *diagramEditorAncestorOf (const QWidget *child);
static QList<QETDiagramEditor *> diagramEditors();