diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 8e88ff2d2..5d5712062 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -244,7 +244,6 @@ set(obs_SOURCES vertical-scroll-area.cpp visibility-item-widget.cpp slider-absoluteset-style.cpp - source-list-widget.cpp qt-display.cpp crash-report.cpp hotkey-edit.cpp @@ -302,7 +301,6 @@ set(obs_HEADERS vertical-scroll-area.hpp visibility-item-widget.hpp slider-absoluteset-style.hpp - source-list-widget.hpp qt-display.hpp crash-report.hpp hotkey-edit.hpp diff --git a/UI/source-list-widget.cpp b/UI/source-list-widget.cpp deleted file mode 100644 index d537fbc3b..000000000 --- a/UI/source-list-widget.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include - -#include - -#include "qt-wrappers.hpp" -#include "source-list-widget.hpp" - -Q_DECLARE_METATYPE(OBSSceneItem); - -void SourceListWidget::mouseDoubleClickEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) - QListWidget::mouseDoubleClickEvent(event); -} - -void SourceListWidget::dropEvent(QDropEvent *event) -{ - QListWidget::dropEvent(event); - if (!event->isAccepted() || !count()) - return; - - auto GetSceneItem = [&](int i) - { - return item(i)->data(Qt::UserRole).value(); - }; - - std::vector newOrder; - newOrder.reserve(count()); - for (int i = count() - 1; i >= 0; i--) - newOrder.push_back(GetSceneItem(i)); - - auto UpdateOrderAtomically = [&](obs_scene_t *scene) - { - ignoreReorder = true; - obs_scene_reorder_items(scene, newOrder.data(), - newOrder.size()); - ignoreReorder = false; - }; - using UpdateOrderAtomically_t = decltype(UpdateOrderAtomically); - - auto scene = obs_sceneitem_get_scene(GetSceneItem(0)); - obs_scene_atomic_update(scene, [](void *data, obs_scene_t *scene) - { - (*static_cast(data))(scene); - }, static_cast(&UpdateOrderAtomically)); -} diff --git a/UI/source-list-widget.hpp b/UI/source-list-widget.hpp deleted file mode 100644 index d2215b0c2..000000000 --- a/UI/source-list-widget.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include - -class QMouseEvent; - -class SourceListWidget : public QListWidget { - Q_OBJECT - - bool ignoreReorder = false; -public: - inline SourceListWidget(QWidget *parent = nullptr) - : QListWidget(parent) - { - } - - bool IgnoreReorder() const { return ignoreReorder; } - -protected: - virtual void mouseDoubleClickEvent(QMouseEvent *event) override; - virtual void dropEvent(QDropEvent *event) override; -};