1
0

auto-scene-switcher.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <QDialog>
  3. #include <memory>
  4. #include <vector>
  5. #include <string>
  6. #include "ui_auto-scene-switcher.h"
  7. struct obs_weak_source;
  8. typedef struct obs_weak_source obs_weak_source_t;
  9. class QCloseEvent;
  10. class SceneSwitcher : public QDialog {
  11. Q_OBJECT
  12. public:
  13. std::unique_ptr<Ui_SceneSwitcher> ui;
  14. bool loading = true;
  15. SceneSwitcher(QWidget *parent);
  16. void closeEvent(QCloseEvent *event) override;
  17. void SetStarted();
  18. void SetStopped();
  19. int FindByData(const QString &window);
  20. void UpdateNonMatchingScene(const QString &name);
  21. public slots:
  22. void on_switches_currentRowChanged(int idx);
  23. void on_close_clicked();
  24. void on_add_clicked();
  25. void on_remove_clicked();
  26. void on_noMatchDontSwitch_clicked();
  27. void on_noMatchSwitch_clicked();
  28. void on_startAtLaunch_toggled(bool value);
  29. void on_noMatchSwitchScene_currentTextChanged(const QString &text);
  30. void on_checkInterval_valueChanged(int value);
  31. void on_toggleStartButton_clicked();
  32. };
  33. void GetWindowList(std::vector<std::string> &windows);
  34. void GetCurrentWindowTitle(std::string &title);
  35. void CleanupSceneSwitcher();