UI: Add tooltips (long description) to property controls
This commit is contained in:
parent
5c5d0ba9e5
commit
2b4bf21416
@ -210,9 +210,13 @@ void OBSPropertiesView::resizeEvent(QResizeEvent *event)
|
||||
QWidget *OBSPropertiesView::NewWidget(obs_property_t *prop, QWidget *widget,
|
||||
const char *signal)
|
||||
{
|
||||
const char *long_desc = obs_property_long_description(prop);
|
||||
|
||||
WidgetInfo *info = new WidgetInfo(this, prop, widget);
|
||||
connect(widget, signal, info, SLOT(ControlChanged()));
|
||||
children.emplace_back(info);
|
||||
|
||||
widget->setToolTip(QT_UTF8(long_desc));
|
||||
return widget;
|
||||
}
|
||||
|
||||
@ -263,6 +267,8 @@ QWidget *OBSPropertiesView::AddText(obs_property_t *prop, QFormLayout *layout,
|
||||
label = new QLabel(QT_UTF8(obs_property_description(prop)));
|
||||
layout->addRow(label, subLayout);
|
||||
|
||||
edit->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
connect(edit, SIGNAL(textEdited(const QString &)),
|
||||
info, SLOT(ControlChanged()));
|
||||
return nullptr;
|
||||
@ -271,6 +277,7 @@ QWidget *OBSPropertiesView::AddText(obs_property_t *prop, QFormLayout *layout,
|
||||
QLineEdit *edit = new QLineEdit();
|
||||
|
||||
edit->setText(QT_UTF8(val));
|
||||
edit->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
return NewWidget(prop, edit, SIGNAL(textEdited(const QString &)));
|
||||
}
|
||||
@ -286,6 +293,7 @@ void OBSPropertiesView::AddPath(obs_property_t *prop, QFormLayout *layout,
|
||||
|
||||
edit->setText(QT_UTF8(val));
|
||||
edit->setReadOnly(true);
|
||||
edit->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
subLayout->addWidget(edit);
|
||||
subLayout->addWidget(button);
|
||||
@ -316,6 +324,7 @@ void OBSPropertiesView::AddInt(obs_property_t *prop, QFormLayout *layout,
|
||||
spin->setMaximum(maxVal);
|
||||
spin->setSingleStep(stepVal);
|
||||
spin->setValue(val);
|
||||
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
WidgetInfo *info = new WidgetInfo(this, prop, spin);
|
||||
children.emplace_back(info);
|
||||
@ -361,6 +370,7 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout,
|
||||
spin->setMaximum(maxVal);
|
||||
spin->setSingleStep(stepVal);
|
||||
spin->setValue(val);
|
||||
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
WidgetInfo *info = new WidgetInfo(this, prop, spin);
|
||||
children.emplace_back(info);
|
||||
@ -471,6 +481,7 @@ QWidget *OBSPropertiesView::AddList(obs_property_t *prop, bool &warning)
|
||||
combo->setEditable(true);
|
||||
|
||||
combo->setMaxVisibleItems(40);
|
||||
combo->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
string value = from_obs_data(settings, name, format);
|
||||
|
||||
@ -545,6 +556,7 @@ void OBSPropertiesView::AddEditableList(obs_property_t *prop,
|
||||
|
||||
list->setSortingEnabled(false);
|
||||
list->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
list->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
obs_data_t *item = obs_data_array_item(array, i);
|
||||
@ -598,12 +610,14 @@ void OBSPropertiesView::AddColor(obs_property_t *prop, QFormLayout *layout,
|
||||
QColor color = color_from_int(val);
|
||||
|
||||
button->setText(QTStr("Basic.PropertiesWindow.SelectColor"));
|
||||
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
colorLabel->setFrameStyle(QFrame::Sunken | QFrame::Panel);
|
||||
colorLabel->setText(color.name(QColor::HexArgb));
|
||||
colorLabel->setPalette(QPalette(color));
|
||||
colorLabel->setAutoFillBackground(true);
|
||||
colorLabel->setAlignment(Qt::AlignCenter);
|
||||
colorLabel->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
QHBoxLayout *subLayout = new QHBoxLayout;
|
||||
subLayout->setContentsMargins(0, 0, 0, 0);
|
||||
@ -655,11 +669,13 @@ void OBSPropertiesView::AddFont(obs_property_t *prop, QFormLayout *layout,
|
||||
MakeQFont(font_obj, font);
|
||||
|
||||
button->setText(QTStr("Basic.PropertiesWindow.SelectFont"));
|
||||
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
fontLabel->setFrameStyle(QFrame::Sunken | QFrame::Panel);
|
||||
fontLabel->setFont(font);
|
||||
fontLabel->setText(QString("%1 %2").arg(face, style));
|
||||
fontLabel->setAlignment(Qt::AlignCenter);
|
||||
fontLabel->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
QHBoxLayout *subLayout = new QHBoxLayout;
|
||||
subLayout->setContentsMargins(0, 0, 0, 0);
|
||||
@ -988,6 +1004,8 @@ static OBSFrameRatePropertyWidget *CreateFrameRateWidget(obs_property_t *prop,
|
||||
combo->addItem(QTStr("Basic.PropertiesView.FPS.Rational"),
|
||||
QVariant::fromValue(frame_rate_tag::rational()));
|
||||
|
||||
combo->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
auto num = obs_property_frame_rate_options_count(prop);
|
||||
if (num)
|
||||
combo->insertSeparator(combo->count());
|
||||
@ -1188,6 +1206,8 @@ void OBSPropertiesView::AddFrameRate(obs_property_t *prop, bool &warning,
|
||||
fps_ranges);
|
||||
auto info = new WidgetInfo(this, prop, widget);
|
||||
|
||||
widget->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
widget->name = name;
|
||||
widget->settings = settings;
|
||||
|
||||
@ -1209,6 +1229,9 @@ void OBSPropertiesView::AddFrameRate(obs_property_t *prop, bool &warning,
|
||||
auto stack = widget->modeDisplay;
|
||||
auto combo = widget->modeSelect;
|
||||
|
||||
stack->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
combo->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
auto comboIndexChanged = static_cast<void (QComboBox::*)(int)>(
|
||||
&QComboBox::currentIndexChanged);
|
||||
connect(combo, comboIndexChanged, stack,
|
||||
|
Loading…
x
Reference in New Issue
Block a user