parent
e09b952068
commit
9267c7e53d
|
@ -7714,6 +7714,8 @@ void OBSBasic::on_actionEditTransform_triggered()
|
|||
return;
|
||||
|
||||
transformWindow = new OBSBasicTransform(this);
|
||||
connect(ui->scenes, &QListWidget::currentItemChanged, transformWindow,
|
||||
&OBSBasicTransform::OnSceneChanged);
|
||||
transformWindow->show();
|
||||
transformWindow->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "window-basic-transform.hpp"
|
||||
#include "window-basic-main.hpp"
|
||||
|
||||
Q_DECLARE_METATYPE(OBSScene);
|
||||
Q_DECLARE_METATYPE(OBSSceneItem);
|
||||
|
||||
static bool find_sel(obs_scene_t *, obs_sceneitem_t *item, void *param)
|
||||
|
@ -351,3 +352,18 @@ void OBSBasicTransform::on_resetButton_clicked()
|
|||
{
|
||||
main->on_actionResetTransform_triggered();
|
||||
}
|
||||
|
||||
template<typename T> static T GetOBSRef(QListWidgetItem *item)
|
||||
{
|
||||
return item->data(static_cast<int>(QtDataRole::OBSRef)).value<T>();
|
||||
}
|
||||
|
||||
void OBSBasicTransform::OnSceneChanged(QListWidgetItem *current,
|
||||
QListWidgetItem *)
|
||||
{
|
||||
if (!current)
|
||||
return;
|
||||
|
||||
obs_scene_t *scene = GetOBSRef<OBSScene>(current);
|
||||
this->SetScene(scene);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "ui_OBSBasicTransform.h"
|
||||
|
||||
class OBSBasic;
|
||||
class QListWidgetItem;
|
||||
|
||||
class OBSBasicTransform : public QDialog {
|
||||
Q_OBJECT
|
||||
|
@ -49,4 +50,7 @@ private slots:
|
|||
public:
|
||||
OBSBasicTransform(OBSBasic *parent);
|
||||
~OBSBasicTransform();
|
||||
|
||||
public slots:
|
||||
void OnSceneChanged(QListWidgetItem *current, QListWidgetItem *prev);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue