From 0df2cd0cfeb3931df5e57ccdfb45fa42c5070c7e Mon Sep 17 00:00:00 2001 From: Clayton Groeneveld Date: Sun, 6 Oct 2019 00:33:25 -0500 Subject: [PATCH] UI: Remove unused code from visibility item widget --- UI/visibility-item-widget.cpp | 157 +--------------------------------- UI/visibility-item-widget.hpp | 17 ---- 2 files changed, 1 insertion(+), 173 deletions(-) diff --git a/UI/visibility-item-widget.cpp b/UI/visibility-item-widget.cpp index c05ed097b..dba42fbdc 100644 --- a/UI/visibility-item-widget.cpp +++ b/UI/visibility-item-widget.cpp @@ -1,6 +1,5 @@ #include "visibility-item-widget.hpp" #include "visibility-checkbox.hpp" -#include "locked-checkbox.hpp" #include "qt-wrappers.hpp" #include "obs-app.hpp" #include @@ -42,136 +41,6 @@ VisibilityItemWidget::VisibilityItemWidget(obs_source_t *source_) SLOT(VisibilityClicked(bool))); } -VisibilityItemWidget::VisibilityItemWidget(obs_sceneitem_t *item_) - : item(item_), - source(obs_sceneitem_get_source(item)), - renamedSignal(obs_source_get_signal_handler(source), "rename", - OBSSourceRenamed, this) -{ - const char *name = obs_source_get_name(source); - bool enabled = obs_sceneitem_visible(item); - bool locked = obs_sceneitem_locked(item); - obs_scene_t *scene = obs_sceneitem_get_scene(item); - obs_source_t *sceneSource = obs_scene_get_source(scene); - - vis = new VisibilityCheckBox(); - vis->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - /* Fix for non-apple systems where the spacing would be too big */ -#ifndef __APPLE__ - vis->setMaximumSize(16, 16); -#endif - vis->setChecked(enabled); - - lock = new LockedCheckBox(); - lock->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - /* Fix for non-apple systems where the spacing would be too big */ -#ifndef __APPLE__ - lock->setMaximumSize(16, 16); -#endif - lock->setChecked(locked); - - label = new QLabel(QT_UTF8(name)); - label->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); - -#ifdef __APPLE__ - vis->setAttribute(Qt::WA_LayoutUsesWidgetRect); - lock->setAttribute(Qt::WA_LayoutUsesWidgetRect); -#endif - - QHBoxLayout *itemLayout = new QHBoxLayout(); - itemLayout->addWidget(vis); - itemLayout->addWidget(lock); - itemLayout->addWidget(label); - itemLayout->setContentsMargins(5, 2, 5, 2); - itemLayout->setSpacing(2); - - setLayout(itemLayout); - setStyleSheet("background-color: rgba(255, 255, 255, 0);"); - - signal_handler_t *signal = obs_source_get_signal_handler(sceneSource); - signal_handler_connect(signal, "remove", OBSSceneRemove, this); - signal_handler_connect(signal, "item_remove", OBSSceneItemRemove, this); - signal_handler_connect(signal, "item_visible", OBSSceneItemVisible, - this); - signal_handler_connect(signal, "item_locked", OBSSceneItemLocked, this); - - connect(vis, SIGNAL(clicked(bool)), this, - SLOT(VisibilityClicked(bool))); - - connect(lock, SIGNAL(clicked(bool)), this, SLOT(LockClicked(bool))); -} - -VisibilityItemWidget::~VisibilityItemWidget() -{ - DisconnectItemSignals(); -} - -void VisibilityItemWidget::DisconnectItemSignals() -{ - if (!item || sceneRemoved) - return; - - obs_scene_t *scene = obs_sceneitem_get_scene(item); - obs_source_t *sceneSource = obs_scene_get_source(scene); - signal_handler_t *signal = obs_source_get_signal_handler(sceneSource); - - signal_handler_disconnect(signal, "remove", OBSSceneRemove, this); - signal_handler_disconnect(signal, "item_remove", OBSSceneItemRemove, - this); - signal_handler_disconnect(signal, "item_visible", OBSSceneItemVisible, - this); - signal_handler_disconnect(signal, "item_locked", OBSSceneItemLocked, - this); - - sceneRemoved = true; -} - -void VisibilityItemWidget::OBSSceneRemove(void *param, calldata_t *data) -{ - VisibilityItemWidget *window = - reinterpret_cast(param); - - window->DisconnectItemSignals(); - - UNUSED_PARAMETER(data); -} - -void VisibilityItemWidget::OBSSceneItemRemove(void *param, calldata_t *data) -{ - VisibilityItemWidget *window = - reinterpret_cast(param); - obs_sceneitem_t *item = (obs_sceneitem_t *)calldata_ptr(data, "item"); - - if (item == window->item) - window->DisconnectItemSignals(); -} - -void VisibilityItemWidget::OBSSceneItemVisible(void *param, calldata_t *data) -{ - VisibilityItemWidget *window = - reinterpret_cast(param); - obs_sceneitem_t *curItem = - (obs_sceneitem_t *)calldata_ptr(data, "item"); - bool enabled = calldata_bool(data, "visible"); - - if (window->item == curItem) - QMetaObject::invokeMethod(window, "SourceEnabled", - Q_ARG(bool, enabled)); -} - -void VisibilityItemWidget::OBSSceneItemLocked(void *param, calldata_t *data) -{ - VisibilityItemWidget *window = - reinterpret_cast(param); - obs_sceneitem_t *curItem = - (obs_sceneitem_t *)calldata_ptr(data, "item"); - bool locked = calldata_bool(data, "locked"); - - if (window->item == curItem) - QMetaObject::invokeMethod(window, "SourceLocked", - Q_ARG(bool, locked)); -} - void VisibilityItemWidget::OBSSourceEnabled(void *param, calldata_t *data) { VisibilityItemWidget *window = @@ -194,16 +63,7 @@ void VisibilityItemWidget::OBSSourceRenamed(void *param, calldata_t *data) void VisibilityItemWidget::VisibilityClicked(bool visible) { - if (item) - obs_sceneitem_set_visible(item, visible); - else - obs_source_set_enabled(source, visible); -} - -void VisibilityItemWidget::LockClicked(bool locked) -{ - if (item) - obs_sceneitem_set_locked(item, locked); + obs_source_set_enabled(source, visible); } void VisibilityItemWidget::SourceEnabled(bool enabled) @@ -212,12 +72,6 @@ void VisibilityItemWidget::SourceEnabled(bool enabled) vis->setChecked(enabled); } -void VisibilityItemWidget::SourceLocked(bool locked) -{ - if (lock->isChecked() != locked) - lock->setChecked(locked); -} - void VisibilityItemWidget::SourceRenamed(QString name) { if (label && name != label->text()) @@ -298,12 +152,3 @@ void SetupVisibilityItem(QListWidget *list, QListWidgetItem *item, item->setSizeHint(baseWidget->sizeHint()); list->setItemWidget(item, baseWidget); } - -void SetupVisibilityItem(QListWidget *list, QListWidgetItem *item, - obs_sceneitem_t *sceneItem) -{ - VisibilityItemWidget *baseWidget = new VisibilityItemWidget(sceneItem); - - item->setSizeHint(baseWidget->sizeHint()); - list->setItemWidget(item, baseWidget); -} diff --git a/UI/visibility-item-widget.hpp b/UI/visibility-item-widget.hpp index 659f200bf..114b6ab47 100644 --- a/UI/visibility-item-widget.hpp +++ b/UI/visibility-item-widget.hpp @@ -9,47 +9,32 @@ class QLineEdit; class QListWidget; class QListWidgetItem; class VisibilityCheckBox; -class LockedCheckBox; class VisibilityItemWidget : public QWidget { Q_OBJECT private: - OBSSceneItem item; OBSSource source; QLabel *label = nullptr; VisibilityCheckBox *vis = nullptr; - LockedCheckBox *lock = nullptr; QString oldName; - OBSSignal sceneRemoveSignal; OBSSignal enabledSignal; OBSSignal renamedSignal; - bool sceneRemoved = false; bool active = false; bool selected = false; - static void OBSSceneRemove(void *param, calldata_t *data); - static void OBSSceneItemRemove(void *param, calldata_t *data); - static void OBSSceneItemVisible(void *param, calldata_t *data); - static void OBSSceneItemLocked(void *param, calldata_t *data); static void OBSSourceEnabled(void *param, calldata_t *data); static void OBSSourceRenamed(void *param, calldata_t *data); - void DisconnectItemSignals(); - private slots: void VisibilityClicked(bool visible); - void LockClicked(bool locked); void SourceEnabled(bool enabled); void SourceRenamed(QString name); - void SourceLocked(bool locked); public: VisibilityItemWidget(obs_source_t *source); - VisibilityItemWidget(obs_sceneitem_t *item); - ~VisibilityItemWidget(); void SetColor(const QColor &color, bool active, bool selected); }; @@ -66,5 +51,3 @@ public: void SetupVisibilityItem(QListWidget *list, QListWidgetItem *item, obs_source_t *source); -void SetupVisibilityItem(QListWidget *list, QListWidgetItem *item, - obs_sceneitem_t *sceneItem);