From e8f4f01d9c2dac11debbce32229f7a72b23e3a32 Mon Sep 17 00:00:00 2001 From: Gres Date: Thu, 15 Apr 2021 21:32:32 +0300 Subject: [PATCH] Preview result font color and size --- src/settingseditor.cpp | 31 +++++++++++++++++-------------- src/settingseditor.h | 3 +-- src/settingseditor.ui | 6 ------ 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/settingseditor.cpp b/src/settingseditor.cpp index 3826768..f0a196c 100644 --- a/src/settingseditor.cpp +++ b/src/settingseditor.cpp @@ -150,6 +150,8 @@ SettingsEditor::SettingsEditor(Manager &manager, update::Updater &updater) ui->fontColor->setAutoFillBackground(true); ui->backgroundColor->setAutoFillBackground(true); ui->backgroundColor->setText(tr("Sample text")); + ui->fontColor->setFocusPolicy(Qt::FocusPolicy::NoFocus); + ui->backgroundColor->setFocusPolicy(Qt::FocusPolicy::NoFocus); connect(ui->dialogRadio, &QRadioButton::toggled, // ui->resultWindow, &QTableWidget::setEnabled); connect(ui->resultFont, &QFontComboBox::currentFontChanged, // @@ -157,9 +159,15 @@ SettingsEditor::SettingsEditor(Manager &manager, update::Updater &updater) connect(ui->resultFontSize, qOverload(&QSpinBox::valueChanged), // this, &SettingsEditor::updateResultFont); connect(ui->fontColor, &QPushButton::clicked, // - this, [this] { pickColor(ColorContext::Font); }); + this, [this] { + pickColor(ui->fontColor); + updateResultFont(); + }); connect(ui->backgroundColor, &QPushButton::clicked, // - this, [this] { pickColor(ColorContext::Background); }); + this, [this] { + pickColor(ui->backgroundColor); + updateResultFont(); + }); // updates ui->updatesView->header()->setObjectName("updatesHeader"); @@ -432,7 +440,12 @@ void SettingsEditor::updateResultFont() { auto font = ui->resultFont->currentFont(); font.setPointSize(ui->resultFontSize->value()); - ui->resultFont->setFont(font); + ui->backgroundColor->setFont(font); + + auto fontColor = ui->fontColor->palette().color(QPalette::Button); + QPalette palette(ui->backgroundColor->palette()); + palette.setColor(QPalette::ButtonText, fontColor); + ui->backgroundColor->setPalette(palette); } QStringList SettingsEditor::enabledTranslators() const @@ -457,10 +470,8 @@ void SettingsEditor::updateModels() } } -void SettingsEditor::pickColor(ColorContext context) +void SettingsEditor::pickColor(QWidget *widget) { - const auto widget = - context == ColorContext::Font ? ui->fontColor : ui->backgroundColor; const auto original = widget->palette().color(QPalette::Button); const auto color = QColorDialog::getColor(original, this); @@ -470,14 +481,6 @@ void SettingsEditor::pickColor(ColorContext context) QPalette palette(widget->palette()); palette.setColor(QPalette::Button, color); widget->setPalette(palette); - - if (context == ColorContext::Background) - return; - - palette = ui->backgroundColor->palette(); - palette.setColor(QPalette::ButtonText, color); - ui->backgroundColor->setPalette(palette); - ui->backgroundColor->update(); } void SettingsEditor::validateSettings() diff --git a/src/settingseditor.h b/src/settingseditor.h index 7d11f59..ea09d18 100644 --- a/src/settingseditor.h +++ b/src/settingseditor.h @@ -24,9 +24,8 @@ public: void setSettings(const Settings &settings); private: - enum ColorContext { Font, Background }; void handleButtonBoxClicked(QAbstractButton *button); - void pickColor(ColorContext context); + void pickColor(QWidget *widget); void updateResultFont(); QStringList enabledTranslators() const; diff --git a/src/settingseditor.ui b/src/settingseditor.ui index 6d0f417..9e86cee 100644 --- a/src/settingseditor.ui +++ b/src/settingseditor.ui @@ -608,9 +608,6 @@ - - true - @@ -625,9 +622,6 @@ - - true -