#pragma once #include #include #include #include namespace Ui { class EditSpriteDialog; } struct Sprite; class SpritesModel; class EditSpriteDialog : public QDialog { Q_OBJECT public: explicit EditSpriteDialog(const std::vector &pixmaps, const QString &spriteName, QWidget *parent = nullptr); ~EditSpriteDialog(); void accept() override; void reject() override; const std::vector &pixmaps() const { return m_pixmaps; } private slots: void newSprite(); void doubleClicked(const QModelIndex &index); void changed(); private: void updateTitle(); const std::unique_ptr m_ui; std::vector m_pixmaps; const QString m_spriteName; bool m_unsavedChanges{}; const std::unique_ptr m_model; };