Просмотр исходного кода

UI: Add option to disable scrolling to OBSPropertiesView

derrod 1 год назад
Родитель
Сommit
da43aa109e
2 измененных файлов с 10 добавлено и 0 удалено
  1. 3 0
      UI/properties-view.cpp
  2. 7 0
      UI/properties-view.hpp

+ 3 - 0
UI/properties-view.cpp

@@ -143,6 +143,9 @@ void OBSPropertiesView::RefreshProperties()
 	adjustSize();
 	SetScrollPos(h, v, hend, vend);
 
+	if (disableScrolling)
+		setMinimumHeight(widget->minimumSizeHint().height());
+
 	lastFocused.clear();
 	if (lastWidget) {
 		lastWidget->setFocus(Qt::OtherFocusReason);

+ 7 - 0
UI/properties-view.hpp

@@ -108,6 +108,7 @@ private:
 	QWidget *lastWidget = nullptr;
 	bool deferUpdate;
 	bool enableDefer = true;
+	bool disableScrolling = false;
 
 	template<typename Sender, typename SenderParent, typename... Args>
 	QWidget *NewWidget(obs_property_t *prop, Sender *widget,
@@ -201,6 +202,12 @@ public:
 
 	inline OBSObject GetObject() const { return OBSGetStrongRef(weakObj); }
 
+	void setScrolling(bool enabled)
+	{
+		disableScrolling = !enabled;
+		RefreshProperties();
+	}
+
 #define Def_IsObject(type)                                \
 	inline bool IsObject(obs_##type##_t *type) const  \
 	{                                                 \