#ifndef ENTERTARGETLEVELDIALOG_H #define ENTERTARGETLEVELDIALOG_H #include #include #include namespace QtUtilities { class ChecklistModel; } namespace TagParser { class MediaFileInfo; enum class ContainerFormat : unsigned int; } // namespace TagParser namespace QtGui { namespace Ui { class EnterTargetDialog; } class EnterTargetDialog : public QDialog { Q_OBJECT Q_PROPERTY(TagParser::TagTarget target READ target WRITE setTarget) public: explicit EnterTargetDialog(QWidget *parent = nullptr); ~EnterTargetDialog() override; TagParser::TagTarget target() const; void setTarget(const TagParser::TagTarget &target, const TagParser::MediaFileInfo *file = nullptr); protected: bool event(QEvent *event) override; private Q_SLOTS: void updateLevelNamePlaceholderText(int i); void updateStyleSheet(); private: std::unique_ptr m_ui; QtUtilities::ChecklistModel *m_tracksModel; QtUtilities::ChecklistModel *m_chaptersModel; QtUtilities::ChecklistModel *m_editionsModel; QtUtilities::ChecklistModel *m_attachmentsModel; TagParser::ContainerFormat m_currentContainerFormat; }; } // namespace QtGui #endif // ENTERTARGETLEVELDIALOG_H