Refactored PaneState management across the PaneWidget

This commit is contained in:
Nav
2022-08-08 22:26:32 +01:00
parent c88395b8eb
commit d59c4f92ba
10 changed files with 117 additions and 167 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include <QWidget>
#include <QEvent>
#include <optional>
#include "PanelWidget.hpp"
@@ -13,19 +14,14 @@ namespace Bloom::Widgets
Q_OBJECT
public:
bool activated = true;
bool attached = true;
PaneState& state;
PanelWidget* parentPanel = nullptr;
explicit PaneWidget(PanelWidget* parent);
[[nodiscard]] PaneState getCurrentState() const;
explicit PaneWidget(PaneState& state, PanelWidget* parent);
void activate();
void deactivate();
void restoreLastPaneState(const PaneState& lastPaneState);
signals:
void paneActivated();
void paneDeactivated();
@@ -36,11 +32,8 @@ namespace Bloom::Widgets
void detach();
void attach();
void resizeEvent(QResizeEvent* event) override;
void moveEvent(QMoveEvent* event) override;
void closeEvent(QCloseEvent* event) override;
private:
std::optional<DetachedWindowState> lastDetachedWindowState;
std::optional<DetachedWindowState> getDetachedWindowState() const;
};
}