Preserve size when selecting a status icon color preset
It is probably not the expected behavior that selecting a preset also reverts the rendering resolution to the default value.
This commit is contained in:
parent
5c1b94e9fc
commit
f04d959ef4
|
@ -708,17 +708,17 @@ QWidget *IconsOptionPage::setupWidget()
|
||||||
auto *const presetsMenu = new QMenu(widget);
|
auto *const presetsMenu = new QMenu(widget);
|
||||||
presetsMenu->addAction(QCoreApplication::translate("QtGui::IconsOptionPageBase", "Colorful background with gradient (default)"), widget, [this] {
|
presetsMenu->addAction(QCoreApplication::translate("QtGui::IconsOptionPageBase", "Colorful background with gradient (default)"), widget, [this] {
|
||||||
m_settings = Data::StatusIconSettings();
|
m_settings = Data::StatusIconSettings();
|
||||||
update();
|
update(true);
|
||||||
});
|
});
|
||||||
presetsMenu->addAction(
|
presetsMenu->addAction(
|
||||||
QCoreApplication::translate("QtGui::IconsOptionPageBase", "Transparent background and dark foreground (for bright themes)"), widget, [this] {
|
QCoreApplication::translate("QtGui::IconsOptionPageBase", "Transparent background and dark foreground (for bright themes)"), widget, [this] {
|
||||||
m_settings = Data::StatusIconSettings(Data::StatusIconSettings::BrightTheme{});
|
m_settings = Data::StatusIconSettings(Data::StatusIconSettings::BrightTheme{});
|
||||||
update();
|
update(true);
|
||||||
});
|
});
|
||||||
presetsMenu->addAction(
|
presetsMenu->addAction(
|
||||||
QCoreApplication::translate("QtGui::IconsOptionPageBase", "Transparent background and bright foreground (for dark themes)"), widget, [this] {
|
QCoreApplication::translate("QtGui::IconsOptionPageBase", "Transparent background and bright foreground (for dark themes)"), widget, [this] {
|
||||||
m_settings = Data::StatusIconSettings(Data::StatusIconSettings::DarkTheme{});
|
m_settings = Data::StatusIconSettings(Data::StatusIconSettings::DarkTheme{});
|
||||||
update();
|
update(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
// setup additional buttons
|
// setup additional buttons
|
||||||
|
@ -763,9 +763,14 @@ bool IconsOptionPage::apply()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IconsOptionPage::update()
|
void IconsOptionPage::update(bool preserveSize)
|
||||||
{
|
{
|
||||||
ui()->renderingSizeSlider->setValue(std::max(m_settings.renderSize.width(), m_settings.renderSize.height()));
|
if (preserveSize) {
|
||||||
|
const auto size = ui()->renderingSizeSlider->value();
|
||||||
|
m_settings.renderSize = QSize(size, size);
|
||||||
|
} else {
|
||||||
|
ui()->renderingSizeSlider->setValue(std::max(m_settings.renderSize.width(), m_settings.renderSize.height()));
|
||||||
|
}
|
||||||
ui()->thickStrokeWidthCheckBox->setChecked(m_settings.strokeWidth == StatusIconStrokeWidth::Thick);
|
ui()->thickStrokeWidthCheckBox->setChecked(m_settings.strokeWidth == StatusIconStrokeWidth::Thick);
|
||||||
for (auto &widgetsForColor : m_widgets) {
|
for (auto &widgetsForColor : m_widgets) {
|
||||||
widgetsForColor.colorButtons[0]->setColor(widgetsForColor.setting->backgroundStart);
|
widgetsForColor.colorButtons[0]->setColor(widgetsForColor.setting->backgroundStart);
|
||||||
|
|
|
@ -96,7 +96,7 @@ enum class Context { Combined, UI, System };
|
||||||
explicit IconsOptionPage(Context context = Context::Combined, QWidget *parentWidget = nullptr);
|
explicit IconsOptionPage(Context context = Context::Combined, QWidget *parentWidget = nullptr);
|
||||||
DECLARE_SETUP_WIDGETS
|
DECLARE_SETUP_WIDGETS
|
||||||
private:
|
private:
|
||||||
void update();
|
void update(bool preserveSize = false);
|
||||||
Context m_context;
|
Context m_context;
|
||||||
Data::StatusIconSettings m_settings;
|
Data::StatusIconSettings m_settings;
|
||||||
struct {
|
struct {
|
||||||
|
|
Loading…
Reference in New Issue