added ui scaling
This commit is contained in:
@@ -121,7 +121,7 @@ FontManager::FontData FontManager::createFontData(Type type, float scale)
|
||||
|
||||
static std::unordered_map<Type, UiFontData> defaultSize{
|
||||
{Tiny, {8, "Monospace", false, QFont::Normal}},
|
||||
{UiMedium, {int(12 * multiplier), DEFAULT_FONT_FAMILY, false, QFont::Normal}},
|
||||
{UiMedium, {int(9 * multiplier), DEFAULT_FONT_FAMILY, false, QFont::Normal}},
|
||||
{UiTabs, {int(9 * multiplier), DEFAULT_FONT_FAMILY, false, QFont::Normal}},
|
||||
};
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ public:
|
||||
IntSetting collpseMessagesMinLines = {"/appearance/messages/collapseMessagesMinLines", 0};
|
||||
BoolSetting alternateMessageBackground = {"/appearance/messages/alternateMessageBackground",
|
||||
false};
|
||||
IntSetting uiScale = {"/appearance/uiScale", 0};
|
||||
BoolSetting windowTopMost = {"/appearance/windowAlwaysOnTop", false};
|
||||
BoolSetting showTabCloseButton = {"/appearance/showTabCloseButton", true};
|
||||
BoolSetting hidePreferencesButton = {"/appearance/hidePreferencesButton", false};
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "singletons/pathmanager.hpp"
|
||||
#include "singletons/thememanager.hpp"
|
||||
#include "util/assertinguithread.hpp"
|
||||
#include "util/clamp.hpp"
|
||||
#include "widgets/accountswitchpopupwidget.hpp"
|
||||
#include "widgets/settingsdialog.hpp"
|
||||
|
||||
@@ -410,5 +411,53 @@ void WindowManager::incGeneration()
|
||||
this->generation++;
|
||||
}
|
||||
|
||||
int WindowManager::clampUiScale(int scale)
|
||||
{
|
||||
return util::clamp(scale, uiScaleMin, uiScaleMax);
|
||||
}
|
||||
|
||||
float WindowManager::getUiScaleValue()
|
||||
{
|
||||
return getUiScaleValue(getApp()->settings->uiScale.getValue());
|
||||
}
|
||||
|
||||
float WindowManager::getUiScaleValue(int scale)
|
||||
{
|
||||
switch (clampUiScale(scale)) {
|
||||
case -5:
|
||||
return 0.5f;
|
||||
case -4:
|
||||
return 0.6f;
|
||||
case -3:
|
||||
return 0.7f;
|
||||
case -2:
|
||||
return 0.8f;
|
||||
case -1:
|
||||
return 0.9f;
|
||||
case 0:
|
||||
return 1;
|
||||
case 1:
|
||||
return 1.2f;
|
||||
case 2:
|
||||
return 1.4f;
|
||||
case 3:
|
||||
return 1.6f;
|
||||
case 4:
|
||||
return 1.6f;
|
||||
case 5:
|
||||
return 2;
|
||||
case 6:
|
||||
return 2.33f;
|
||||
case 7:
|
||||
return 2.66f;
|
||||
case 8:
|
||||
return 3;
|
||||
case 9:
|
||||
return 3.5f;
|
||||
case 10:
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace singletons
|
||||
} // namespace chatterino
|
||||
|
||||
@@ -42,6 +42,12 @@ public:
|
||||
pajlada::Signals::NoArgSignal repaintGifs;
|
||||
pajlada::Signals::Signal<Channel *> layout;
|
||||
|
||||
static const int uiScaleMin = -5;
|
||||
static const int uiScaleMax = 10;
|
||||
static int clampUiScale(int scale);
|
||||
static float getUiScaleValue();
|
||||
static float getUiScaleValue(int scale);
|
||||
|
||||
private:
|
||||
bool initialized = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user