Ref T369, font setting improvements

- color can be hidden
- access to QFont value/getter for family/style/size
- renaming
This commit is contained in:
Klaus Basan
2018-09-23 03:28:35 +02:00
parent 527f666d1f
commit 0bb56fedfb
5 changed files with 63 additions and 6 deletions

View File

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

View File

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

View File

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

View File

@@ -13,6 +13,8 @@
#define BLACKGUI_COMPONENTS_SETTINGSFONTDIALOG_H
#include <QDialog>
#include <QFont>
#include <QStringList>
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::CSettingsFontDialog> ui;

View File

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