mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
UI: Limit font size for font property label
If the font size is too big, it can take up the entire properties view window.
This commit is contained in:
parent
855381fc9e
commit
4584ef2511
@ -633,7 +633,7 @@ void OBSPropertiesView::AddColor(obs_property_t *prop, QFormLayout *layout,
|
|||||||
layout->addRow(label, subLayout);
|
layout->addRow(label, subLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MakeQFont(obs_data_t *font_obj, QFont &font)
|
static void MakeQFont(obs_data_t *font_obj, QFont &font, bool limit = false)
|
||||||
{
|
{
|
||||||
const char *face = obs_data_get_string(font_obj, "face");
|
const char *face = obs_data_get_string(font_obj, "face");
|
||||||
const char *style = obs_data_get_string(font_obj, "style");
|
const char *style = obs_data_get_string(font_obj, "style");
|
||||||
@ -645,8 +645,14 @@ static void MakeQFont(obs_data_t *font_obj, QFont &font)
|
|||||||
font.setStyleName(style);
|
font.setStyleName(style);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size)
|
if (size) {
|
||||||
|
if (limit) {
|
||||||
|
int max_size = font.pointSize();
|
||||||
|
if (max_size < 28) max_size = 28;
|
||||||
|
if (size > max_size) size = max_size;
|
||||||
|
}
|
||||||
font.setPointSize(size);
|
font.setPointSize(size);
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & OBS_FONT_BOLD) font.setBold(true);
|
if (flags & OBS_FONT_BOLD) font.setBold(true);
|
||||||
if (flags & OBS_FONT_ITALIC) font.setItalic(true);
|
if (flags & OBS_FONT_ITALIC) font.setItalic(true);
|
||||||
@ -666,7 +672,7 @@ void OBSPropertiesView::AddFont(obs_property_t *prop, QFormLayout *layout,
|
|||||||
QFont font;
|
QFont font;
|
||||||
|
|
||||||
font = fontLabel->font();
|
font = fontLabel->font();
|
||||||
MakeQFont(font_obj, font);
|
MakeQFont(font_obj, font, true);
|
||||||
|
|
||||||
button->setText(QTStr("Basic.PropertiesWindow.SelectFont"));
|
button->setText(QTStr("Basic.PropertiesWindow.SelectFont"));
|
||||||
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||||
@ -1632,7 +1638,9 @@ bool WidgetInfo::FontChanged(const char *setting)
|
|||||||
obs_data_set_int(font_obj, "flags", flags);
|
obs_data_set_int(font_obj, "flags", flags);
|
||||||
|
|
||||||
QLabel *label = static_cast<QLabel*>(widget);
|
QLabel *label = static_cast<QLabel*>(widget);
|
||||||
label->setFont(font);
|
QFont labelFont;
|
||||||
|
MakeQFont(font_obj, labelFont, true);
|
||||||
|
label->setFont(labelFont);
|
||||||
label->setText(QString("%1 %2").arg(font.family(), font.styleName()));
|
label->setText(QString("%1 %2").arg(font.family(), font.styleName()));
|
||||||
|
|
||||||
obs_data_set_obj(view->settings, setting, font_obj);
|
obs_data_set_obj(view->settings, setting, font_obj);
|
||||||
|
Loading…
Reference in New Issue
Block a user