1
0
Эх сурвалжийг харах

frontend/api: Remove obs_frontend_add_dock

Deprecated since cde5545f8f6c882187124a880403f0df48bef33c (30.0).
Sebastian Beckmann 2 сар өмнө
parent
commit
5730f86050

+ 0 - 13
docs/sphinx/reference-frontend-api.rst

@@ -462,19 +462,6 @@ Functions
 
 ---------------------------------------
 
-.. function:: void* obs_frontend_add_dock(void *dock)
-
-   Adds a QDockWidget to the UI's Docks menu.
-
-   :param dock: QDockWidget to add/create
-   :return: A pointer to the added QAction
-
-.. deprecated:: 30.0
-   Prefer :c:func:`obs_frontend_add_dock_by_id()` or
-   :c:func:`obs_frontend_add_custom_qdock()` instead.
-
----------------------------------------
-
 .. function:: bool obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget)
 
    Adds a dock with the widget to the UI with a toggle in the Docks

+ 0 - 20
frontend/OBSStudioAPI.cpp

@@ -332,26 +332,6 @@ void OBSStudioAPI::obs_frontend_add_tools_menu_item(const char *name, obs_fronte
 	QObject::connect(action, &QAction::triggered, func);
 }
 
-void *OBSStudioAPI::obs_frontend_add_dock(void *dock)
-{
-	QDockWidget *d = static_cast<QDockWidget *>(dock);
-
-	QString name = d->objectName();
-	if (name.isEmpty() || main->IsDockObjectNameUsed(name)) {
-		blog(LOG_WARNING, "The object name of the added dock is empty or already used,"
-				  " a temporary one will be set to avoid conflicts");
-
-		char *uuid = os_generate_uuid();
-		name = QT_UTF8(uuid);
-		bfree(uuid);
-		name.append("_oldExtraDock");
-
-		d->setObjectName(name);
-	}
-
-	return (void *)main->AddDockWidget(d);
-}
-
 bool OBSStudioAPI::obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget)
 {
 	if (main->IsDockObjectNameUsed(QT_UTF8(id))) {

+ 0 - 2
frontend/OBSStudioAPI.hpp

@@ -120,8 +120,6 @@ struct OBSStudioAPI : obs_frontend_callbacks {
 
 	void obs_frontend_add_tools_menu_item(const char *name, obs_frontend_cb callback, void *private_data) override;
 
-	void *obs_frontend_add_dock(void *dock) override;
-
 	bool obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget) override;
 
 	void obs_frontend_remove_dock(const char *id) override;

+ 0 - 5
frontend/api/obs-frontend-api.cpp

@@ -311,11 +311,6 @@ void obs_frontend_add_tools_menu_item(const char *name, obs_frontend_cb callback
 		c->obs_frontend_add_tools_menu_item(name, callback, private_data);
 }
 
-void *obs_frontend_add_dock(void *dock)
-{
-	return !!callbacks_valid() ? c->obs_frontend_add_dock(dock) : nullptr;
-}
-
 bool obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget)
 {
 	return !!callbacks_valid() ? c->obs_frontend_add_dock_by_id(id, title, widget) : false;

+ 0 - 4
frontend/api/obs-frontend-api.h

@@ -149,10 +149,6 @@ typedef void (*obs_frontend_cb)(void *private_data);
 EXPORT void *obs_frontend_add_tools_menu_qaction(const char *name);
 EXPORT void obs_frontend_add_tools_menu_item(const char *name, obs_frontend_cb callback, void *private_data);
 
-/* takes QDockWidget and returns QAction */
-OBS_DEPRECATED
-EXPORT void *obs_frontend_add_dock(void *dock);
-
 /* takes QWidget for widget */
 EXPORT bool obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget);
 

+ 0 - 2
frontend/api/obs-frontend-internal.hpp

@@ -58,8 +58,6 @@ struct obs_frontend_callbacks {
 	virtual void obs_frontend_add_tools_menu_item(const char *name, obs_frontend_cb callback,
 						      void *private_data) = 0;
 
-	virtual void *obs_frontend_add_dock(void *dock) = 0;
-
 	virtual bool obs_frontend_add_dock_by_id(const char *id, const char *title, void *widget) = 0;
 	virtual void obs_frontend_remove_dock(const char *id) = 0;
 	virtual bool obs_frontend_add_custom_qdock(const char *id, void *dock) = 0;

+ 0 - 4
frontend/widgets/OBSBasic.hpp

@@ -426,8 +426,6 @@ public slots:
 	 * -------------------------------------
 	 */
 private:
-	QList<QPointer<QDockWidget>> oldExtraDocks;
-	QStringList oldExtraDockNames;
 	QPointer<QDockWidget> statsDock;
 	QByteArray startingDockLayout;
 	QStringList extraDockNames;
@@ -439,7 +437,6 @@ private:
 	QPointer<OBSDock> controlsDock;
 
 public:
-	QAction *AddDockWidget(QDockWidget *dock);
 	void AddDockWidget(QDockWidget *dock, Qt::DockWidgetArea area, bool extraBrowser = false);
 	void RemoveDockWidget(const QString &name);
 	bool IsDockObjectNameUsed(const QString &name);
@@ -450,7 +447,6 @@ private slots:
 	void on_lockDocks_toggled(bool lock);
 	void on_sideDocks_toggled(bool side);
 
-	void RepairOldExtraDockName();
 	void RepairCustomExtraDockName();
 
 	/* -------------------------------------

+ 2 - 105
frontend/widgets/OBSBasic_Docks.cpp

@@ -21,23 +21,6 @@
 
 #include <qt-wrappers.hpp>
 
-void assignDockToggle(QDockWidget *dock, QAction *action)
-{
-	auto handleWindowToggle = [action](bool vis) {
-		action->blockSignals(true);
-		action->setChecked(vis);
-		action->blockSignals(false);
-	};
-	auto handleMenuToggle = [dock](bool check) {
-		dock->blockSignals(true);
-		dock->setVisible(check);
-		dock->blockSignals(false);
-	};
-
-	dock->connect(dock->toggleViewAction(), &QAction::toggled, handleWindowToggle);
-	dock->connect(action, &QAction::toggled, handleMenuToggle);
-}
-
 void setupDockAction(QDockWidget *dock)
 {
 	QAction *action = dock->toggleViewAction();
@@ -62,19 +45,10 @@ void setupDockAction(QDockWidget *dock)
 
 void OBSBasic::on_resetDocks_triggered(bool force)
 {
-	/* prune deleted extra docks */
-	for (int i = oldExtraDocks.size() - 1; i >= 0; i--) {
-		if (!oldExtraDocks[i]) {
-			oldExtraDocks.removeAt(i);
-			oldExtraDockNames.removeAt(i);
-		}
-	}
-
 #ifdef BROWSER_AVAILABLE
-	if ((oldExtraDocks.size() || extraDocks.size() || extraCustomDocks.size() || extraBrowserDocks.size()) &&
-	    !force)
+	if ((extraDocks.size() || extraCustomDocks.size() || extraBrowserDocks.size()) && !force)
 #else
-	if ((oldExtraDocks.size() || extraDocks.size() || extraCustomDocks.size()) && !force)
+	if ((extraDocks.size() || extraCustomDocks.size()) && !force)
 #endif
 	{
 		QMessageBox::StandardButton button =
@@ -84,17 +58,6 @@ void OBSBasic::on_resetDocks_triggered(bool force)
 			return;
 	}
 
-	/* undock/hide/center extra docks */
-	for (int i = oldExtraDocks.size() - 1; i >= 0; i--) {
-		if (oldExtraDocks[i]) {
-			oldExtraDocks[i]->setVisible(true);
-			oldExtraDocks[i]->setFloating(true);
-			oldExtraDocks[i]->move(frameGeometry().topLeft() + rect().center() -
-					       oldExtraDocks[i]->rect().center());
-			oldExtraDocks[i]->setVisible(false);
-		}
-	}
-
 #define RESET_DOCKLIST(dockList)                                                                               \
 	for (int i = dockList.size() - 1; i >= 0; i--) {                                                       \
 		dockList[i]->setVisible(true);                                                                 \
@@ -168,15 +131,6 @@ void OBSBasic::on_lockDocks_toggled(bool lock)
 	for (int i = extraBrowserDocks.size() - 1; i >= 0; i--)
 		extraBrowserDocks[i]->setFeatures(features);
 #endif
-
-	for (int i = oldExtraDocks.size() - 1; i >= 0; i--) {
-		if (!oldExtraDocks[i]) {
-			oldExtraDocks.removeAt(i);
-			oldExtraDockNames.removeAt(i);
-		} else {
-			oldExtraDocks[i]->setFeatures(features);
-		}
-	}
 }
 
 void OBSBasic::on_sideDocks_toggled(bool side)
@@ -194,62 +148,6 @@ void OBSBasic::on_sideDocks_toggled(bool side)
 	}
 }
 
-QAction *OBSBasic::AddDockWidget(QDockWidget *dock)
-{
-	// Prevent the object name from being changed
-	connect(dock, &QObject::objectNameChanged, this, &OBSBasic::RepairOldExtraDockName);
-
-#ifdef BROWSER_AVAILABLE
-	QAction *action = new QAction(dock->windowTitle(), ui->menuDocks);
-
-	if (!extraBrowserMenuDocksSeparator.isNull())
-		ui->menuDocks->insertAction(extraBrowserMenuDocksSeparator, action);
-	else
-		ui->menuDocks->addAction(action);
-#else
-	QAction *action = ui->menuDocks->addAction(dock->windowTitle());
-#endif
-	action->setCheckable(true);
-	action->setMenuRole(QAction::NoRole);
-	assignDockToggle(dock, action);
-	oldExtraDocks.push_back(dock);
-	oldExtraDockNames.push_back(dock->objectName());
-
-	bool lock = ui->lockDocks->isChecked();
-	QDockWidget::DockWidgetFeatures features =
-		lock ? QDockWidget::NoDockWidgetFeatures
-		     : (QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable |
-			QDockWidget::DockWidgetFloatable);
-
-	dock->setFeatures(features);
-
-	/* prune deleted docks */
-	for (int i = oldExtraDocks.size() - 1; i >= 0; i--) {
-		if (!oldExtraDocks[i]) {
-			oldExtraDocks.removeAt(i);
-			oldExtraDockNames.removeAt(i);
-		}
-	}
-
-	return action;
-}
-
-void OBSBasic::RepairOldExtraDockName()
-{
-	QDockWidget *dock = reinterpret_cast<QDockWidget *>(sender());
-	int idx = oldExtraDocks.indexOf(dock);
-	QSignalBlocker block(dock);
-
-	if (idx == -1) {
-		blog(LOG_WARNING, "A dock got its object name changed");
-		return;
-	}
-
-	blog(LOG_WARNING, "The dock '%s' got its object name restored", QT_TO_UTF8(oldExtraDockNames[idx]));
-
-	dock->setObjectName(oldExtraDockNames[idx]);
-}
-
 void OBSBasic::AddDockWidget(QDockWidget *dock, Qt::DockWidgetArea area, bool extraBrowser)
 {
 	if (dock->objectName().isEmpty())
@@ -310,7 +208,6 @@ bool OBSBasic::IsDockObjectNameUsed(const QString &name)
 	     << "transitionsDock"
 	     << "controlsDock"
 	     << "statsDock";
-	list << oldExtraDockNames;
 	list << extraDockNames;
 	list << extraCustomDockNames;