Browse Source

UI: Allow the ability to use deprecated sources

jp9000 9 years ago
parent
commit
d0e186497f
2 changed files with 15 additions and 1 deletions
  1. 1 0
      UI/data/locale/en-US.ini
  2. 14 1
      UI/window-basic-main.cpp

+ 1 - 0
UI/data/locale/en-US.ini

@@ -57,6 +57,7 @@ Reset="Reset"
 Hours="Hours"
 Minutes="Minutes"
 Seconds="Seconds"
+Deprecated="Deprecated"
 
 # quick transitions
 QuickTransitions.SwapScenes="Swap Preview/Output Scenes After Transitioning"

+ 14 - 1
UI/window-basic-main.cpp

@@ -3185,9 +3185,11 @@ QMenu *OBSBasic::CreateAddSourcePopupMenu()
 {
 	const char *type;
 	bool foundValues = false;
+	bool foundDeprecated = false;
 	size_t idx = 0;
 
 	QMenu *popup = new QMenu(QTStr("Add"), this);
+	QMenu *deprecated = new QMenu(QTStr("Deprecated"), popup);
 
 	auto getActionAfter = [] (QMenu *menu, const QString &name)
 	{
@@ -3220,15 +3222,26 @@ QMenu *OBSBasic::CreateAddSourcePopupMenu()
 
 		if ((caps & OBS_SOURCE_DEPRECATED) == 0) {
 			addSource(popup, type, name);
-			foundValues = true;
+		} else {
+			addSource(deprecated, type, name);
+			foundDeprecated = true;
 		}
+		foundValues = true;
 	}
 
 	addSource(popup, "scene", Str("Basic.Scene"));
 
+	if (!foundDeprecated) {
+		delete deprecated;
+		deprecated = nullptr;
+	}
+
 	if (!foundValues) {
 		delete popup;
 		popup = nullptr;
+
+	} else if (foundDeprecated) {
+		popup->addMenu(deprecated);
 	}
 
 	return popup;