added ui scaling
This commit is contained in:
@@ -56,6 +56,7 @@ AppearancePage::AppearancePage()
|
||||
|
||||
form->addRow("Theme:", theme);
|
||||
// form->addRow("Theme color:", this->createThemeColorChanger());
|
||||
form->addRow("UI Scaling:", this->createUiScaleSlider());
|
||||
form->addRow("Font:", this->createFontChanger());
|
||||
|
||||
form->addRow("Tabs:", this->createCheckBox(TAB_X, app->settings->showTabCloseButton));
|
||||
@@ -240,6 +241,33 @@ QLayout *AppearancePage::createFontChanger()
|
||||
return layout;
|
||||
}
|
||||
|
||||
QLayout *AppearancePage::createUiScaleSlider()
|
||||
{
|
||||
auto layout = new QHBoxLayout();
|
||||
auto slider = new QSlider(Qt::Horizontal);
|
||||
auto label = new QLabel();
|
||||
layout->addWidget(slider);
|
||||
layout->addWidget(label);
|
||||
|
||||
slider->setMinimum(singletons::WindowManager::uiScaleMin);
|
||||
slider->setMaximum(singletons::WindowManager::uiScaleMax);
|
||||
slider->setValue(
|
||||
singletons::WindowManager::clampUiScale(getApp()->settings->uiScale.getValue()));
|
||||
|
||||
label->setMinimumWidth(100);
|
||||
|
||||
QObject::connect(slider, &QSlider::valueChanged,
|
||||
[](auto value) { getApp()->settings->uiScale.setValue(value); });
|
||||
|
||||
getApp()->settings->uiScale.connect(
|
||||
[label](auto, auto) {
|
||||
label->setText(QString::number(singletons::WindowManager::getUiScaleValue()));
|
||||
},
|
||||
this->connections_);
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
} // namespace settingspages
|
||||
} // namespace widgets
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "widgets/settingspages/settingspage.hpp"
|
||||
|
||||
#include <QScrollArea>
|
||||
#include <pajlada/signals/signalholder.hpp>
|
||||
|
||||
namespace chatterino {
|
||||
namespace widgets {
|
||||
@@ -15,6 +16,9 @@ public:
|
||||
|
||||
QLayout *createThemeColorChanger();
|
||||
QLayout *createFontChanger();
|
||||
QLayout *createUiScaleSlider();
|
||||
|
||||
std::vector<pajlada::Signals::ScopedConnection> connections_;
|
||||
};
|
||||
|
||||
} // namespace settingspages
|
||||
|
||||
Reference in New Issue
Block a user