ソースを参照

UI: Add func to disable properties view deferring

Lain 2 年 前
コミット
2a2472e326
2 ファイル変更3 行追加1 行削除
  1. 1 1
      UI/properties-view.cpp
  2. 2 0
      UI/properties-view.hpp

+ 1 - 1
UI/properties-view.cpp

@@ -101,7 +101,7 @@ void OBSPropertiesView::ReloadProperties()
 	}
 
 	uint32_t flags = obs_properties_get_flags(properties.get());
-	deferUpdate = (flags & OBS_PROPERTIES_DEFER_UPDATE) != 0;
+	deferUpdate = enableDefer && (flags & OBS_PROPERTIES_DEFER_UPDATE) != 0;
 
 	RefreshProperties();
 }

+ 2 - 0
UI/properties-view.hpp

@@ -107,6 +107,7 @@ private:
 	std::string lastFocused;
 	QWidget *lastWidget = nullptr;
 	bool deferUpdate;
+	bool enableDefer = true;
 
 	template<typename Sender, typename SenderParent, typename... Args>
 	QWidget *NewWidget(obs_property_t *prop, Sender *widget,
@@ -196,6 +197,7 @@ public:
 			visUpdateCb(OBSGetStrongRef(weakObj), settings);
 	}
 	inline bool DeferUpdate() const { return deferUpdate; }
+	inline void SetDeferrable(bool deferrable) { enableDefer = deferrable; }
 
 	inline OBSObject GetObject() const { return OBSGetStrongRef(weakObj); }