From 05540b61a118f2190bb3fae574c48aea1b436ac7 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sun, 16 Feb 2020 20:47:55 +0100 Subject: [PATCH] add separate hotkey (fix for out of tree builds) --- src/advanced-scene-switcher.cpp | 6 +- src/advanced-scene-switcher.hpp | 182 ------------------------ src/headers/advanced-scene-switcher.hpp | 11 +- src/hotkey.cpp | 2 +- 4 files changed, 13 insertions(+), 188 deletions(-) delete mode 100644 src/advanced-scene-switcher.hpp diff --git a/src/advanced-scene-switcher.cpp b/src/advanced-scene-switcher.cpp index 6891ab41..aa64976e 100644 --- a/src/advanced-scene-switcher.cpp +++ b/src/advanced-scene-switcher.cpp @@ -20,9 +20,9 @@ #include #include -#include "switcher-data-structs.hpp" -#include "utility.hpp" -#include "advanced-scene-switcher.hpp" +#include "headers/switcher-data-structs.hpp" +#include "headers/utility.hpp" +#include "headers/advanced-scene-switcher.hpp" SwitcherData* switcher = nullptr; diff --git a/src/advanced-scene-switcher.hpp b/src/advanced-scene-switcher.hpp deleted file mode 100644 index 37911130..00000000 --- a/src/advanced-scene-switcher.hpp +++ /dev/null @@ -1,182 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include "ui_advanced-scene-switcher.h" -#include "switcher-data-structs.hpp" - -class QCloseEvent; - - -/******************************************************************************* - * Advanced Scene Switcher window - *******************************************************************************/ -class SceneSwitcher : public QDialog { - Q_OBJECT - -public: - std::unique_ptr ui; - bool loading = true; - - SceneSwitcher(QWidget *parent); - - void closeEvent(QCloseEvent *event) override; - - void SetStarted(); - void SetStopped(); - - int FindByData(const QString &window); - int ScreenRegionFindByData(const QString ®ion); - int PauseScenesFindByData(const QString &scene); - int PauseWindowsFindByData(const QString &window); - int IgnoreWindowsFindByData(const QString &window); - int SceneRoundTripFindByData(const QString &scene1); - int SceneTransitionsFindByData(const QString &scene1, const QString &scene2); - int DefaultTransitionsFindByData(const QString &scene); - int executableFindByData(const QString &exe); - int IgnoreIdleWindowsFindByData(const QString& window); - int randomFindByData(const QString& scene); - - void UpdateNonMatchingScene(const QString &name); - void UpdateAutoStopScene(const QString &name); - void UpdateIdleDataTransition(const QString& name); - void UpdateIdleDataScene(const QString& name); - -public slots: - void on_switches_currentRowChanged(int idx); - void on_add_clicked(); - void on_remove_clicked(); - void on_noMatchDontSwitch_clicked(); - void on_noMatchSwitch_clicked(); - void on_noMatchRandomSwitch_clicked(); - void on_startAtLaunch_toggled(bool value); - void on_noMatchSwitchScene_currentTextChanged(const QString &text); - void on_checkInterval_valueChanged(int value); - void on_toggleStartButton_clicked(); - - void on_screenRegions_currentRowChanged(int idx); - void on_screenRegionAdd_clicked(); - void on_screenRegionRemove_clicked(); - - void on_pauseScenes_currentRowChanged(int idx); - void on_pauseScenesAdd_clicked(); - void on_pauseScenesRemove_clicked(); - - void on_pauseWindows_currentRowChanged(int idx); - void on_pauseWindowsAdd_clicked(); - void on_pauseWindowsRemove_clicked(); - - void on_ignoreWindows_currentRowChanged(int idx); - void on_ignoreWindowsAdd_clicked(); - void on_ignoreWindowsRemove_clicked(); - - void on_sceneRoundTrips_currentRowChanged(int idx); - void on_sceneRoundTripAdd_clicked(); - void on_sceneRoundTripRemove_clicked(); - void on_sceneRoundTripSave_clicked(); - void on_sceneRoundTripLoad_clicked(); - - void on_autoStopSceneCheckBox_stateChanged(int state); - void on_autoStopScenes_currentTextChanged(const QString &text); - - void on_sceneTransitions_currentRowChanged(int idx); - void on_transitionsAdd_clicked(); - void on_transitionsRemove_clicked(); - void on_defaultTransitions_currentRowChanged(int idx); - void on_defaultTransitionsAdd_clicked(); - void on_defaultTransitionsRemove_clicked(); - - void on_browseButton_clicked(); - void on_readFileCheckBox_stateChanged(int state); - void on_readPathLineEdit_textChanged(const QString & text); - void on_writePathLineEdit_textChanged(const QString & text); - void on_browseButton_2_clicked(); - - void on_executableAdd_clicked(); - void on_executableRemove_clicked(); - void on_executables_currentRowChanged(int idx); - - void on_idleCheckBox_stateChanged(int state); - void on_idleTransitions_currentTextChanged(const QString& text); - void on_idleScenes_currentTextChanged(const QString& text); - void on_idleSpinBox_valueChanged(int i); - void on_ignoreIdleWindows_currentRowChanged(int idx); - void on_ignoreIdleAdd_clicked(); - void on_ignoreIdleRemove_clicked(); - - void on_randomAdd_clicked(); - void on_randomRemove_clicked(); - void on_randomScenesList_currentRowChanged(int idx); - - void on_fileAdd_clicked(); - void on_fileRemove_clicked(); - void on_fileScenesList_currentRowChanged(int idx); - void on_browseButton_3_clicked(); - - void on_priorityUp_clicked(); - void on_priorityDown_clicked(); - - void updateScreenRegionCursorPos(); - - void on_close_clicked(); -}; - - -/******************************************************************************** - * Windowtitle helper - ********************************************************************************/ -void GetWindowList(std::vector &windows); -void GetCurrentWindowTitle(std::string &title); -bool isFullscreen(); - - -/******************************************************************************** - * Screenregion helper - ********************************************************************************/ -pair getCursorPos(); - - -/******************************************************************************** - * Idle detection helper - ********************************************************************************/ -int secondsSinceLastInput(); - - -/******************************************************************************** - * Executable helper - ********************************************************************************/ -void GetProcessList(QStringList &processes); -bool isInFocus(const QString &exeToCheck); - - -/******************************************************************************** - * Sceneswitch helper - ********************************************************************************/ -struct obs_weak_source; -typedef struct obs_weak_source obs_weak_source_t; - -obs_weak_source_t* getNextTransition(obs_weak_source_t* scene1, obs_weak_source_t* scene2); -void switchScene(OBSWeakSource& scene, OBSWeakSource& transition); - - -/******************************************************************************** - * Hotkey helper - ********************************************************************************/ - -#define TOGGLE_HOTKEY_PATH "hotkey_toggle.txt" -#define STOP_HOTKEY_PATH "hotkey_stop.txt" -#define START_HOTKEY_PATH "hotkey_start.txt" - -void stopHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); -void startHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); -void startStopToggleHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); -void loadKeybinding(obs_hotkey_id hotkeyId, string path); - - -/******************************************************************************** - * Main SwitcherData - ********************************************************************************/ -struct SwitcherData; -extern SwitcherData* switcher; diff --git a/src/headers/advanced-scene-switcher.hpp b/src/headers/advanced-scene-switcher.hpp index 4a9dd760..c47a86de 100644 --- a/src/headers/advanced-scene-switcher.hpp +++ b/src/headers/advanced-scene-switcher.hpp @@ -164,8 +164,15 @@ void switchScene(OBSWeakSource& scene, OBSWeakSource& transition); /******************************************************************************** * Hotkey helper ********************************************************************************/ -void startStopHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); -void loadKeybinding(obs_hotkey_id hotkeyId); + +#define TOGGLE_HOTKEY_PATH "hotkey_toggle.txt" +#define STOP_HOTKEY_PATH "hotkey_stop.txt" +#define START_HOTKEY_PATH "hotkey_start.txt" + +void stopHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); +void startHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); +void startStopToggleHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed); +void loadKeybinding(obs_hotkey_id hotkeyId, string path); /******************************************************************************** diff --git a/src/hotkey.cpp b/src/hotkey.cpp index 56985422..924eedbb 100644 --- a/src/hotkey.cpp +++ b/src/hotkey.cpp @@ -1,5 +1,5 @@ #include -#include "advanced-scene-switcher.hpp" +#include "headers/advanced-scene-switcher.hpp" void startHotkeyFunc(void* data, obs_hotkey_id id, obs_hotkey_t* hotkey, bool pressed) {