Clean up duplicate code

This commit is contained in:
WarmUpTill
2021-07-21 21:33:05 +02:00
committed by WarmUpTill
parent e2b3563810
commit 810235e0b7
6 changed files with 29 additions and 319 deletions

View File

@@ -1,14 +1,5 @@
#pragma once
#include "macro.hpp"
#include "section.hpp"
#include "macro-entry-controls.hpp"
#include <QWidget>
#include <QComboBox>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QLabel>
#include <deque>
struct MacroActionInfo {
using TCreateMethod = std::shared_ptr<MacroAction> (*)();
@@ -45,35 +36,12 @@ public:
private slots:
void ActionSelectionChanged(const QString &text);
void HeaderInfoChanged(const QString &);
void Add();
void Remove();
void Up();
void Down();
void Collapsed(bool);
signals:
void MacroAdded(const QString &name);
void MacroRemoved(const QString &name);
void MacroRenamed(const QString &oldName, const QString newName);
void SceneGroupAdded(const QString &name);
void SceneGroupRemoved(const QString &name);
void SceneGroupRenamed(const QString &oldName, const QString newName);
void AddAt(int idx);
void RemoveAt(int idx);
void UpAt(int idx);
void DownAt(int idx);
protected:
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
QComboBox *_actionSelection;
Section *_section;
QLabel *_headerInfo;
MacroEntryControls *_controls;
std::shared_ptr<MacroAction> *_entryData;
private:
MacroSegment *Data();
QComboBox *_actionSelection;
std::shared_ptr<MacroAction> *_entryData;
bool _loading = true;
};

View File

@@ -1,13 +1,5 @@
#pragma once
#include "advanced-scene-switcher.hpp"
#include "macro.hpp"
#include "macro-condition-scene.hpp"
#include "section.hpp"
#include "macro-entry-controls.hpp"
#include "utility.hpp"
#include <QGroupBox>
struct MacroConditionInfo {
using TCreateMethod = std::shared_ptr<MacroCondition> (*)();
@@ -52,38 +44,15 @@ private slots:
void DurationChanged(double seconds);
void DurationConditionChanged(DurationCondition cond);
void DurationUnitChanged(DurationUnit unit);
void HeaderInfoChanged(const QString &);
void Add();
void Remove();
void Up();
void Down();
void Collapsed(bool);
signals:
void MacroAdded(const QString &name);
void MacroRemoved(const QString &name);
void MacroRenamed(const QString &oldName, const QString newName);
void SceneGroupAdded(const QString &name);
void SceneGroupRemoved(const QString &name);
void SceneGroupRenamed(const QString &oldName, const QString newName);
void AddAt(int idx);
void RemoveAt(int idx);
void UpAt(int idx);
void DownAt(int idx);
protected:
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
private:
MacroSegment *Data();
QComboBox *_logicSelection;
QComboBox *_conditionSelection;
Section *_section;
QLabel *_headerInfo;
DurationConstraintEdit *_dur;
MacroEntryControls *_controls;
std::shared_ptr<MacroCondition> *_entryData;
private:
bool _isRoot = true;
bool _loading = true;
};

View File

@@ -1,4 +1,5 @@
#pragma once
#include "macro-segment.hpp"
#include "duration-control.hpp"
#include <string>
@@ -36,22 +37,6 @@ struct LogicTypeInfo {
std::string _name;
};
class MacroSegment {
public:
void SetIndex(int idx) { _idx = idx; }
int GetIndex() { return _idx; }
void SetCollapsed(bool collapsed) { _collapsed = collapsed; }
bool GetCollapsed() { return _collapsed; }
virtual bool Save(obs_data_t *obj) = 0;
virtual bool Load(obs_data_t *obj) = 0;
virtual std::string GetShortDesc();
virtual std::string GetId() = 0;
protected:
int _idx;
bool _collapsed = false;
};
class MacroCondition : public MacroSegment {
public:
virtual bool CheckCondition() = 0;
@@ -159,23 +144,3 @@ public:
void ResolveMacroRef();
MacroRef _macro;
};
// TODO: Rework macro condition and action edit to allow moving control
// handling to MacroSegmentEdit
class MacroSegmentEdit : public QWidget {
Q_OBJECT
public:
MacroSegmentEdit(QWidget *parent = nullptr);
// Use this function to avoid accidental edits when scrolling through
// list of actions and conditions
void SetFocusPolicyOfWidgets();
};
class MouseWheelWidgetAdjustmentGuard : public QObject {
public:
explicit MouseWheelWidgetAdjustmentGuard(QObject *parent);
protected:
bool eventFilter(QObject *o, QEvent *e) override;
};