#pragma once #include #include #include #include namespace Ui { class ImageEditorDialog; } class ImageEditorDialog : public QDialog { Q_OBJECT public: explicit ImageEditorDialog(const QPixmap &pixmap, const QString &title, QWidget *parent = nullptr); ~ImageEditorDialog(); const QPixmap &pixmap() const { return m_pixmap; } void accept() override; void reject() override; private slots: void changed(); private: void updateTitle(); const std::unique_ptr m_ui; QPixmap m_pixmap; const QString m_title; bool m_unsavedChanges{}; };