From 3544a2da480883f6902cf0b11b44dd659340bf16 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 1 Apr 2017 13:32:26 -0700 Subject: [PATCH] UI: Fix property widgets not being disabled --- UI/properties-view.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index f8e8faf13..17bcbfd9f 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -291,6 +291,11 @@ void OBSPropertiesView::AddPath(obs_property_t *prop, QFormLayout *layout, QLineEdit *edit = new QLineEdit(); QPushButton *button = new QPushButton(QTStr("Browse")); + if (!obs_property_enabled(prop)) { + edit->setEnabled(false); + button->setEnabled(false); + } + edit->setText(QT_UTF8(val)); edit->setReadOnly(true); edit->setToolTip(QT_UTF8(obs_property_long_description(prop))); @@ -316,6 +321,9 @@ void OBSPropertiesView::AddInt(obs_property_t *prop, QFormLayout *layout, int val = (int)obs_data_get_int(settings, name); QSpinBox *spin = new QSpinBox(); + if (!obs_property_enabled(prop)) + spin->setEnabled(false); + int minVal = obs_property_int_min(prop); int maxVal = obs_property_int_max(prop); int stepVal = obs_property_int_step(prop); @@ -362,6 +370,9 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout, double val = obs_data_get_double(settings, name); QDoubleSpinBox *spin = new QDoubleSpinBox(); + if (!obs_property_enabled(prop)) + spin->setEnabled(false); + double minVal = obs_property_float_min(prop); double maxVal = obs_property_float_max(prop); double stepVal = obs_property_float_step(prop); @@ -554,6 +565,9 @@ void OBSPropertiesView::AddEditableList(obs_property_t *prop, QListWidget *list = new QListWidget(); size_t count = obs_data_array_count(array); + if (!obs_property_enabled(prop)) + list->setEnabled(false); + list->setSortingEnabled(false); list->setSelectionMode(QAbstractItemView::ExtendedSelection); list->setToolTip(QT_UTF8(obs_property_long_description(prop))); @@ -609,6 +623,11 @@ void OBSPropertiesView::AddColor(obs_property_t *prop, QFormLayout *layout, long long val = obs_data_get_int(settings, name); QColor color = color_from_int(val); + if (!obs_property_enabled(prop)) { + button->setEnabled(false); + colorLabel->setEnabled(false); + } + button->setText(QTStr("Basic.PropertiesWindow.SelectColor")); button->setToolTip(QT_UTF8(obs_property_long_description(prop))); @@ -671,6 +690,11 @@ void OBSPropertiesView::AddFont(obs_property_t *prop, QFormLayout *layout, QLabel *fontLabel = new QLabel; QFont font; + if (!obs_property_enabled(prop)) { + button->setEnabled(false); + fontLabel->setEnabled(false); + } + font = fontLabel->font(); MakeQFont(font_obj, font, true); @@ -1356,6 +1380,9 @@ void OBSPropertiesView::AddProperty(obs_property_t *property, label->setAlignment(Qt::AlignRight | Qt::AlignVCenter); } + if (label && !obs_property_enabled(property)) + label->setEnabled(false); + if (!widget) return;