mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-28 17:42:28 +08:00
1829492e6b
Frontend plugins should not require being placed in the frontend directory to be built successfully. Indeed they should only depend on libobs and the obs-frontend-api and thus their source tree should be able to exist anywhere (even standalone) and the plugin should still compile successfully (just like any 3rd party plugin). Thus moving those plugins into the main plugin directory ensures that they don't require on any "special sauce" within the source tree to compile.
47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <QDialog>
|
|
#include <memory>
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
#include "ui_auto-scene-switcher.h"
|
|
|
|
struct obs_weak_source;
|
|
typedef struct obs_weak_source obs_weak_source_t;
|
|
|
|
class QCloseEvent;
|
|
|
|
class SceneSwitcher : public QDialog {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
std::unique_ptr<Ui_SceneSwitcher> ui;
|
|
bool loading = true;
|
|
|
|
SceneSwitcher(QWidget *parent);
|
|
|
|
void SetStarted();
|
|
void SetStopped();
|
|
|
|
int FindByData(const QString &window);
|
|
|
|
void UpdateNonMatchingScene(const QString &name);
|
|
|
|
public slots:
|
|
void on_switches_currentRowChanged(int idx);
|
|
void on_close_clicked();
|
|
void on_add_clicked();
|
|
void on_remove_clicked();
|
|
void on_noMatchDontSwitch_clicked();
|
|
void on_noMatchSwitch_clicked();
|
|
void on_noMatchSwitchScene_currentTextChanged(const QString &text);
|
|
void on_checkInterval_valueChanged(int value);
|
|
void on_toggleStartButton_clicked();
|
|
void finished();
|
|
};
|
|
|
|
void GetWindowList(std::vector<std::string> &windows);
|
|
void GetCurrentWindowTitle(std::string &title);
|
|
void CleanupSceneSwitcher();
|