Persist collapse / expand state

This commit is contained in:
WarmUpTill
2021-07-17 23:56:32 +02:00
committed by WarmUpTill
parent 3fc82df278
commit fd789b476b
9 changed files with 66 additions and 31 deletions

View File

@@ -40,9 +40,8 @@ class MacroActionEdit : public QWidget {
public:
MacroActionEdit(QWidget *parent = nullptr,
std::shared_ptr<MacroAction> * = nullptr,
const std::string &id = "scene_switch",
bool startCollapsed = false);
void UpdateEntryData(const std::string &id, bool collapse);
const std::string &id = "scene_switch");
void UpdateEntryData(const std::string &id);
private slots:
void ActionSelectionChanged(const QString &text);
@@ -51,6 +50,7 @@ private slots:
void Remove();
void Up();
void Down();
void Collapsed(bool);
signals:
void MacroAdded(const QString &name);
void MacroRemoved(const QString &name);

View File

@@ -41,11 +41,10 @@ class MacroConditionEdit : public QWidget {
public:
MacroConditionEdit(QWidget *parent = nullptr,
std::shared_ptr<MacroCondition> * = nullptr,
const std::string &id = "scene", bool root = true,
bool startCollapsed = false);
const std::string &id = "scene", bool root = true);
bool IsRootNode();
void SetRootNode(bool);
void UpdateEntryData(const std::string &id, bool collapse);
void UpdateEntryData(const std::string &id);
private slots:
void LogicSelectionChanged(int idx);
@@ -58,6 +57,7 @@ private slots:
void Remove();
void Up();
void Down();
void Collapsed(bool);
signals:
void MacroAdded(const QString &name);
void MacroRemoved(const QString &name);

View File

@@ -40,9 +40,14 @@ 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;
protected:
int _idx;
bool _collapsed = false;
};
class MacroCondition : public MacroSegment {

View File

@@ -23,6 +23,8 @@ protected:
private slots:
void AnimationFinished();
void Collapse(bool collapse);
signals:
void Collapsed(bool);
private:
void SetupAnimations();