#pragma once #include #include namespace core { class ProjectWorkspace; } class QCheckBox; class QLineEdit; class QSpinBox; class AnimationSchemeSettingsDialog final : public QDialog { Q_OBJECT public: enum class Mode { Create, Edit }; AnimationSchemeSettingsDialog(Mode mode, core::ProjectWorkspace& workspace, QWidget* parent = nullptr); void setEditTarget(const QString& animationId); QString createdNewId() const { return m_createdNewId; } private: void accept() override; Mode m_mode = Mode::Create; core::ProjectWorkspace& m_workspace; QString m_editId; QString m_createdNewId; QLineEdit* m_name = nullptr; QSpinBox* m_frames = nullptr; QSpinBox* m_fps = nullptr; QCheckBox* m_loop = nullptr; };