diff --git a/obs/data/locale/en-US.ini b/obs/data/locale/en-US.ini index 778a0cbf0..228bcc54b 100644 --- a/obs/data/locale/en-US.ini +++ b/obs/data/locale/en-US.ini @@ -118,6 +118,7 @@ Basic.PropertiesWindow.SelectColor="Select color" Basic.PropertiesWindow.SelectFont="Select font" Basic.PropertiesWindow.ConfirmTitle="Settings Changed" Basic.PropertiesWindow.Confirm="There are unsaved changes. Do you want to keep them?" +Basic.PropertiesWindow.NoProperties="No properties available" # interaction window Basic.InteractionWindow="Interacting with '%1'" diff --git a/obs/properties-view.cpp b/obs/properties-view.cpp index 17220763b..db8e74a19 100644 --- a/obs/properties-view.cpp +++ b/obs/properties-view.cpp @@ -53,6 +53,8 @@ void OBSPropertiesView::ReloadProperties() RefreshProperties(); } +#define NO_PROPERTIES_STRING QTStr("Basic.PropertiesWindow.NoProperties") + void OBSPropertiesView::RefreshProperties() { int h, v; @@ -75,6 +77,7 @@ void OBSPropertiesView::RefreshProperties() layout->setLabelAlignment(Qt::AlignRight); obs_property_t *property = obs_properties_first(properties.get()); + bool hasNoProperties = !property; while (property) { AddProperty(property, layout); @@ -91,6 +94,11 @@ void OBSPropertiesView::RefreshProperties() lastWidget->setFocus(Qt::OtherFocusReason); lastWidget = nullptr; } + + if (hasNoProperties) { + QLabel *noPropertiesLabel = new QLabel(NO_PROPERTIES_STRING); + layout->addWidget(noPropertiesLabel); + } } void OBSPropertiesView::SetScrollPos(int h, int v)