Add additional settings dialog to macro tab

This settings dialog currently contains debug features to highlight
recently executed macros, actions and conditions.
This commit is contained in:
WarmUpTill
2022-03-08 22:00:32 +01:00
committed by WarmUpTill
parent 69d6d63dfd
commit 71b6ae4d78
13 changed files with 167 additions and 54 deletions

View File

@@ -93,6 +93,8 @@ signals:
void MacroRemoved(const QString &name);
void MacroRenamed(const QString &oldName, const QString newName);
void HighlightMacrosChanged(bool value);
void HighlightActionsChanged(bool value);
void HighlightConditionsChanged(bool value);
void SceneGroupAdded(const QString &name);
void SceneGroupRemoved(const QString &name);
void SceneGroupRenamed(const QString &oldName, const QString newName);
@@ -161,6 +163,7 @@ public slots:
void HighlightControls();
void MacroDragDropReorder(QModelIndex, int, int, QModelIndex, int);
void HighlightOnChange();
void on_macroProperties_clicked();
void on_screenRegionSwitches_currentRowChanged(int idx);
void on_showFrame_clicked();
@@ -191,7 +194,6 @@ public slots:
void on_saveWindowGeo_stateChanged(int state);
void on_showTrayNotifications_stateChanged(int state);
void on_uiHintsDisable_stateChanged(int state);
void on_highlightExecutedMacros_stateChanged(int state);
void on_hideLegacyTabs_stateChanged(int state);
void on_exportSettings_clicked();

View File

@@ -0,0 +1,29 @@
#pragma once
#include <QWidget>
#include <QDialog>
#include <QCheckBox>
#include <obs-data.h>
class MacroProperties {
public:
void Save(obs_data_t *obj);
void Load(obs_data_t *obj);
bool _highlightExecuted = false;
bool _highlightConditions = false;
bool _highlightActions = false;
};
class MacroPropertiesDialog : public QDialog {
Q_OBJECT
public:
MacroPropertiesDialog(QWidget *parent, const MacroProperties &);
static bool AskForSettings(QWidget *parent, MacroProperties &userInput);
private:
QCheckBox *_executed;
QCheckBox *_conditions;
QCheckBox *_actions;
};

View File

@@ -26,6 +26,7 @@
#include "switch-network.hpp"
#include "macro.hpp"
#include "macro-properties.hpp"
#include "duration-control.hpp"
constexpr auto default_interval = 300;
@@ -88,7 +89,6 @@ struct SwitcherData {
bool verbose = false;
bool disableHints = false;
bool hideLegacyTabs = false;
bool highlightExecutedMacros = false;
bool showSystemTrayNotifications = false;
bool showFrame = false;
bool transitionOverrideOverride = false;
@@ -121,6 +121,7 @@ struct SwitcherData {
Duration cooldown;
std::chrono::high_resolution_clock::time_point lastMatchTime;
MacroProperties macroProperties;
std::deque<std::shared_ptr<Macro>> macros;
std::condition_variable macroWaitCv;
std::atomic_bool abortMacroWait = {false};