From 0bb56fedfb600a38fee75585fbe7b1cfe7b49a9a Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 23 Sep 2018 03:28:35 +0200 Subject: [PATCH] Ref T369, font setting improvements - color can be hidden - access to QFont value/getter for family/style/size - renaming --- .../components/settingsfontcomponent.cpp | 23 ++++++++++++++++++- .../components/settingsfontcomponent.h | 11 ++++++++- .../components/settingsfontdialog.cpp | 20 ++++++++++++++-- src/blackgui/components/settingsfontdialog.h | 13 ++++++++++- src/blackgui/menus/fontmenus.cpp | 2 +- 5 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/blackgui/components/settingsfontcomponent.cpp b/src/blackgui/components/settingsfontcomponent.cpp index 6093de2fc..7a81459bf 100644 --- a/src/blackgui/components/settingsfontcomponent.cpp +++ b/src/blackgui/components/settingsfontcomponent.cpp @@ -54,17 +54,38 @@ namespace BlackGui } } - void CSettingsFontComponent::setCurrentFont(const QFont &font) + void CSettingsFontComponent::setFont(const QFont &font) { m_cancelFont = font; this->resetFont(); } + QFont CSettingsFontComponent::getFont() const + { + return ui->cb_SettingsGuiFont->font(); + } + + QStringList CSettingsFontComponent::getFamilySizeStyle() const + { + const QString fontSize = ui->cb_SettingsGuiFontSize->currentText().append("pt"); + const QString fontFamily = ui->cb_SettingsGuiFont->currentFont().family(); + const QString fontStyleCombined = ui->cb_SettingsGuiFontStyle->currentText(); + return QStringList ({ fontFamily, fontSize, fontStyleCombined }); + } + + void CSettingsFontComponent::setWithColorSelection(bool withColor) + { + ui->le_SettingsGuiFontColor->setVisible(withColor); + ui->tb_SettingsGuiFontColor->setVisible(withColor); + } + void CSettingsFontComponent::changeFont() { const QString fontSize = ui->cb_SettingsGuiFontSize->currentText().append("pt"); const QString fontFamily = ui->cb_SettingsGuiFont->currentFont().family(); const QString fontStyleCombined = ui->cb_SettingsGuiFontStyle->currentText(); + + const QStringList familySizeStyle = this->getFamilySizeStyle(); QString fontColor = m_selectedColor.name(); if (!m_selectedColor.isValid() || m_selectedColor.name().isEmpty()) { diff --git a/src/blackgui/components/settingsfontcomponent.h b/src/blackgui/components/settingsfontcomponent.h index fae308e79..8d9e8b175 100644 --- a/src/blackgui/components/settingsfontcomponent.h +++ b/src/blackgui/components/settingsfontcomponent.h @@ -47,7 +47,16 @@ namespace BlackGui const QString &getQss() const { return m_qss; } //! Set the current font - void setCurrentFont(const QFont &font); + void setFont(const QFont &font); + + //! Get font selection + QFont getFont() const; + + //! Strings such as + QStringList getFamilySizeStyle() const; + + //! With color selection + void setWithColorSelection(bool withColor); signals: //! To be used with dialogs diff --git a/src/blackgui/components/settingsfontdialog.cpp b/src/blackgui/components/settingsfontdialog.cpp index 89ab314f7..1f3b28861 100644 --- a/src/blackgui/components/settingsfontdialog.cpp +++ b/src/blackgui/components/settingsfontdialog.cpp @@ -19,6 +19,7 @@ namespace BlackGui ui(new Ui::CSettingsFontDialog) { ui->setupUi(this); + this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); ui->comp_FontSettings->setMode(CSettingsFontComponent::GenerateQssOnly); connect(ui->comp_FontSettings, &CSettingsFontComponent::accept, this, &CSettingsFontDialog::accept); @@ -33,9 +34,24 @@ namespace BlackGui return ui->comp_FontSettings->getQss(); } - void CSettingsFontDialog::setCurrentFont(const QFont &font) + void CSettingsFontDialog::setFont(const QFont &font) { - ui->comp_FontSettings->setCurrentFont(font); + ui->comp_FontSettings->setFont(font); + } + + QFont CSettingsFontDialog::getFont() const + { + return ui->comp_FontSettings->getFont(); + } + + QStringList CSettingsFontDialog::getFamilySizeStyle() const + { + return ui->comp_FontSettings->getFamilySizeStyle(); + } + + void CSettingsFontDialog::setWithColorSelection(bool withColor) + { + ui->comp_FontSettings->setWithColorSelection(withColor); } } // ns } // ns diff --git a/src/blackgui/components/settingsfontdialog.h b/src/blackgui/components/settingsfontdialog.h index 2a3f698db..315fb15f1 100644 --- a/src/blackgui/components/settingsfontdialog.h +++ b/src/blackgui/components/settingsfontdialog.h @@ -13,6 +13,8 @@ #define BLACKGUI_COMPONENTS_SETTINGSFONTDIALOG_H #include +#include +#include namespace Ui { class CSettingsFontDialog; } namespace BlackGui @@ -38,7 +40,16 @@ namespace BlackGui const QString &getQss() const; //! Set the current font - void setCurrentFont(const QFont &font); + void setFont(const QFont &font); + + //! Get font + QFont getFont() const; + + //! Family, size and style + QStringList getFamilySizeStyle() const; + + //! With color selection + void setWithColorSelection(bool withColor); private: QScopedPointer ui; diff --git a/src/blackgui/menus/fontmenus.cpp b/src/blackgui/menus/fontmenus.cpp index 8992e86af..20f63de97 100644 --- a/src/blackgui/menus/fontmenus.cpp +++ b/src/blackgui/menus/fontmenus.cpp @@ -69,7 +69,7 @@ namespace BlackGui m_dialog.reset(new CSettingsFontDialog(m_widget)); m_dialog->setModal(true); } - m_dialog->setCurrentFont(m_widget->font()); + m_dialog->setFont(m_widget->font()); const int r = m_dialog->exec(); if (r == QDialog::Rejected) { return; } const QString qss(m_dialog->getQss());