Added ability to change result font
This commit is contained in:
parent
124d32857f
commit
69f7d10c3a
@ -25,6 +25,9 @@ void Representer::represent(const TaskPtr &task)
|
|||||||
void Representer::updateSettings(const Settings &settings)
|
void Representer::updateSettings(const Settings &settings)
|
||||||
{
|
{
|
||||||
mode_ = settings.resultShowType;
|
mode_ = settings.resultShowType;
|
||||||
|
font_ = QFont(settings.fontFamily, settings.fontSize);
|
||||||
|
if (widget_)
|
||||||
|
widget_->changeFont(font_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Representer::showTooltip(const TaskPtr &task)
|
void Representer::showTooltip(const TaskPtr &task)
|
||||||
@ -35,8 +38,10 @@ void Representer::showTooltip(const TaskPtr &task)
|
|||||||
|
|
||||||
void Representer::showWidget(const TaskPtr &task)
|
void Representer::showWidget(const TaskPtr &task)
|
||||||
{
|
{
|
||||||
if (!widget_)
|
if (!widget_) {
|
||||||
widget_ = std::make_unique<ResultWidget>();
|
widget_ = std::make_unique<ResultWidget>();
|
||||||
|
widget_->changeFont(font_);
|
||||||
|
}
|
||||||
|
|
||||||
widget_->show(task);
|
widget_->show(task);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "stfwd.h"
|
#include "stfwd.h"
|
||||||
|
|
||||||
|
#include <QFont>
|
||||||
|
|
||||||
enum class ResultMode;
|
enum class ResultMode;
|
||||||
class ResultWidget;
|
class ResultWidget;
|
||||||
|
|
||||||
@ -22,4 +24,5 @@ private:
|
|||||||
TrayIcon &tray_;
|
TrayIcon &tray_;
|
||||||
std::unique_ptr<ResultWidget> widget_;
|
std::unique_ptr<ResultWidget> widget_;
|
||||||
ResultMode mode_;
|
ResultMode mode_;
|
||||||
|
QFont font_;
|
||||||
};
|
};
|
||||||
|
@ -83,6 +83,13 @@ void ResultWidget::show(const TaskPtr &task)
|
|||||||
activateWindow();
|
activateWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ResultWidget::changeFont(const QFont &font)
|
||||||
|
{
|
||||||
|
// because of stylesheet
|
||||||
|
recognized_->setFont(font);
|
||||||
|
translated_->setFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
bool ResultWidget::eventFilter(QObject *watched, QEvent *event)
|
bool ResultWidget::eventFilter(QObject *watched, QEvent *event)
|
||||||
{
|
{
|
||||||
if (event->type() == QEvent::MouseButtonPress) {
|
if (event->type() == QEvent::MouseButtonPress) {
|
||||||
|
@ -14,6 +14,7 @@ public:
|
|||||||
|
|
||||||
void show(const TaskPtr& task);
|
void show(const TaskPtr& task);
|
||||||
using QWidget::show;
|
using QWidget::show;
|
||||||
|
void changeFont(const QFont& font);
|
||||||
|
|
||||||
bool eventFilter(QObject* watched, QEvent* event) override;
|
bool eventFilter(QObject* watched, QEvent* event) override;
|
||||||
|
|
||||||
|
@ -39,6 +39,10 @@ const QString qs_translationTimeout = "translation_timeout";
|
|||||||
const QString qs_debugMode = "translation_debug";
|
const QString qs_debugMode = "translation_debug";
|
||||||
const QString qs_translators = "translators";
|
const QString qs_translators = "translators";
|
||||||
|
|
||||||
|
const QString qs_representationGroup = "Representation";
|
||||||
|
const QString qs_fontFamily = "fontFamily";
|
||||||
|
const QString qs_fontSize = "fontSize";
|
||||||
|
|
||||||
QString shuffle(const QString& source)
|
QString shuffle(const QString& source)
|
||||||
{
|
{
|
||||||
if (source.isEmpty()) {
|
if (source.isEmpty()) {
|
||||||
@ -175,6 +179,13 @@ void Settings::save() const
|
|||||||
|
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
|
settings.beginGroup(qs_representationGroup);
|
||||||
|
|
||||||
|
settings.setValue(qs_fontFamily, fontFamily);
|
||||||
|
settings.setValue(qs_fontSize, fontSize);
|
||||||
|
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
cleanupOutdated(settings);
|
cleanupOutdated(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -252,6 +263,13 @@ void Settings::load()
|
|||||||
translators = translators.first().split('|');
|
translators = translators.first().split('|');
|
||||||
|
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
|
settings.beginGroup(qs_representationGroup);
|
||||||
|
|
||||||
|
fontFamily = settings.value(qs_fontFamily, fontFamily).toString();
|
||||||
|
fontSize = std::clamp(settings.value(qs_fontSize, fontSize).toInt(), 6, 24);
|
||||||
|
|
||||||
|
settings.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings::saveLastUpdateCheck(const QDateTime& dt)
|
void Settings::saveLastUpdateCheck(const QDateTime& dt)
|
||||||
|
@ -63,6 +63,8 @@ public:
|
|||||||
QStringList translators{"google.js"};
|
QStringList translators{"google.js"};
|
||||||
|
|
||||||
ResultMode resultShowType{ResultMode::Widget}; // dialog
|
ResultMode resultShowType{ResultMode::Widget}; // dialog
|
||||||
|
QString fontFamily;
|
||||||
|
int fontSize{11};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool isPortable_{false};
|
bool isPortable_{false};
|
||||||
|
@ -50,7 +50,6 @@ SettingsEditor::SettingsEditor(Manager &manager, update::Loader &updater)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// correction
|
// correction
|
||||||
|
|
||||||
ui->userSubstitutionsTable->setEnabled(ui->useUserSubstitutions->isChecked());
|
ui->userSubstitutionsTable->setEnabled(ui->useUserSubstitutions->isChecked());
|
||||||
connect(ui->useUserSubstitutions, &QCheckBox::toggled, //
|
connect(ui->useUserSubstitutions, &QCheckBox::toggled, //
|
||||||
ui->userSubstitutionsTable, &QTableWidget::setEnabled);
|
ui->userSubstitutionsTable, &QTableWidget::setEnabled);
|
||||||
@ -58,6 +57,14 @@ SettingsEditor::SettingsEditor(Manager &manager, update::Loader &updater)
|
|||||||
// translation
|
// translation
|
||||||
updateTranslationLanguages();
|
updateTranslationLanguages();
|
||||||
|
|
||||||
|
// representation
|
||||||
|
connect(ui->dialogRadio, &QRadioButton::toggled, //
|
||||||
|
ui->resultWindow, &QTableWidget::setEnabled);
|
||||||
|
connect(ui->resultFont, &QFontComboBox::currentFontChanged, //
|
||||||
|
this, &SettingsEditor::updateResultFont);
|
||||||
|
connect(ui->resultFontSize, qOverload<int>(&QSpinBox::valueChanged), //
|
||||||
|
this, &SettingsEditor::updateResultFont);
|
||||||
|
|
||||||
// updates
|
// updates
|
||||||
auto updatesProxy = new QSortFilterProxyModel(this);
|
auto updatesProxy = new QSortFilterProxyModel(this);
|
||||||
updatesProxy->setSourceModel(updater_.model());
|
updatesProxy->setSourceModel(updater_.model());
|
||||||
@ -129,6 +136,8 @@ Settings SettingsEditor::settings() const
|
|||||||
|
|
||||||
settings.resultShowType =
|
settings.resultShowType =
|
||||||
ui->trayRadio->isChecked() ? ResultMode::Tooltip : ResultMode::Widget;
|
ui->trayRadio->isChecked() ? ResultMode::Tooltip : ResultMode::Widget;
|
||||||
|
settings.fontFamily = ui->resultFont->currentFont().family();
|
||||||
|
settings.fontSize = ui->resultFontSize->value();
|
||||||
|
|
||||||
settings.autoUpdateIntervalDays = ui->autoUpdateInterval->value();
|
settings.autoUpdateIntervalDays = ui->autoUpdateInterval->value();
|
||||||
|
|
||||||
@ -176,6 +185,8 @@ void SettingsEditor::setSettings(const Settings &settings)
|
|||||||
|
|
||||||
ui->trayRadio->setChecked(settings.resultShowType == ResultMode::Tooltip);
|
ui->trayRadio->setChecked(settings.resultShowType == ResultMode::Tooltip);
|
||||||
ui->dialogRadio->setChecked(settings.resultShowType == ResultMode::Widget);
|
ui->dialogRadio->setChecked(settings.resultShowType == ResultMode::Widget);
|
||||||
|
ui->resultFont->setCurrentFont(QFont(settings.fontFamily));
|
||||||
|
ui->resultFontSize->setValue(settings.fontSize);
|
||||||
|
|
||||||
ui->autoUpdateInterval->setValue(settings.autoUpdateIntervalDays);
|
ui->autoUpdateInterval->setValue(settings.autoUpdateIntervalDays);
|
||||||
}
|
}
|
||||||
@ -283,3 +294,10 @@ void SettingsEditor::handlePortableChanged()
|
|||||||
? tr("Portable changed. Apply settings first")
|
? tr("Portable changed. Apply settings first")
|
||||||
: QString());
|
: QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsEditor::updateResultFont()
|
||||||
|
{
|
||||||
|
auto font = ui->resultFont->currentFont();
|
||||||
|
font.setPointSize(ui->resultFontSize->value());
|
||||||
|
ui->resultFont->setFont(font);
|
||||||
|
}
|
||||||
|
@ -29,6 +29,7 @@ private:
|
|||||||
void adjustUpdatesView();
|
void adjustUpdatesView();
|
||||||
void handleButtonBoxClicked(QAbstractButton *button);
|
void handleButtonBoxClicked(QAbstractButton *button);
|
||||||
void handlePortableChanged();
|
void handlePortableChanged();
|
||||||
|
void updateResultFont();
|
||||||
|
|
||||||
Ui::SettingsEditor *ui;
|
Ui::SettingsEditor *ui;
|
||||||
Manager &manager_;
|
Manager &manager_;
|
||||||
|
@ -423,7 +423,43 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QGroupBox" name="resultWindow">
|
||||||
|
<property name="title">
|
||||||
|
<string>Result window</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_8">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_18">
|
||||||
|
<property name="text">
|
||||||
|
<string>Font:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="resultFontSize">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>24</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QFontComboBox" name="resultFont"/>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_19">
|
||||||
|
<property name="text">
|
||||||
|
<string>Font size:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
<spacer name="verticalSpacer_3">
|
<spacer name="verticalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
Loading…
Reference in New Issue
Block a user